From 6ca4e152c60445ec28b327067d31aad594bb498e Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Mon, 29 Apr 2024 10:34:59 -0400 Subject: [PATCH 01/13] Moving ./upstream to v5.47.0 --- upstream | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/upstream b/upstream index 83da3512474..68dd5796073 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 83da35124745114253464cb974e6e257b4322011 +Subproject commit 68dd57960739ef6f85322085463ffa51fd87a57f From 2af96e16eaa425388bdee8b916dc921734059ffb Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Mon, 29 Apr 2024 10:35:04 -0400 Subject: [PATCH 02/13] Update patches --- ...ix-tags_all-Computed-for-PF-resources.patch | 2 +- patches/0038-Restore-legacy-bucket.patch | 18 +++++++++--------- patches/0048-restore-ECRConn.patch | 6 +++--- ...-aws_directory_service_directory-Read.patch | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/patches/0035-Fix-tags_all-Computed-for-PF-resources.patch b/patches/0035-Fix-tags_all-Computed-for-PF-resources.patch index d59fc456687..53d2b90f245 100644 --- a/patches/0035-Fix-tags_all-Computed-for-PF-resources.patch +++ b/patches/0035-Fix-tags_all-Computed-for-PF-resources.patch @@ -18,7 +18,7 @@ index ec150135d2..4daad4c761 100644 Blocks: map[string]schema.Block{ "destination": schema.ListNestedBlock{ diff --git a/internal/service/bedrock/custom_model.go b/internal/service/bedrock/custom_model.go -index 456bce8a23..aa60b56eef 100644 +index 88557aa20f..4d01c25a06 100644 --- a/internal/service/bedrock/custom_model.go +++ b/internal/service/bedrock/custom_model.go @@ -137,7 +137,7 @@ func (r *customModelResource) Schema(ctx context.Context, request resource.Schem diff --git a/patches/0038-Restore-legacy-bucket.patch b/patches/0038-Restore-legacy-bucket.patch index fcf1ae72961..8c0843e8c64 100644 --- a/patches/0038-Restore-legacy-bucket.patch +++ b/patches/0038-Restore-legacy-bucket.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Restore legacy bucket diff --git a/go.mod b/go.mod -index d4d76cb500..a6023aa389 100644 +index 770b342010..517d169c0f 100644 --- a/go.mod +++ b/go.mod -@@ -173,6 +173,7 @@ require ( +@@ -177,6 +177,7 @@ require ( github.com/gertd/go-pluralize v0.2.1 github.com/google/go-cmp v0.6.0 github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.22.0 @@ -17,7 +17,7 @@ index d4d76cb500..a6023aa389 100644 github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.53 github.com/hashicorp/awspolicyequivalence v1.6.0 diff --git a/go.sum b/go.sum -index ede201cce0..a71c39177f 100644 +index e50e4b4f2a..fc45774b37 100644 --- a/go.sum +++ b/go.sum @@ -22,6 +22,7 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew @@ -25,10 +25,10 @@ index ede201cce0..a71c39177f 100644 github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= - github.com/aws/aws-sdk-go v1.51.23 h1:/3TEdsEE/aHmdKGw2NrOp7Sdea76zfffGkTTSXTsDxY= - github.com/aws/aws-sdk-go v1.51.23/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= + github.com/aws/aws-sdk-go v1.51.28 h1:x3CV5xjnL4EbVLaPXulBOxqiq2dkc9o6+50xxT3tvXY= + github.com/aws/aws-sdk-go v1.51.28/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= github.com/aws/aws-sdk-go-v2 v1.26.1 h1:5554eUqIYVWpU0YmeeYZ0wU64H2VLBs8TlhRB2L+EkA= -@@ -409,6 +410,7 @@ github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +@@ -417,6 +418,7 @@ github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= @@ -36,7 +36,7 @@ index ede201cce0..a71c39177f 100644 github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg= github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -@@ -428,6 +430,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +@@ -436,6 +438,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.22.0 h1:N2V/ooY+BPQwwN3qPRIztByR8mWN6IqgULqVzGoUlog= github.com/hashicorp/aws-cloudformation-resource-schema-sdk-go v0.22.0/go.mod h1:HAmscHyzSOfB1Dr16KLc177KNbn83wscnZC+N7WyaM8= @@ -45,7 +45,7 @@ index ede201cce0..a71c39177f 100644 github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.52 h1:bKvTdvF3jNgDt4rHDk55BxYnyofFVJhXHMj+RBRUmc0= github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.52/go.mod h1:YlwqmXqrK6MNTtW1cCjPFkoc3plCT939B+Yjmq+/DBc= github.com/hashicorp/aws-sdk-go-base/v2/awsv1shim/v2 v2.0.0-beta.53 h1:hrcewXLBw48wZc6fe7blETM94eTwzTouQ4zWqQvjVwU= -@@ -503,6 +507,7 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i +@@ -511,6 +515,7 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= @@ -53,7 +53,7 @@ index ede201cce0..a71c39177f 100644 github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -@@ -615,6 +620,7 @@ golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= +@@ -623,6 +628,7 @@ golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= diff --git a/patches/0048-restore-ECRConn.patch b/patches/0048-restore-ECRConn.patch index 85b5af690b1..730228c59a9 100644 --- a/patches/0048-restore-ECRConn.patch +++ b/patches/0048-restore-ECRConn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] restore ECRConn diff --git a/internal/conns/awsclient_gen.go b/internal/conns/awsclient_gen.go -index ad4fe435f1..63c7c7674f 100644 +index 95f0190ef8..c8b5ca1be5 100644 --- a/internal/conns/awsclient_gen.go +++ b/internal/conns/awsclient_gen.go -@@ -184,6 +184,7 @@ import ( +@@ -186,6 +186,7 @@ import ( docdb_sdkv1 "github.com/aws/aws-sdk-go/service/docdb" dynamodb_sdkv1 "github.com/aws/aws-sdk-go/service/dynamodb" ec2_sdkv1 "github.com/aws/aws-sdk-go/service/ec2" @@ -16,7 +16,7 @@ index ad4fe435f1..63c7c7674f 100644 ecs_sdkv1 "github.com/aws/aws-sdk-go/service/ecs" efs_sdkv1 "github.com/aws/aws-sdk-go/service/efs" elasticache_sdkv1 "github.com/aws/aws-sdk-go/service/elasticache" -@@ -590,6 +591,10 @@ func (c *AWSClient) EC2Client(ctx context.Context) *ec2_sdkv2.Client { +@@ -591,6 +592,10 @@ func (c *AWSClient) EC2Client(ctx context.Context) *ec2_sdkv2.Client { return errs.Must(client[*ec2_sdkv2.Client](ctx, c, names.EC2, make(map[string]any))) } diff --git a/patches/0055-Fix-panic-in-aws_directory_service_directory-Read.patch b/patches/0055-Fix-panic-in-aws_directory_service_directory-Read.patch index e7fb14399a3..cf438002273 100644 --- a/patches/0055-Fix-panic-in-aws_directory_service_directory-Read.patch +++ b/patches/0055-Fix-panic-in-aws_directory_service_directory-Read.patch @@ -45,7 +45,7 @@ index 33252ddb7d..9d283612cb 100644 d.Set("size", dir.Size) diff --git a/internal/service/ds/directory_internal_test.go b/internal/service/ds/directory_internal_test.go new file mode 100644 -index 0000000000..3651319f90 +index 0000000000..91a06d96b5 --- /dev/null +++ b/internal/service/ds/directory_internal_test.go @@ -0,0 +1,22 @@ From 77e933d113c42f05acb59f6ddc8e761760fb2842 Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Mon, 29 Apr 2024 10:35:20 -0400 Subject: [PATCH 03/13] Add helper scripts to facilitate git-based patch rebasing --- scripts/upgrade_upstream.sh | 13 +++++++++++++ scripts/upgrade_upstream_done.sh | 25 +++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100755 scripts/upgrade_upstream.sh create mode 100755 scripts/upgrade_upstream_done.sh diff --git a/scripts/upgrade_upstream.sh b/scripts/upgrade_upstream.sh new file mode 100755 index 00000000000..0def9fc060d --- /dev/null +++ b/scripts/upgrade_upstream.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +set -euo pipefail + +: "${NEW_VERSION?Need to set NEW_VERSION, example: 'v5.47.0'}" + +# After this command ./upstream will be on pulumi-patch branch with every patch as commit. +make upstream.rebase + +# Now it is possible to use Git tools to rebase the patches-as-commits onto a new version. +(cd upstream && git rebase --onto "$NEW_VERSION" local pulumi-patch) + +echo "Please finish Git rebase of ./upstream and call ./scripts/upgrade_upstream_done.sh" diff --git a/scripts/upgrade_upstream_done.sh b/scripts/upgrade_upstream_done.sh new file mode 100755 index 00000000000..a798b5ebc0e --- /dev/null +++ b/scripts/upgrade_upstream_done.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +set -euo pipefail + +: "${NEW_VERSION?Need to set NEW_VERSION, example: 'v5.40.0'}" + +cd upstream + +# Now upstream will be moving +git checkout local +git reset --hard "$NEW_VERSION" +cd .. + +git branch "upstream-${NEW_VERSION}" +git checkout "upstream-${NEW_VERSION}" +git add ./upstream +git commit -m "Moving ./upstream to $NEW_VERSION" +cd upstream +git checkout pulumi-patch +cd .. + +# Convert ./upstream local..pulumi-patch diff back to patch files under ./patches +make upstream.finalize +git add ./patches +git commit -m 'Update patches' From 8c0efc4558b77941829e3fe5a2a94a7dcd9827dc Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Mon, 29 Apr 2024 10:38:44 -0400 Subject: [PATCH 04/13] Helpers to run go mod tidy --- scripts/tidy-all.sh | 5 +++++ scripts/tidy.sh | 6 ++++++ 2 files changed, 11 insertions(+) create mode 100755 scripts/tidy-all.sh create mode 100755 scripts/tidy.sh diff --git a/scripts/tidy-all.sh b/scripts/tidy-all.sh new file mode 100755 index 00000000000..adeb26da035 --- /dev/null +++ b/scripts/tidy-all.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -euo pipefail + +git ls-files '**go.mod' | xargs -L 1 ./scripts/tidy.sh diff --git a/scripts/tidy.sh b/scripts/tidy.sh new file mode 100755 index 00000000000..ca5dc903b79 --- /dev/null +++ b/scripts/tidy.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -euo pipefail + +gomod="$1" +(cd $(dirname "$gomod") && go mod tidy) From e15fb385d7032068b8b68c5c7a3965a03af12adc Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Mon, 29 Apr 2024 10:39:00 -0400 Subject: [PATCH 05/13] ./scripts/tidy-all.sh --- examples/go.mod | 44 ++++++++++++++----------- examples/go.sum | 80 ++++++++++++++++++++++++-------------------- provider/go.mod | 48 +++++++++++++++------------ provider/go.sum | 88 +++++++++++++++++++++++++++---------------------- 4 files changed, 144 insertions(+), 116 deletions(-) diff --git a/examples/go.mod b/examples/go.mod index a10704318e0..dfa459610ee 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -1,9 +1,11 @@ module github.com/pulumi/pulumi-aws/examples/v6 -go 1.21.0 +go 1.22.0 + +toolchain go1.22.2 require ( - github.com/aws/aws-sdk-go v1.51.23 + github.com/aws/aws-sdk-go v1.51.28 github.com/pulumi/providertest v0.0.11 github.com/pulumi/pulumi-aws/provider/v6 v6.0.0-00010101000000-000000000000 github.com/pulumi/pulumi-terraform-bridge/pf v0.34.0 @@ -73,15 +75,16 @@ require ( github.com/aws/aws-sdk-go-v2/service/appconfig v1.29.2 // indirect github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.4 // indirect github.com/aws/aws-sdk-go-v2/service/appflow v1.41.4 // indirect + github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.4 // indirect github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.4 // indirect github.com/aws/aws-sdk-go-v2/service/athena v1.40.4 // indirect github.com/aws/aws-sdk-go-v2/service/auditmanager v1.32.4 // indirect github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.5 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.4 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.5 // indirect github.com/aws/aws-sdk-go-v2/service/batch v1.37.0 // indirect github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.4 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrock v1.7.7 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.6.0 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.0 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.8.0 // indirect github.com/aws/aws-sdk-go-v2/service/budgets v1.22.4 // indirect github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.5 // indirect github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.14.4 // indirect @@ -112,17 +115,17 @@ require ( github.com/aws/aws-sdk-go-v2/service/connectcases v1.15.4 // indirect github.com/aws/aws-sdk-go-v2/service/controltower v1.13.5 // indirect github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.4 // indirect - github.com/aws/aws-sdk-go-v2/service/costexplorer v1.37.1 // indirect + github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.0 // indirect github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.4 // indirect github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.4 // indirect - github.com/aws/aws-sdk-go-v2/service/datasync v1.36.4 // indirect + github.com/aws/aws-sdk-go-v2/service/datasync v1.37.0 // indirect github.com/aws/aws-sdk-go-v2/service/datazone v1.8.0 // indirect github.com/aws/aws-sdk-go-v2/service/dax v1.19.4 // indirect github.com/aws/aws-sdk-go-v2/service/devopsguru v1.30.4 // indirect github.com/aws/aws-sdk-go-v2/service/directoryservice v1.24.4 // indirect github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.3 // indirect github.com/aws/aws-sdk-go-v2/service/dynamodb v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.157.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.159.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecr v1.27.4 // indirect github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.4 // indirect github.com/aws/aws-sdk-go-v2/service/ecs v1.41.7 // indirect @@ -131,7 +134,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.23.4 // indirect github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.30.5 // indirect github.com/aws/aws-sdk-go-v2/service/emr v1.39.5 // indirect - github.com/aws/aws-sdk-go-v2/service/emrserverless v1.18.0 // indirect + github.com/aws/aws-sdk-go-v2/service/emrserverless v1.19.0 // indirect github.com/aws/aws-sdk-go-v2/service/eventbridge v1.30.4 // indirect github.com/aws/aws-sdk-go-v2/service/evidently v1.19.4 // indirect github.com/aws/aws-sdk-go-v2/service/finspace v1.24.1 // indirect @@ -139,6 +142,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/fis v1.24.2 // indirect github.com/aws/aws-sdk-go-v2/service/fms v1.31.4 // indirect github.com/aws/aws-sdk-go-v2/service/glacier v1.22.4 // indirect + github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.23.1 // indirect github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.0 // indirect github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.0 // indirect github.com/aws/aws-sdk-go-v2/service/iam v1.32.0 // indirect @@ -149,7 +153,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.6 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.13.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.0 // indirect github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.5 // indirect github.com/aws/aws-sdk-go-v2/service/kafka v1.31.3 // indirect github.com/aws/aws-sdk-go-v2/service/kendra v1.50.1 // indirect @@ -175,7 +179,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/oam v1.10.1 // indirect github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.4 // indirect github.com/aws/aws-sdk-go-v2/service/osis v1.8.4 // indirect - github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.9.4 // indirect + github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.0 // indirect github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.4 // indirect github.com/aws/aws-sdk-go-v2/service/pipes v1.11.4 // indirect github.com/aws/aws-sdk-go-v2/service/polly v1.39.6 // indirect @@ -183,18 +187,19 @@ require ( github.com/aws/aws-sdk-go-v2/service/qbusiness v1.5.0 // indirect github.com/aws/aws-sdk-go-v2/service/qldb v1.21.4 // indirect github.com/aws/aws-sdk-go-v2/service/rbin v1.16.4 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.77.1 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.77.2 // indirect github.com/aws/aws-sdk-go-v2/service/redshift v1.44.0 // indirect github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.4 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.17.4 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.17.5 // indirect github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.0 // indirect github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.5 // indirect github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.0 // indirect github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.4 // indirect - github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.10.0 // indirect + github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.0 // indirect github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.4 // indirect + github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.0 // indirect github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1 // indirect - github.com/aws/aws-sdk-go-v2/service/s3control v1.44.5 // indirect + github.com/aws/aws-sdk-go-v2/service/s3control v1.44.6 // indirect github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.4 // indirect github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.28.6 // indirect github.com/aws/aws-sdk-go-v2/service/securityhub v1.47.2 // indirect @@ -206,7 +211,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/signer v1.22.6 // indirect github.com/aws/aws-sdk-go-v2/service/sns v1.29.4 // indirect github.com/aws/aws-sdk-go-v2/service/sqs v1.31.4 // indirect - github.com/aws/aws-sdk-go-v2/service/ssm v1.49.5 // indirect + github.com/aws/aws-sdk-go-v2/service/ssm v1.50.0 // indirect github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.4 // indirect github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.4 // indirect github.com/aws/aws-sdk-go-v2/service/ssmsap v1.12.4 // indirect @@ -218,16 +223,17 @@ require ( github.com/aws/aws-sdk-go-v2/service/synthetics v1.24.4 // indirect github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.5 // indirect github.com/aws/aws-sdk-go-v2/service/transcribe v1.36.4 // indirect - github.com/aws/aws-sdk-go-v2/service/transfer v1.46.0 // indirect + github.com/aws/aws-sdk-go-v2/service/transfer v1.47.0 // indirect github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.13.1 // indirect github.com/aws/aws-sdk-go-v2/service/vpclattice v1.7.5 // indirect github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.0 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.38.4 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.0 // indirect github.com/aws/aws-sdk-go-v2/service/xray v1.25.4 // indirect github.com/aws/smithy-go v1.20.2 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/beevik/etree v1.3.0 // indirect github.com/blang/semver v3.5.1+incompatible // indirect + github.com/cedar-policy/cedar-go v0.0.0-20240318205125-470d1fe984bb // indirect github.com/cenkalti/backoff/v3 v3.2.2 // indirect github.com/charmbracelet/bubbles v0.16.1 // indirect github.com/charmbracelet/bubbletea v0.24.2 // indirect @@ -390,7 +396,7 @@ require ( gocloud.dev v0.37.0 // indirect gocloud.dev/secrets/hashivault v0.27.0 // indirect golang.org/x/crypto v0.22.0 // indirect - golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect + golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect golang.org/x/mod v0.15.0 // indirect golang.org/x/net v0.24.0 // indirect golang.org/x/oauth2 v0.18.0 // indirect diff --git a/examples/go.sum b/examples/go.sum index fe56baf50d8..223a23f19fc 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -1362,8 +1362,8 @@ github.com/aws/aws-sdk-go v1.43.11/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4 github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.45/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.68/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go v1.51.23 h1:/3TEdsEE/aHmdKGw2NrOp7Sdea76zfffGkTTSXTsDxY= -github.com/aws/aws-sdk-go v1.51.23/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/aws/aws-sdk-go v1.51.28 h1:x3CV5xjnL4EbVLaPXulBOxqiq2dkc9o6+50xxT3tvXY= +github.com/aws/aws-sdk-go v1.51.28/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= github.com/aws/aws-sdk-go-v2 v1.26.1 h1:5554eUqIYVWpU0YmeeYZ0wU64H2VLBs8TlhRB2L+EkA= @@ -1417,6 +1417,8 @@ github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.4 h1:xQyow1kdXLj4kcU9ja1MyZS github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.4/go.mod h1:lc5I/jQCLi4eU5RsIe6P+0h/tva09lVpQP17+IpW61w= github.com/aws/aws-sdk-go-v2/service/appflow v1.41.4 h1:ARn6qYIxhMRnatsonKQ4y3Wgv9YDjiCIURsPtiuCgIM= github.com/aws/aws-sdk-go-v2/service/appflow v1.41.4/go.mod h1:EGStqkGOjo1Mm1IMelC8W3BPq6n3Qiw+aUCgYTwjV/o= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.4 h1:B2DOglYz+zxaSrOfOTCX7bFp9J6LqvyIA25rpwYqOeQ= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.4/go.mod h1:tvRY6xn3fG25GW4n1W76MqTViTTzVfCXKmURxXloT9o= github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.4 h1:WPPJVRvjvIHeFEqDyjX5yUocKOBAqDOJpvHIaN+LY30= github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.4/go.mod h1:HBEDVCiXAhDxrCJ8meNd1ao+PSQkkB02RfXaEuwyp6U= github.com/aws/aws-sdk-go-v2/service/athena v1.40.4 h1:tiHIjFXSyb5DbNfnu3ql2r86s6llLdzwWAVJkPgw/I0= @@ -1425,16 +1427,16 @@ github.com/aws/aws-sdk-go-v2/service/auditmanager v1.32.4 h1:45+KYpnG8ZKoqLkQSIg github.com/aws/aws-sdk-go-v2/service/auditmanager v1.32.4/go.mod h1:WHURzIps29VZSUz9jxpGeShOhGuf/SqQmNJLs3Ytfns= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.5 h1:vhdJymxlWS2qftzLiuCjSswjXBRLGfzo/BEE9LDveBA= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.5/go.mod h1:ZErgk/bPaaZIpj+lUWGlwI1A0UFhSIscgnCPzTLnb2s= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.4 h1:LIQN+2GGZHwWksR6cVQtEF7xdLZUEsmUqy+4fStrZcE= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.4/go.mod h1:5orNWB4auLR1UJ6MUrRpAwne7uZ84Y6cq/0sB6F6LA4= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.5 h1:Wy39+Mw1tByk2tkq5li1pHW/Qh0FyFotpHC2mbj9w5Q= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.5/go.mod h1:5orNWB4auLR1UJ6MUrRpAwne7uZ84Y6cq/0sB6F6LA4= github.com/aws/aws-sdk-go-v2/service/batch v1.37.0 h1:KsCQLOMecKTAIznlGCz5Lupddk1nc3E2XXlt63+8l54= github.com/aws/aws-sdk-go-v2/service/batch v1.37.0/go.mod h1:JuPGVm7DzXD73vZBQsZwlDzoJeZewN08swLBGiU47K8= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.4 h1:WJEEIYSDCqNeG/q0OU99AovoS2lHTwyV+yYoQcwI+i8= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.4/go.mod h1:QdNvYtC3DYswfkhnlWXa0Oib+8jugRL/a+5Nbhw4v/g= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.7.7 h1:3omHt2KuI7K58mb2r3BwKPF0ph0MOXZZ48XIthXhHcI= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.7.7/go.mod h1:/D6V245MG0yEqSULoBf/zLdQk8lmsMZXR3d/vc2mOdo= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.6.0 h1:TUV3Ih0U+1EaNH8I3OjQl15iOSR94QyXBBELZt2izlk= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.6.0/go.mod h1:6CwV+GE3wrFqkrU2LB8cajHMWJn7jFFhRtxBQiOZ5kw= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.0 h1:T3fEqHePREPko9+jRek0cuyyfEjT/OLz3PhT+WW9qdY= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.0/go.mod h1:/D6V245MG0yEqSULoBf/zLdQk8lmsMZXR3d/vc2mOdo= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.8.0 h1:CWprual/fBYNa9Mvf8rlNC8MoiCVpN1oUQ6/8sQcHzk= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.8.0/go.mod h1:6CwV+GE3wrFqkrU2LB8cajHMWJn7jFFhRtxBQiOZ5kw= github.com/aws/aws-sdk-go-v2/service/budgets v1.22.4 h1:sVv+p2Wo+sUXa8dC1pCMJ/+9ncOriq8EiRWvAkOuaLY= github.com/aws/aws-sdk-go-v2/service/budgets v1.22.4/go.mod h1:JFS3MaNoisHXHQm5/xRQjj1tICixIgT8Vv32D0lV5NE= github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.5 h1:FgeK3aPbB/ARkhxUXfSn9d2ibb4Q9kUhHl/dWwqIy8Y= @@ -1495,14 +1497,14 @@ github.com/aws/aws-sdk-go-v2/service/controltower v1.13.5 h1:paF2yipmLzmX9ugZqKN github.com/aws/aws-sdk-go-v2/service/controltower v1.13.5/go.mod h1:qwJIgEG0ASp7utTqwiagEW0LOE6AFsNzQL1oOWRsydU= github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.4 h1:MDEvMVWZZetTacemmH+Z7ScvQkOKxqkEQfFROo//G18= github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.4/go.mod h1:DSbQUgLN9rHicCWE2Wuu7yRNHT3oQvnOiPk3LAGZe9I= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.37.1 h1:xjhk+io+kPtDOG5RizvHlkGKET3dxRBzorLdPPkpZQc= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.37.1/go.mod h1:uLOg0o57AyQQhZGtUKIlcBJOKE53mO9bXKyrM9dFhy4= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.0 h1:0q4pClt2ckd6awhQYEysexryCmA7q2HMI0O5dBrA5B8= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.0/go.mod h1:uLOg0o57AyQQhZGtUKIlcBJOKE53mO9bXKyrM9dFhy4= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.4 h1:gSO6kMlH4cXxBmZwTA1qngTVxt8Och7irFtNGrxIUEg= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.4/go.mod h1:UkyRWEyu3iT7oPmPri8xwPnKXqJQzSUDK9MOKq7xyZE= github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.4 h1:UBo3t3uliQIP3f8duZhmJ1Z62bz/j5o7LH8f/BTt1mU= github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.4/go.mod h1:NGHeOPrlK475HqycL4V02Ubc67Wm+D09Xh4pO6g2c8g= -github.com/aws/aws-sdk-go-v2/service/datasync v1.36.4 h1:B5avI4R+VxroaKOgZGLQW9yBj0qOHssVi+jJqSCOwEw= -github.com/aws/aws-sdk-go-v2/service/datasync v1.36.4/go.mod h1:AT/X92EowfcC8JIqYweBLUN9js/BcHwzAYC5XwWtaYk= +github.com/aws/aws-sdk-go-v2/service/datasync v1.37.0 h1:0oSuFr5up09l5fscqlDCfVUR1mRK8NyUbgd3Sv+N3Rw= +github.com/aws/aws-sdk-go-v2/service/datasync v1.37.0/go.mod h1:AT/X92EowfcC8JIqYweBLUN9js/BcHwzAYC5XwWtaYk= github.com/aws/aws-sdk-go-v2/service/datazone v1.8.0 h1:wJ4bVNXoSTJIMfxgebI32qbxEVLqGVdGCC2f/yyvNxs= github.com/aws/aws-sdk-go-v2/service/datazone v1.8.0/go.mod h1:6UUbvwSg1ADRoK5rYXGDWjwzSyy8mElzIhVSqCXwNYE= github.com/aws/aws-sdk-go-v2/service/dax v1.19.4 h1:S3mvtYjRVVsg1R4EuV1LWZUiD72t+pfnBbK8TL7zEmo= @@ -1515,8 +1517,8 @@ github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.3 h1:HihsSNvSKUYna0rE7OAc github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.3/go.mod h1:AOiF0FGcVHJuV3KEdgesNC1UWhDgfZYpqcY6qppdPo4= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.31.1 h1:dZXY07Dm59TxAjJcUfNMJHLDI/gLMxTRZefn2jFAVsw= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.31.1/go.mod h1:lVLqEtX+ezgtfalyJs7Peb0uv9dEpAQP5yuq2O26R44= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.157.0 h1:BCNvChkZM4xqssztw+rFllaDnoS4Hm6bZ20XBj8RsI0= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.157.0/go.mod h1:xejKuuRDjz6z5OqyeLsz01MlOqqW7CqpAB4PabNvpu8= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.159.0 h1:DmmVmiLPlcntOcjWMRwDPMNx/wi2kAVrf2ZmSN5gkAg= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.159.0/go.mod h1:xejKuuRDjz6z5OqyeLsz01MlOqqW7CqpAB4PabNvpu8= github.com/aws/aws-sdk-go-v2/service/ecr v1.27.4 h1:Qr9W21mzWT3RhfYn9iAux7CeRIdbnTAqmiOlASqQgZI= github.com/aws/aws-sdk-go-v2/service/ecr v1.27.4/go.mod h1:if7ybzzjOmDB8pat9FE35AHTY6ZxlYSy3YviSmFZv8c= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.4 h1:aNuiieMaS2IHxqAsTdM/pjHyY1aoaDLBGLqpNnFMMqk= @@ -1533,8 +1535,8 @@ github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.30.5 h1:/x2u/TOx+ github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.30.5/go.mod h1:e1McVqsud0JOERidvppLEHnuCdh/X6MRyL5L0LseAUk= github.com/aws/aws-sdk-go-v2/service/emr v1.39.5 h1:ni+E9GfbQ8CzjYSlJ+WbNYX7SAsLiTWH0OMNiG9XprM= github.com/aws/aws-sdk-go-v2/service/emr v1.39.5/go.mod h1:7WusX+O5pwTnx2yobUO/P1C5HlBibmrQb5gKEPFjTYM= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.18.0 h1:kmGNN309RZDADHT5II3AwgR+nQBjR6YmGD9MxWhLJ0c= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.18.0/go.mod h1:TZrahLcSXIN/kO96kvxUzfLNLH8E6t3xodv8Zv5DHGs= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.19.0 h1:pahvDMOunlMdsWbAXJI+TspKLuW5/t4AWNnkfeLa+0c= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.19.0/go.mod h1:TZrahLcSXIN/kO96kvxUzfLNLH8E6t3xodv8Zv5DHGs= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.30.4 h1:Vz4ilZcVXCR9yatX5yfMrkBldYggtkih3h7woHvzu5Q= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.30.4/go.mod h1:aIINXlt2xXhMeRsyCsLDUDohI8AdDm92gY9nIB6pv0M= github.com/aws/aws-sdk-go-v2/service/evidently v1.19.4 h1:DcRQTdvIQs+v+rQJ598v7WmgLSsla9C90mY4J+rccrU= @@ -1549,6 +1551,8 @@ github.com/aws/aws-sdk-go-v2/service/fms v1.31.4 h1:gY+Dp2QdphY6m5IVkETmsNauYztd github.com/aws/aws-sdk-go-v2/service/fms v1.31.4/go.mod h1:X4DjA4sm8cobhR9DtHn947+dLYxU1oWq3zwRZUmFSLo= github.com/aws/aws-sdk-go-v2/service/glacier v1.22.4 h1:y0/RN8LwIbyDTPe/dnDBdsCw89ko8ZNFPW4vStye4aE= github.com/aws/aws-sdk-go-v2/service/glacier v1.22.4/go.mod h1:8ofkOuh1SZLKR5EdfxPhQ1UgaQuCBAZzUwbeIBmeKIM= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.23.1 h1:E48tPAIKptyIb8OFOAsZ3xSzjwou8A63f40ao1H3tVU= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.23.1/go.mod h1:6morRSCgJD400qAu5DCEtvoaAC1owS5t6oq8ddLLwxw= github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.0 h1:joAdQdtfg8Yy/e5Pq5qwAe0hjH3+EJUzd1jPrlXE3SA= github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.0/go.mod h1:yGNTqdu48YxjsCyLpalmwHCQF52GGERK7+J3nTcvJ3A= github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.0 h1:HRcwttYPNlE5mv6uDlcsk9m4oV3fxV8+a+V4U3jIMd4= @@ -1573,8 +1577,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7/go.mod h1:YC github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.9/go.mod h1:Rc5+wn2k8gFSi3V1Ch4mhxOzjMh+bYSXVFfVaqowQOY= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 h1:f9RyWNtS8oH7cZlbn+/JNPpjUk5+5fLd5lM9M0i49Ys= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5/go.mod h1:h5CoMZV2VF297/VLhRhO1WF+XYWOzXo+4HsObA4HjBQ= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.13.0 h1:AnbQdsKqNM5yxpWsJFH69cTuQvCAhF1jlA6mWGcNqbM= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.13.0/go.mod h1:71th0isZef+quIOFAqbzFzV67NFkCpMhqogzqPCFSUE= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.0 h1:6qjUIJWzm5CCOs/F2ZjC5TY/fmy+Ed6P9rJGXJjDg04= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.0/go.mod h1:71th0isZef+quIOFAqbzFzV67NFkCpMhqogzqPCFSUE= github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.5 h1:g5m7QODn5LRm9gWyL2AZl1De7QQQnNEeb5g1o3qmHio= github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.5/go.mod h1:DWOHVe8yf0vrA6DStGG7FQ6GslgVPZljr13WjO3eGo0= github.com/aws/aws-sdk-go-v2/service/kafka v1.31.3 h1:B5/wxR5V2LIUKU7B6vS7RvP2GZg8Dn65NxmaeLgfOGk= @@ -1626,8 +1630,8 @@ github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.4 h1:XHtavC0Lrm5 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.4/go.mod h1:T7lBopPcIVR1EJOibce+6Z3cJmY8uWTEM8+i63a4rD0= github.com/aws/aws-sdk-go-v2/service/osis v1.8.4 h1:ZQyG9HtH9s6+U3rXPHaHq2ICArNtlqEy5HJIiqHChr4= github.com/aws/aws-sdk-go-v2/service/osis v1.8.4/go.mod h1:MHw9zAnU6CaZXqe/J1UNcxcEZLF5oXs21Efdxw0K5tY= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.9.4 h1:3Eu2DIvWbjsAUuK47p+5+AZoacf4W5Y3LDawbkI5/es= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.9.4/go.mod h1:PCzPetpCllCUXLpDIZ+OKrosD3LGP14/Zr6BLJwc0fo= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.0 h1:sfVZeQi5tw/2ZZj7n0TyQATIovkxQ/sL2Sow8kBLXYA= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.0/go.mod h1:PCzPetpCllCUXLpDIZ+OKrosD3LGP14/Zr6BLJwc0fo= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.4 h1:yv+usWRleYprm877J3eOAJZcNgz2n9NbV/qVk65m2oQ= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.4/go.mod h1:2NtRjk9YR/8M08R9A7TSpysazsSeDBWk1uQCe5yO8dc= github.com/aws/aws-sdk-go-v2/service/pipes v1.11.4 h1:xOLwoRZoNFTNeM1W6jafNh9xFmvpi7pK2u8cwgO22D0= @@ -1642,14 +1646,14 @@ github.com/aws/aws-sdk-go-v2/service/qldb v1.21.4 h1:h/Jmsgx2BVIBzN3CvEmU37bQ1y4 github.com/aws/aws-sdk-go-v2/service/qldb v1.21.4/go.mod h1:T789CzkMLwKq1b5MxcUfQeoUisJ6jJhciaZTtAQtUOU= github.com/aws/aws-sdk-go-v2/service/rbin v1.16.4 h1:f5RY4vrfqBG5nmgSiEejpFOeWfzkCXd+EpOsRdL4W+I= github.com/aws/aws-sdk-go-v2/service/rbin v1.16.4/go.mod h1:BUtbswz07qEjzGypmeUdtP53noKx1PBKAnX9Fe0Mul4= -github.com/aws/aws-sdk-go-v2/service/rds v1.77.1 h1:RatrfyDgfeXDmYw1gq5IR5tXXf1C9/enPtXWXn5kufE= -github.com/aws/aws-sdk-go-v2/service/rds v1.77.1/go.mod h1:Rw15qGaGWu3jO0dOz7JyvdOEjgae//YrJxVWLYGynvg= +github.com/aws/aws-sdk-go-v2/service/rds v1.77.2 h1:d9GrRZEoi11Aa6az++UC6JsauTN7CscLDuNb/fxcttU= +github.com/aws/aws-sdk-go-v2/service/rds v1.77.2/go.mod h1:Rw15qGaGWu3jO0dOz7JyvdOEjgae//YrJxVWLYGynvg= github.com/aws/aws-sdk-go-v2/service/redshift v1.44.0 h1:j18lTPPqe+qlapn1R8//+ujvXdplku8V41xzBNNLtn0= github.com/aws/aws-sdk-go-v2/service/redshift v1.44.0/go.mod h1:8ldsMsikORLj0GZUozSvbQdctrumAPYhizmj/3AAATI= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.4 h1:Rnz5skILimGue5zJ8txb5Mr9JLjznYJFKgK0r/n3AI0= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.4/go.mod h1:rTgaFmfqdMVM4JpBoYZndATNpUguvyjDgUOT9h4qUUs= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.17.4 h1:aCgDTg7NalOIbcz26fFRsz7JtxDUvBHm5/YBT/5J2S8= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.17.4/go.mod h1:XIPGtb7MKsA/uAfS9pngCspt+NfjDxlIAg1hSwvtQQs= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.17.5 h1:QxPQnoPHEQbU44AZCIaQCFQ63xxk2eLLCY5cj+yOJU0= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.17.5/go.mod h1:XIPGtb7MKsA/uAfS9pngCspt+NfjDxlIAg1hSwvtQQs= github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.0 h1:dQsPc/8oqQGe3tWFbCxkujcDtOqprC2i0ssvJeD6tEg= github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.0/go.mod h1:z84+kK5mDuKu7muAIuop201/BOL7XsGwlg+2xtp6XRQ= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.5 h1:jZRmSjW91mFQ6BNUu9wTZ41ZBtEwWH7HNCGLjus2uos= @@ -1658,15 +1662,17 @@ github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.0 h1:YHfTTnVdsaOX5n4Bl github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.0/go.mod h1:+Kmpl4w+kCRyagQIIUWpnj0RWYHeBuZELNGu4G1COtY= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.4 h1:c1jtPWZSmgMmPkCgwv67GE0ugdEgnLVo/BHR1wl3Dm0= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.4/go.mod h1:FWw+Jnx+SlpsrU/NQ/f7f+1RdixTApZiU2o9FOubiDQ= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.10.0 h1:3RsRnhgYzD05lB9md8h59Lggd7eJgwFm3vxcDwVqRHs= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.10.0/go.mod h1:RHFmC9Lds1jS1zBvnFq1GDh3yxFXH++n+2sI9TE53Cc= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.0 h1:znBjrg7qGF7DOXpJ1ZKS9BLI045+z0UnKSml6MsL4WQ= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.0/go.mod h1:RHFmC9Lds1jS1zBvnFq1GDh3yxFXH++n+2sI9TE53Cc= github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.4 h1:Qb7EiHvGJZGU43aCMahEJrP5sJjV62gGXm4y9x/syRQ= github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.4/go.mod h1:8wjITSWOCR+G7DhS2WraZnZ/geFYxXLLP0KKTfZtRGQ= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.0 h1:on9+rCVnTcfYtz4i7sVsNuJYCAQO9xucyGtaWtlbIXY= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.0/go.mod h1:tTj/YUqvGBhnxNh8gMjf31pSJF1L3STJwdPkjhSyl5I= github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2/go.mod h1:u+566cosFI+d+motIz3USXEh6sN8Nq4GrNXSg2RXVMo= github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1 h1:6cnno47Me9bRykw9AEv9zkXE+5or7jz8TsskTTccbgc= github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1/go.mod h1:qmdkIIAC+GCLASF7R2whgNrJADz0QZPX+Seiw/i4S3o= -github.com/aws/aws-sdk-go-v2/service/s3control v1.44.5 h1:5IGyIMqxk5otMwIj+vYWyyegacuC/Y7NxoRzjfQOzCk= -github.com/aws/aws-sdk-go-v2/service/s3control v1.44.5/go.mod h1:xywJi2/waU8+fglbs5ASVHKr5y7OAYsEBOyQwgQgTIc= +github.com/aws/aws-sdk-go-v2/service/s3control v1.44.6 h1:J6weNKyH2/bVlQ4dWpfprtIGf1tor3Ht5xurx+GXJjs= +github.com/aws/aws-sdk-go-v2/service/s3control v1.44.6/go.mod h1:xywJi2/waU8+fglbs5ASVHKr5y7OAYsEBOyQwgQgTIc= github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.4 h1:1yvLbEatGZ18H3KmRNowvfHDlgqidyus0JopRiZDQHg= github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.4/go.mod h1:fkeoDzkVpr1vBMmow05/twn57pI93m0egpJYIigqbd8= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.15.14/go.mod h1:xakbH8KMsQQKqzX87uyyzTHshc/0/Df8bsTneTS5pFU= @@ -1693,8 +1699,8 @@ github.com/aws/aws-sdk-go-v2/service/sqs v1.19.1/go.mod h1:A94o564Gj+Yn+7QO1eLFe github.com/aws/aws-sdk-go-v2/service/sqs v1.31.4 h1:mE2ysZMEeQ3ulHWs4mmc4fZEhOfeY1o6QXAfDqjbSgw= github.com/aws/aws-sdk-go-v2/service/sqs v1.31.4/go.mod h1:lCN2yKnj+Sp9F6UzpoPPTir+tSaC9Jwf6LcmTqnXFZw= github.com/aws/aws-sdk-go-v2/service/ssm v1.27.6/go.mod h1:fiFzQgj4xNOg4/wqmAiPvzgDMXPD+cUEplX/CYn+0j0= -github.com/aws/aws-sdk-go-v2/service/ssm v1.49.5 h1:KBwyHzP2QG8J//hoGuPyHWZ5tgL1BzaoMURUkecpI4g= -github.com/aws/aws-sdk-go-v2/service/ssm v1.49.5/go.mod h1:Ebk/HZmGhxWKDVxM4+pwbxGjm3RQOQLMjAEosI3ss9Q= +github.com/aws/aws-sdk-go-v2/service/ssm v1.50.0 h1:NGWDuvT6PAoWQuAYeqPU8UvKZjJ4CvxfgaCnT7E6sOI= +github.com/aws/aws-sdk-go-v2/service/ssm v1.50.0/go.mod h1:Ebk/HZmGhxWKDVxM4+pwbxGjm3RQOQLMjAEosI3ss9Q= github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.4 h1:zsel8uEa3gZ1d9PV0DZnwzZ0xf9EE5Wvz1Q9vm3h4u0= github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.4/go.mod h1:LjUmrzAa81OMGqfygRS3JTkxhNinG4rswXYy4uUWvow= github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.4 h1:FctT4NUwB7L4EvS5OBT10m7mY7a4HzUD2jxHM94C4T0= @@ -1719,16 +1725,16 @@ github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.5 h1:0Ty3j3QkLoqkZ+Va github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.5/go.mod h1:9R1IlrgiivwTCZdbKgMPkseFS+moUM+DLh0TEjO6pvE= github.com/aws/aws-sdk-go-v2/service/transcribe v1.36.4 h1:5SSnbzdOLeiFe/n38kjIRc5TKglEs7598sZkFYw9X78= github.com/aws/aws-sdk-go-v2/service/transcribe v1.36.4/go.mod h1:k8u3Uj5KgSM4eUoGXyvLNNf1Y/mLMM7jJM4o9kIazEc= -github.com/aws/aws-sdk-go-v2/service/transfer v1.46.0 h1:4M9wPu5RLDLqo9fUHYvm0Nq+sbnx7fPW9wM273iqYVI= -github.com/aws/aws-sdk-go-v2/service/transfer v1.46.0/go.mod h1:z3NpUj6ziVpg9XHEMdA0xpD/lgjPuZb9R/PBV6Mieb0= +github.com/aws/aws-sdk-go-v2/service/transfer v1.47.0 h1:0u+kisnXkglzOMqYQd9xmBDzXELJZFgxT653oMGE+Pg= +github.com/aws/aws-sdk-go-v2/service/transfer v1.47.0/go.mod h1:z3NpUj6ziVpg9XHEMdA0xpD/lgjPuZb9R/PBV6Mieb0= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.13.1 h1:uEKMCWNCbKIEn+en/BqTxJmO/gdMVqzW5VJwhyaG76A= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.13.1/go.mod h1:DKtR1LdOqG21jCPD/b7zMxAFxpelWoGb65rNVTpBaXs= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.7.5 h1:k7JPfsAWnc4vbO/6nksfKdz8lClDacQe5x6fen3vn1A= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.7.5/go.mod h1:lwuOe4SF+wdRnUrcPt1tukhJCj4gklxBV6xlD03Uo/8= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.0 h1:rsvoTrDs5jCAGbBPX+1kJWFVVTPE7QgUFVK9QNWAg6o= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.0/go.mod h1:MRT/P9Cwn+7xCCVpD1sTvUESiWMAc9hA+FooRsW5fe8= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.38.4 h1:SvHYikdxmnyptMebU3zFfXbfU96SHzdUX+KXqa6pjYE= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.38.4/go.mod h1:1XK49PATLHBd7mpKqO91GqRuV7bEsmyQ8Lslvn3fFj4= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.0 h1:dbVilmO4TcbLVmI4b1e5y4G7xParu0CA8+aFTP7TDUs= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.0/go.mod h1:1XK49PATLHBd7mpKqO91GqRuV7bEsmyQ8Lslvn3fFj4= github.com/aws/aws-sdk-go-v2/service/xray v1.25.4 h1:56m1lnJbOSjGposPRmCAAJ8uBM/4DWzTy1bILQ54La0= github.com/aws/aws-sdk-go-v2/service/xray v1.25.4/go.mod h1:B8TaYUDF5rQxS1t3KxrMNu074VGbxxgi/2YYsUBDsbA= github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= @@ -1769,6 +1775,8 @@ github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0Bsq github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/cedar-policy/cedar-go v0.0.0-20240318205125-470d1fe984bb h1:WaOlZeLno47GR/TvgUNCqB6itqhT7kMLsUwlIjxWW4Y= +github.com/cedar-policy/cedar-go v0.0.0-20240318205125-470d1fe984bb/go.mod h1:qZuNWmkhx7pxkYvgmNPcBE4NtfGBF6nmI+bjecaQp14= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M= @@ -3595,8 +3603,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= -golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ= -golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= diff --git a/provider/go.mod b/provider/go.mod index 6c21aa31f02..24ac2c13882 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -1,6 +1,8 @@ module github.com/pulumi/pulumi-aws/provider/v6 -go 1.21.0 +go 1.22.0 + +toolchain go1.22.2 require ( github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 @@ -66,7 +68,7 @@ require ( github.com/armon/go-metrics v0.4.0 // indirect github.com/armon/go-radix v1.0.0 // indirect github.com/atotto/clipboard v0.1.4 // indirect - github.com/aws/aws-sdk-go v1.51.23 // indirect + github.com/aws/aws-sdk-go v1.51.28 // indirect github.com/aws/aws-sdk-go-v2 v1.26.1 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 // indirect github.com/aws/aws-sdk-go-v2/config v1.27.11 // indirect @@ -87,15 +89,16 @@ require ( github.com/aws/aws-sdk-go-v2/service/appconfig v1.29.2 // indirect github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.4 // indirect github.com/aws/aws-sdk-go-v2/service/appflow v1.41.4 // indirect + github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.4 // indirect github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.4 // indirect github.com/aws/aws-sdk-go-v2/service/athena v1.40.4 // indirect github.com/aws/aws-sdk-go-v2/service/auditmanager v1.32.4 // indirect github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.5 // indirect - github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.4 // indirect + github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.5 // indirect github.com/aws/aws-sdk-go-v2/service/batch v1.37.0 // indirect github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.4 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrock v1.7.7 // indirect - github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.6.0 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.0 // indirect + github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.8.0 // indirect github.com/aws/aws-sdk-go-v2/service/budgets v1.22.4 // indirect github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.5 // indirect github.com/aws/aws-sdk-go-v2/service/chimesdkvoice v1.14.4 // indirect @@ -126,17 +129,17 @@ require ( github.com/aws/aws-sdk-go-v2/service/connectcases v1.15.4 // indirect github.com/aws/aws-sdk-go-v2/service/controltower v1.13.5 // indirect github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.4 // indirect - github.com/aws/aws-sdk-go-v2/service/costexplorer v1.37.1 // indirect + github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.0 // indirect github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.4 // indirect github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.4 // indirect - github.com/aws/aws-sdk-go-v2/service/datasync v1.36.4 // indirect + github.com/aws/aws-sdk-go-v2/service/datasync v1.37.0 // indirect github.com/aws/aws-sdk-go-v2/service/datazone v1.8.0 // indirect github.com/aws/aws-sdk-go-v2/service/dax v1.19.4 // indirect github.com/aws/aws-sdk-go-v2/service/devopsguru v1.30.4 // indirect github.com/aws/aws-sdk-go-v2/service/directoryservice v1.24.4 // indirect github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.3 // indirect github.com/aws/aws-sdk-go-v2/service/dynamodb v1.31.1 // indirect - github.com/aws/aws-sdk-go-v2/service/ec2 v1.157.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ec2 v1.159.0 // indirect github.com/aws/aws-sdk-go-v2/service/ecr v1.27.4 // indirect github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.4 // indirect github.com/aws/aws-sdk-go-v2/service/ecs v1.41.7 // indirect @@ -145,7 +148,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk v1.23.4 // indirect github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.30.5 // indirect github.com/aws/aws-sdk-go-v2/service/emr v1.39.5 // indirect - github.com/aws/aws-sdk-go-v2/service/emrserverless v1.18.0 // indirect + github.com/aws/aws-sdk-go-v2/service/emrserverless v1.19.0 // indirect github.com/aws/aws-sdk-go-v2/service/eventbridge v1.30.4 // indirect github.com/aws/aws-sdk-go-v2/service/evidently v1.19.4 // indirect github.com/aws/aws-sdk-go-v2/service/finspace v1.24.1 // indirect @@ -153,6 +156,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/fis v1.24.2 // indirect github.com/aws/aws-sdk-go-v2/service/fms v1.31.4 // indirect github.com/aws/aws-sdk-go-v2/service/glacier v1.22.4 // indirect + github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.23.1 // indirect github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.0 // indirect github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.0 // indirect github.com/aws/aws-sdk-go-v2/service/iam v1.32.0 // indirect @@ -163,7 +167,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.9.6 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 // indirect - github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.13.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.0 // indirect github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.5 // indirect github.com/aws/aws-sdk-go-v2/service/kafka v1.31.3 // indirect github.com/aws/aws-sdk-go-v2/service/kendra v1.50.1 // indirect @@ -189,7 +193,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/oam v1.10.1 // indirect github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.4 // indirect github.com/aws/aws-sdk-go-v2/service/osis v1.8.4 // indirect - github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.9.4 // indirect + github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.0 // indirect github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.4 // indirect github.com/aws/aws-sdk-go-v2/service/pipes v1.11.4 // indirect github.com/aws/aws-sdk-go-v2/service/polly v1.39.6 // indirect @@ -197,18 +201,19 @@ require ( github.com/aws/aws-sdk-go-v2/service/qbusiness v1.5.0 // indirect github.com/aws/aws-sdk-go-v2/service/qldb v1.21.4 // indirect github.com/aws/aws-sdk-go-v2/service/rbin v1.16.4 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.77.1 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.77.2 // indirect github.com/aws/aws-sdk-go-v2/service/redshift v1.44.0 // indirect github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.4 // indirect - github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.17.4 // indirect + github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.17.5 // indirect github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.0 // indirect github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.5 // indirect github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.0 // indirect github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.4 // indirect - github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.10.0 // indirect + github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.0 // indirect github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.4 // indirect + github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.0 // indirect github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1 // indirect - github.com/aws/aws-sdk-go-v2/service/s3control v1.44.5 // indirect + github.com/aws/aws-sdk-go-v2/service/s3control v1.44.6 // indirect github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.4 // indirect github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.28.6 // indirect github.com/aws/aws-sdk-go-v2/service/securityhub v1.47.2 // indirect @@ -220,7 +225,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/signer v1.22.6 // indirect github.com/aws/aws-sdk-go-v2/service/sns v1.29.4 // indirect github.com/aws/aws-sdk-go-v2/service/sqs v1.31.4 // indirect - github.com/aws/aws-sdk-go-v2/service/ssm v1.49.5 // indirect + github.com/aws/aws-sdk-go-v2/service/ssm v1.50.0 // indirect github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.4 // indirect github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.4 // indirect github.com/aws/aws-sdk-go-v2/service/ssmsap v1.12.4 // indirect @@ -232,11 +237,11 @@ require ( github.com/aws/aws-sdk-go-v2/service/synthetics v1.24.4 // indirect github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.5 // indirect github.com/aws/aws-sdk-go-v2/service/transcribe v1.36.4 // indirect - github.com/aws/aws-sdk-go-v2/service/transfer v1.46.0 // indirect + github.com/aws/aws-sdk-go-v2/service/transfer v1.47.0 // indirect github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.13.1 // indirect github.com/aws/aws-sdk-go-v2/service/vpclattice v1.7.5 // indirect github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.0 // indirect - github.com/aws/aws-sdk-go-v2/service/workspaces v1.38.4 // indirect + github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.0 // indirect github.com/aws/aws-sdk-go-v2/service/xray v1.25.4 // indirect github.com/aws/smithy-go v1.20.2 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect @@ -244,6 +249,7 @@ require ( github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.1.0 // indirect github.com/blang/semver v3.5.1+incompatible // indirect + github.com/cedar-policy/cedar-go v0.0.0-20240318205125-470d1fe984bb // indirect github.com/cenkalti/backoff/v3 v3.2.2 // indirect github.com/charmbracelet/bubbles v0.16.1 // indirect github.com/charmbracelet/bubbletea v0.24.2 // indirect @@ -320,7 +326,7 @@ require ( github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 // indirect github.com/hashicorp/terraform-plugin-framework-timetypes v0.3.0 // indirect github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 // indirect - github.com/hashicorp/terraform-plugin-go v0.22.1 // indirect + github.com/hashicorp/terraform-plugin-go v0.22.2 // indirect github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect github.com/hashicorp/terraform-plugin-mux v0.15.0 // indirect github.com/hashicorp/terraform-plugin-testing v1.7.0 // indirect @@ -419,7 +425,7 @@ require ( gocloud.dev v0.37.0 // indirect gocloud.dev/secrets/hashivault v0.27.0 // indirect golang.org/x/crypto v0.22.0 // indirect - golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect + golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 // indirect golang.org/x/mod v0.15.0 // indirect golang.org/x/net v0.24.0 // indirect golang.org/x/oauth2 v0.18.0 // indirect @@ -435,7 +441,7 @@ require ( google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240311173647-c811ad7063a7 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240311173647-c811ad7063a7 // indirect - google.golang.org/grpc v1.62.1 // indirect + google.golang.org/grpc v1.63.2 // indirect google.golang.org/protobuf v1.33.0 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect diff --git a/provider/go.sum b/provider/go.sum index fc7b31b95d0..b69d107f6fd 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1365,8 +1365,8 @@ github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4 github.com/aws/aws-sdk-go v1.44.45/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.68/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go v1.51.23 h1:/3TEdsEE/aHmdKGw2NrOp7Sdea76zfffGkTTSXTsDxY= -github.com/aws/aws-sdk-go v1.51.23/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/aws/aws-sdk-go v1.51.28 h1:x3CV5xjnL4EbVLaPXulBOxqiq2dkc9o6+50xxT3tvXY= +github.com/aws/aws-sdk-go v1.51.28/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= github.com/aws/aws-sdk-go-v2 v1.26.1 h1:5554eUqIYVWpU0YmeeYZ0wU64H2VLBs8TlhRB2L+EkA= @@ -1420,6 +1420,8 @@ github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.4 h1:xQyow1kdXLj4kcU9ja1MyZS github.com/aws/aws-sdk-go-v2/service/appfabric v1.7.4/go.mod h1:lc5I/jQCLi4eU5RsIe6P+0h/tva09lVpQP17+IpW61w= github.com/aws/aws-sdk-go-v2/service/appflow v1.41.4 h1:ARn6qYIxhMRnatsonKQ4y3Wgv9YDjiCIURsPtiuCgIM= github.com/aws/aws-sdk-go-v2/service/appflow v1.41.4/go.mod h1:EGStqkGOjo1Mm1IMelC8W3BPq6n3Qiw+aUCgYTwjV/o= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.4 h1:B2DOglYz+zxaSrOfOTCX7bFp9J6LqvyIA25rpwYqOeQ= +github.com/aws/aws-sdk-go-v2/service/appintegrations v1.25.4/go.mod h1:tvRY6xn3fG25GW4n1W76MqTViTTzVfCXKmURxXloT9o= github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.4 h1:WPPJVRvjvIHeFEqDyjX5yUocKOBAqDOJpvHIaN+LY30= github.com/aws/aws-sdk-go-v2/service/apprunner v1.28.4/go.mod h1:HBEDVCiXAhDxrCJ8meNd1ao+PSQkkB02RfXaEuwyp6U= github.com/aws/aws-sdk-go-v2/service/athena v1.40.4 h1:tiHIjFXSyb5DbNfnu3ql2r86s6llLdzwWAVJkPgw/I0= @@ -1428,16 +1430,16 @@ github.com/aws/aws-sdk-go-v2/service/auditmanager v1.32.4 h1:45+KYpnG8ZKoqLkQSIg github.com/aws/aws-sdk-go-v2/service/auditmanager v1.32.4/go.mod h1:WHURzIps29VZSUz9jxpGeShOhGuf/SqQmNJLs3Ytfns= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.5 h1:vhdJymxlWS2qftzLiuCjSswjXBRLGfzo/BEE9LDveBA= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.40.5/go.mod h1:ZErgk/bPaaZIpj+lUWGlwI1A0UFhSIscgnCPzTLnb2s= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.4 h1:LIQN+2GGZHwWksR6cVQtEF7xdLZUEsmUqy+4fStrZcE= -github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.4/go.mod h1:5orNWB4auLR1UJ6MUrRpAwne7uZ84Y6cq/0sB6F6LA4= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.5 h1:Wy39+Mw1tByk2tkq5li1pHW/Qh0FyFotpHC2mbj9w5Q= +github.com/aws/aws-sdk-go-v2/service/autoscalingplans v1.20.5/go.mod h1:5orNWB4auLR1UJ6MUrRpAwne7uZ84Y6cq/0sB6F6LA4= github.com/aws/aws-sdk-go-v2/service/batch v1.37.0 h1:KsCQLOMecKTAIznlGCz5Lupddk1nc3E2XXlt63+8l54= github.com/aws/aws-sdk-go-v2/service/batch v1.37.0/go.mod h1:JuPGVm7DzXD73vZBQsZwlDzoJeZewN08swLBGiU47K8= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.4 h1:WJEEIYSDCqNeG/q0OU99AovoS2lHTwyV+yYoQcwI+i8= github.com/aws/aws-sdk-go-v2/service/bcmdataexports v1.3.4/go.mod h1:QdNvYtC3DYswfkhnlWXa0Oib+8jugRL/a+5Nbhw4v/g= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.7.7 h1:3omHt2KuI7K58mb2r3BwKPF0ph0MOXZZ48XIthXhHcI= -github.com/aws/aws-sdk-go-v2/service/bedrock v1.7.7/go.mod h1:/D6V245MG0yEqSULoBf/zLdQk8lmsMZXR3d/vc2mOdo= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.6.0 h1:TUV3Ih0U+1EaNH8I3OjQl15iOSR94QyXBBELZt2izlk= -github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.6.0/go.mod h1:6CwV+GE3wrFqkrU2LB8cajHMWJn7jFFhRtxBQiOZ5kw= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.0 h1:T3fEqHePREPko9+jRek0cuyyfEjT/OLz3PhT+WW9qdY= +github.com/aws/aws-sdk-go-v2/service/bedrock v1.8.0/go.mod h1:/D6V245MG0yEqSULoBf/zLdQk8lmsMZXR3d/vc2mOdo= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.8.0 h1:CWprual/fBYNa9Mvf8rlNC8MoiCVpN1oUQ6/8sQcHzk= +github.com/aws/aws-sdk-go-v2/service/bedrockagent v1.8.0/go.mod h1:6CwV+GE3wrFqkrU2LB8cajHMWJn7jFFhRtxBQiOZ5kw= github.com/aws/aws-sdk-go-v2/service/budgets v1.22.4 h1:sVv+p2Wo+sUXa8dC1pCMJ/+9ncOriq8EiRWvAkOuaLY= github.com/aws/aws-sdk-go-v2/service/budgets v1.22.4/go.mod h1:JFS3MaNoisHXHQm5/xRQjj1tICixIgT8Vv32D0lV5NE= github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines v1.15.5 h1:FgeK3aPbB/ARkhxUXfSn9d2ibb4Q9kUhHl/dWwqIy8Y= @@ -1498,14 +1500,14 @@ github.com/aws/aws-sdk-go-v2/service/controltower v1.13.5 h1:paF2yipmLzmX9ugZqKN github.com/aws/aws-sdk-go-v2/service/controltower v1.13.5/go.mod h1:qwJIgEG0ASp7utTqwiagEW0LOE6AFsNzQL1oOWRsydU= github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.4 h1:MDEvMVWZZetTacemmH+Z7ScvQkOKxqkEQfFROo//G18= github.com/aws/aws-sdk-go-v2/service/costandusagereportservice v1.23.4/go.mod h1:DSbQUgLN9rHicCWE2Wuu7yRNHT3oQvnOiPk3LAGZe9I= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.37.1 h1:xjhk+io+kPtDOG5RizvHlkGKET3dxRBzorLdPPkpZQc= -github.com/aws/aws-sdk-go-v2/service/costexplorer v1.37.1/go.mod h1:uLOg0o57AyQQhZGtUKIlcBJOKE53mO9bXKyrM9dFhy4= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.0 h1:0q4pClt2ckd6awhQYEysexryCmA7q2HMI0O5dBrA5B8= +github.com/aws/aws-sdk-go-v2/service/costexplorer v1.38.0/go.mod h1:uLOg0o57AyQQhZGtUKIlcBJOKE53mO9bXKyrM9dFhy4= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.4 h1:gSO6kMlH4cXxBmZwTA1qngTVxt8Och7irFtNGrxIUEg= github.com/aws/aws-sdk-go-v2/service/costoptimizationhub v1.4.4/go.mod h1:UkyRWEyu3iT7oPmPri8xwPnKXqJQzSUDK9MOKq7xyZE= github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.4 h1:UBo3t3uliQIP3f8duZhmJ1Z62bz/j5o7LH8f/BTt1mU= github.com/aws/aws-sdk-go-v2/service/customerprofiles v1.36.4/go.mod h1:NGHeOPrlK475HqycL4V02Ubc67Wm+D09Xh4pO6g2c8g= -github.com/aws/aws-sdk-go-v2/service/datasync v1.36.4 h1:B5avI4R+VxroaKOgZGLQW9yBj0qOHssVi+jJqSCOwEw= -github.com/aws/aws-sdk-go-v2/service/datasync v1.36.4/go.mod h1:AT/X92EowfcC8JIqYweBLUN9js/BcHwzAYC5XwWtaYk= +github.com/aws/aws-sdk-go-v2/service/datasync v1.37.0 h1:0oSuFr5up09l5fscqlDCfVUR1mRK8NyUbgd3Sv+N3Rw= +github.com/aws/aws-sdk-go-v2/service/datasync v1.37.0/go.mod h1:AT/X92EowfcC8JIqYweBLUN9js/BcHwzAYC5XwWtaYk= github.com/aws/aws-sdk-go-v2/service/datazone v1.8.0 h1:wJ4bVNXoSTJIMfxgebI32qbxEVLqGVdGCC2f/yyvNxs= github.com/aws/aws-sdk-go-v2/service/datazone v1.8.0/go.mod h1:6UUbvwSg1ADRoK5rYXGDWjwzSyy8mElzIhVSqCXwNYE= github.com/aws/aws-sdk-go-v2/service/dax v1.19.4 h1:S3mvtYjRVVsg1R4EuV1LWZUiD72t+pfnBbK8TL7zEmo= @@ -1518,8 +1520,8 @@ github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.3 h1:HihsSNvSKUYna0rE7OAc github.com/aws/aws-sdk-go-v2/service/docdbelastic v1.9.3/go.mod h1:AOiF0FGcVHJuV3KEdgesNC1UWhDgfZYpqcY6qppdPo4= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.31.1 h1:dZXY07Dm59TxAjJcUfNMJHLDI/gLMxTRZefn2jFAVsw= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.31.1/go.mod h1:lVLqEtX+ezgtfalyJs7Peb0uv9dEpAQP5yuq2O26R44= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.157.0 h1:BCNvChkZM4xqssztw+rFllaDnoS4Hm6bZ20XBj8RsI0= -github.com/aws/aws-sdk-go-v2/service/ec2 v1.157.0/go.mod h1:xejKuuRDjz6z5OqyeLsz01MlOqqW7CqpAB4PabNvpu8= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.159.0 h1:DmmVmiLPlcntOcjWMRwDPMNx/wi2kAVrf2ZmSN5gkAg= +github.com/aws/aws-sdk-go-v2/service/ec2 v1.159.0/go.mod h1:xejKuuRDjz6z5OqyeLsz01MlOqqW7CqpAB4PabNvpu8= github.com/aws/aws-sdk-go-v2/service/ecr v1.27.4 h1:Qr9W21mzWT3RhfYn9iAux7CeRIdbnTAqmiOlASqQgZI= github.com/aws/aws-sdk-go-v2/service/ecr v1.27.4/go.mod h1:if7ybzzjOmDB8pat9FE35AHTY6ZxlYSy3YviSmFZv8c= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.23.4 h1:aNuiieMaS2IHxqAsTdM/pjHyY1aoaDLBGLqpNnFMMqk= @@ -1536,8 +1538,8 @@ github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.30.5 h1:/x2u/TOx+ github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2 v1.30.5/go.mod h1:e1McVqsud0JOERidvppLEHnuCdh/X6MRyL5L0LseAUk= github.com/aws/aws-sdk-go-v2/service/emr v1.39.5 h1:ni+E9GfbQ8CzjYSlJ+WbNYX7SAsLiTWH0OMNiG9XprM= github.com/aws/aws-sdk-go-v2/service/emr v1.39.5/go.mod h1:7WusX+O5pwTnx2yobUO/P1C5HlBibmrQb5gKEPFjTYM= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.18.0 h1:kmGNN309RZDADHT5II3AwgR+nQBjR6YmGD9MxWhLJ0c= -github.com/aws/aws-sdk-go-v2/service/emrserverless v1.18.0/go.mod h1:TZrahLcSXIN/kO96kvxUzfLNLH8E6t3xodv8Zv5DHGs= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.19.0 h1:pahvDMOunlMdsWbAXJI+TspKLuW5/t4AWNnkfeLa+0c= +github.com/aws/aws-sdk-go-v2/service/emrserverless v1.19.0/go.mod h1:TZrahLcSXIN/kO96kvxUzfLNLH8E6t3xodv8Zv5DHGs= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.30.4 h1:Vz4ilZcVXCR9yatX5yfMrkBldYggtkih3h7woHvzu5Q= github.com/aws/aws-sdk-go-v2/service/eventbridge v1.30.4/go.mod h1:aIINXlt2xXhMeRsyCsLDUDohI8AdDm92gY9nIB6pv0M= github.com/aws/aws-sdk-go-v2/service/evidently v1.19.4 h1:DcRQTdvIQs+v+rQJ598v7WmgLSsla9C90mY4J+rccrU= @@ -1552,6 +1554,8 @@ github.com/aws/aws-sdk-go-v2/service/fms v1.31.4 h1:gY+Dp2QdphY6m5IVkETmsNauYztd github.com/aws/aws-sdk-go-v2/service/fms v1.31.4/go.mod h1:X4DjA4sm8cobhR9DtHn947+dLYxU1oWq3zwRZUmFSLo= github.com/aws/aws-sdk-go-v2/service/glacier v1.22.4 h1:y0/RN8LwIbyDTPe/dnDBdsCw89ko8ZNFPW4vStye4aE= github.com/aws/aws-sdk-go-v2/service/glacier v1.22.4/go.mod h1:8ofkOuh1SZLKR5EdfxPhQ1UgaQuCBAZzUwbeIBmeKIM= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.23.1 h1:E48tPAIKptyIb8OFOAsZ3xSzjwou8A63f40ao1H3tVU= +github.com/aws/aws-sdk-go-v2/service/globalaccelerator v1.23.1/go.mod h1:6morRSCgJD400qAu5DCEtvoaAC1owS5t6oq8ddLLwxw= github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.0 h1:joAdQdtfg8Yy/e5Pq5qwAe0hjH3+EJUzd1jPrlXE3SA= github.com/aws/aws-sdk-go-v2/service/groundstation v1.27.0/go.mod h1:yGNTqdu48YxjsCyLpalmwHCQF52GGERK7+J3nTcvJ3A= github.com/aws/aws-sdk-go-v2/service/healthlake v1.24.0 h1:HRcwttYPNlE5mv6uDlcsk9m4oV3fxV8+a+V4U3jIMd4= @@ -1576,8 +1580,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7/go.mod h1:YC github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.9/go.mod h1:Rc5+wn2k8gFSi3V1Ch4mhxOzjMh+bYSXVFfVaqowQOY= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 h1:f9RyWNtS8oH7cZlbn+/JNPpjUk5+5fLd5lM9M0i49Ys= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5/go.mod h1:h5CoMZV2VF297/VLhRhO1WF+XYWOzXo+4HsObA4HjBQ= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.13.0 h1:AnbQdsKqNM5yxpWsJFH69cTuQvCAhF1jlA6mWGcNqbM= -github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.13.0/go.mod h1:71th0isZef+quIOFAqbzFzV67NFkCpMhqogzqPCFSUE= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.0 h1:6qjUIJWzm5CCOs/F2ZjC5TY/fmy+Ed6P9rJGXJjDg04= +github.com/aws/aws-sdk-go-v2/service/internetmonitor v1.14.0/go.mod h1:71th0isZef+quIOFAqbzFzV67NFkCpMhqogzqPCFSUE= github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.5 h1:g5m7QODn5LRm9gWyL2AZl1De7QQQnNEeb5g1o3qmHio= github.com/aws/aws-sdk-go-v2/service/ivschat v1.12.5/go.mod h1:DWOHVe8yf0vrA6DStGG7FQ6GslgVPZljr13WjO3eGo0= github.com/aws/aws-sdk-go-v2/service/kafka v1.31.3 h1:B5/wxR5V2LIUKU7B6vS7RvP2GZg8Dn65NxmaeLgfOGk= @@ -1629,8 +1633,8 @@ github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.4 h1:XHtavC0Lrm5 github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.11.4/go.mod h1:T7lBopPcIVR1EJOibce+6Z3cJmY8uWTEM8+i63a4rD0= github.com/aws/aws-sdk-go-v2/service/osis v1.8.4 h1:ZQyG9HtH9s6+U3rXPHaHq2ICArNtlqEy5HJIiqHChr4= github.com/aws/aws-sdk-go-v2/service/osis v1.8.4/go.mod h1:MHw9zAnU6CaZXqe/J1UNcxcEZLF5oXs21Efdxw0K5tY= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.9.4 h1:3Eu2DIvWbjsAUuK47p+5+AZoacf4W5Y3LDawbkI5/es= -github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.9.4/go.mod h1:PCzPetpCllCUXLpDIZ+OKrosD3LGP14/Zr6BLJwc0fo= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.0 h1:sfVZeQi5tw/2ZZj7n0TyQATIovkxQ/sL2Sow8kBLXYA= +github.com/aws/aws-sdk-go-v2/service/paymentcryptography v1.10.0/go.mod h1:PCzPetpCllCUXLpDIZ+OKrosD3LGP14/Zr6BLJwc0fo= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.4 h1:yv+usWRleYprm877J3eOAJZcNgz2n9NbV/qVk65m2oQ= github.com/aws/aws-sdk-go-v2/service/pcaconnectorad v1.5.4/go.mod h1:2NtRjk9YR/8M08R9A7TSpysazsSeDBWk1uQCe5yO8dc= github.com/aws/aws-sdk-go-v2/service/pipes v1.11.4 h1:xOLwoRZoNFTNeM1W6jafNh9xFmvpi7pK2u8cwgO22D0= @@ -1645,14 +1649,14 @@ github.com/aws/aws-sdk-go-v2/service/qldb v1.21.4 h1:h/Jmsgx2BVIBzN3CvEmU37bQ1y4 github.com/aws/aws-sdk-go-v2/service/qldb v1.21.4/go.mod h1:T789CzkMLwKq1b5MxcUfQeoUisJ6jJhciaZTtAQtUOU= github.com/aws/aws-sdk-go-v2/service/rbin v1.16.4 h1:f5RY4vrfqBG5nmgSiEejpFOeWfzkCXd+EpOsRdL4W+I= github.com/aws/aws-sdk-go-v2/service/rbin v1.16.4/go.mod h1:BUtbswz07qEjzGypmeUdtP53noKx1PBKAnX9Fe0Mul4= -github.com/aws/aws-sdk-go-v2/service/rds v1.77.1 h1:RatrfyDgfeXDmYw1gq5IR5tXXf1C9/enPtXWXn5kufE= -github.com/aws/aws-sdk-go-v2/service/rds v1.77.1/go.mod h1:Rw15qGaGWu3jO0dOz7JyvdOEjgae//YrJxVWLYGynvg= +github.com/aws/aws-sdk-go-v2/service/rds v1.77.2 h1:d9GrRZEoi11Aa6az++UC6JsauTN7CscLDuNb/fxcttU= +github.com/aws/aws-sdk-go-v2/service/rds v1.77.2/go.mod h1:Rw15qGaGWu3jO0dOz7JyvdOEjgae//YrJxVWLYGynvg= github.com/aws/aws-sdk-go-v2/service/redshift v1.44.0 h1:j18lTPPqe+qlapn1R8//+ujvXdplku8V41xzBNNLtn0= github.com/aws/aws-sdk-go-v2/service/redshift v1.44.0/go.mod h1:8ldsMsikORLj0GZUozSvbQdctrumAPYhizmj/3AAATI= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.4 h1:Rnz5skILimGue5zJ8txb5Mr9JLjznYJFKgK0r/n3AI0= github.com/aws/aws-sdk-go-v2/service/redshiftdata v1.25.4/go.mod h1:rTgaFmfqdMVM4JpBoYZndATNpUguvyjDgUOT9h4qUUs= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.17.4 h1:aCgDTg7NalOIbcz26fFRsz7JtxDUvBHm5/YBT/5J2S8= -github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.17.4/go.mod h1:XIPGtb7MKsA/uAfS9pngCspt+NfjDxlIAg1hSwvtQQs= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.17.5 h1:QxPQnoPHEQbU44AZCIaQCFQ63xxk2eLLCY5cj+yOJU0= +github.com/aws/aws-sdk-go-v2/service/redshiftserverless v1.17.5/go.mod h1:XIPGtb7MKsA/uAfS9pngCspt+NfjDxlIAg1hSwvtQQs= github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.0 h1:dQsPc/8oqQGe3tWFbCxkujcDtOqprC2i0ssvJeD6tEg= github.com/aws/aws-sdk-go-v2/service/rekognition v1.40.0/go.mod h1:z84+kK5mDuKu7muAIuop201/BOL7XsGwlg+2xtp6XRQ= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.10.5 h1:jZRmSjW91mFQ6BNUu9wTZ41ZBtEwWH7HNCGLjus2uos= @@ -1661,15 +1665,17 @@ github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.0 h1:YHfTTnVdsaOX5n4Bl github.com/aws/aws-sdk-go-v2/service/resourcegroups v1.22.0/go.mod h1:+Kmpl4w+kCRyagQIIUWpnj0RWYHeBuZELNGu4G1COtY= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.4 h1:c1jtPWZSmgMmPkCgwv67GE0ugdEgnLVo/BHR1wl3Dm0= github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi v1.21.4/go.mod h1:FWw+Jnx+SlpsrU/NQ/f7f+1RdixTApZiU2o9FOubiDQ= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.10.0 h1:3RsRnhgYzD05lB9md8h59Lggd7eJgwFm3vxcDwVqRHs= -github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.10.0/go.mod h1:RHFmC9Lds1jS1zBvnFq1GDh3yxFXH++n+2sI9TE53Cc= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.0 h1:znBjrg7qGF7DOXpJ1ZKS9BLI045+z0UnKSml6MsL4WQ= +github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.11.0/go.mod h1:RHFmC9Lds1jS1zBvnFq1GDh3yxFXH++n+2sI9TE53Cc= github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.4 h1:Qb7EiHvGJZGU43aCMahEJrP5sJjV62gGXm4y9x/syRQ= github.com/aws/aws-sdk-go-v2/service/route53domains v1.23.4/go.mod h1:8wjITSWOCR+G7DhS2WraZnZ/geFYxXLLP0KKTfZtRGQ= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.0 h1:on9+rCVnTcfYtz4i7sVsNuJYCAQO9xucyGtaWtlbIXY= +github.com/aws/aws-sdk-go-v2/service/route53profiles v1.0.0/go.mod h1:tTj/YUqvGBhnxNh8gMjf31pSJF1L3STJwdPkjhSyl5I= github.com/aws/aws-sdk-go-v2/service/s3 v1.27.2/go.mod h1:u+566cosFI+d+motIz3USXEh6sN8Nq4GrNXSg2RXVMo= github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1 h1:6cnno47Me9bRykw9AEv9zkXE+5or7jz8TsskTTccbgc= github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1/go.mod h1:qmdkIIAC+GCLASF7R2whgNrJADz0QZPX+Seiw/i4S3o= -github.com/aws/aws-sdk-go-v2/service/s3control v1.44.5 h1:5IGyIMqxk5otMwIj+vYWyyegacuC/Y7NxoRzjfQOzCk= -github.com/aws/aws-sdk-go-v2/service/s3control v1.44.5/go.mod h1:xywJi2/waU8+fglbs5ASVHKr5y7OAYsEBOyQwgQgTIc= +github.com/aws/aws-sdk-go-v2/service/s3control v1.44.6 h1:J6weNKyH2/bVlQ4dWpfprtIGf1tor3Ht5xurx+GXJjs= +github.com/aws/aws-sdk-go-v2/service/s3control v1.44.6/go.mod h1:xywJi2/waU8+fglbs5ASVHKr5y7OAYsEBOyQwgQgTIc= github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.4 h1:1yvLbEatGZ18H3KmRNowvfHDlgqidyus0JopRiZDQHg= github.com/aws/aws-sdk-go-v2/service/scheduler v1.8.4/go.mod h1:fkeoDzkVpr1vBMmow05/twn57pI93m0egpJYIigqbd8= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.15.14/go.mod h1:xakbH8KMsQQKqzX87uyyzTHshc/0/Df8bsTneTS5pFU= @@ -1696,8 +1702,8 @@ github.com/aws/aws-sdk-go-v2/service/sqs v1.19.1/go.mod h1:A94o564Gj+Yn+7QO1eLFe github.com/aws/aws-sdk-go-v2/service/sqs v1.31.4 h1:mE2ysZMEeQ3ulHWs4mmc4fZEhOfeY1o6QXAfDqjbSgw= github.com/aws/aws-sdk-go-v2/service/sqs v1.31.4/go.mod h1:lCN2yKnj+Sp9F6UzpoPPTir+tSaC9Jwf6LcmTqnXFZw= github.com/aws/aws-sdk-go-v2/service/ssm v1.27.6/go.mod h1:fiFzQgj4xNOg4/wqmAiPvzgDMXPD+cUEplX/CYn+0j0= -github.com/aws/aws-sdk-go-v2/service/ssm v1.49.5 h1:KBwyHzP2QG8J//hoGuPyHWZ5tgL1BzaoMURUkecpI4g= -github.com/aws/aws-sdk-go-v2/service/ssm v1.49.5/go.mod h1:Ebk/HZmGhxWKDVxM4+pwbxGjm3RQOQLMjAEosI3ss9Q= +github.com/aws/aws-sdk-go-v2/service/ssm v1.50.0 h1:NGWDuvT6PAoWQuAYeqPU8UvKZjJ4CvxfgaCnT7E6sOI= +github.com/aws/aws-sdk-go-v2/service/ssm v1.50.0/go.mod h1:Ebk/HZmGhxWKDVxM4+pwbxGjm3RQOQLMjAEosI3ss9Q= github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.4 h1:zsel8uEa3gZ1d9PV0DZnwzZ0xf9EE5Wvz1Q9vm3h4u0= github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.22.4/go.mod h1:LjUmrzAa81OMGqfygRS3JTkxhNinG4rswXYy4uUWvow= github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.30.4 h1:FctT4NUwB7L4EvS5OBT10m7mY7a4HzUD2jxHM94C4T0= @@ -1722,16 +1728,16 @@ github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.5 h1:0Ty3j3QkLoqkZ+Va github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.25.5/go.mod h1:9R1IlrgiivwTCZdbKgMPkseFS+moUM+DLh0TEjO6pvE= github.com/aws/aws-sdk-go-v2/service/transcribe v1.36.4 h1:5SSnbzdOLeiFe/n38kjIRc5TKglEs7598sZkFYw9X78= github.com/aws/aws-sdk-go-v2/service/transcribe v1.36.4/go.mod h1:k8u3Uj5KgSM4eUoGXyvLNNf1Y/mLMM7jJM4o9kIazEc= -github.com/aws/aws-sdk-go-v2/service/transfer v1.46.0 h1:4M9wPu5RLDLqo9fUHYvm0Nq+sbnx7fPW9wM273iqYVI= -github.com/aws/aws-sdk-go-v2/service/transfer v1.46.0/go.mod h1:z3NpUj6ziVpg9XHEMdA0xpD/lgjPuZb9R/PBV6Mieb0= +github.com/aws/aws-sdk-go-v2/service/transfer v1.47.0 h1:0u+kisnXkglzOMqYQd9xmBDzXELJZFgxT653oMGE+Pg= +github.com/aws/aws-sdk-go-v2/service/transfer v1.47.0/go.mod h1:z3NpUj6ziVpg9XHEMdA0xpD/lgjPuZb9R/PBV6Mieb0= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.13.1 h1:uEKMCWNCbKIEn+en/BqTxJmO/gdMVqzW5VJwhyaG76A= github.com/aws/aws-sdk-go-v2/service/verifiedpermissions v1.13.1/go.mod h1:DKtR1LdOqG21jCPD/b7zMxAFxpelWoGb65rNVTpBaXs= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.7.5 h1:k7JPfsAWnc4vbO/6nksfKdz8lClDacQe5x6fen3vn1A= github.com/aws/aws-sdk-go-v2/service/vpclattice v1.7.5/go.mod h1:lwuOe4SF+wdRnUrcPt1tukhJCj4gklxBV6xlD03Uo/8= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.0 h1:rsvoTrDs5jCAGbBPX+1kJWFVVTPE7QgUFVK9QNWAg6o= github.com/aws/aws-sdk-go-v2/service/wellarchitected v1.30.0/go.mod h1:MRT/P9Cwn+7xCCVpD1sTvUESiWMAc9hA+FooRsW5fe8= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.38.4 h1:SvHYikdxmnyptMebU3zFfXbfU96SHzdUX+KXqa6pjYE= -github.com/aws/aws-sdk-go-v2/service/workspaces v1.38.4/go.mod h1:1XK49PATLHBd7mpKqO91GqRuV7bEsmyQ8Lslvn3fFj4= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.0 h1:dbVilmO4TcbLVmI4b1e5y4G7xParu0CA8+aFTP7TDUs= +github.com/aws/aws-sdk-go-v2/service/workspaces v1.39.0/go.mod h1:1XK49PATLHBd7mpKqO91GqRuV7bEsmyQ8Lslvn3fFj4= github.com/aws/aws-sdk-go-v2/service/xray v1.25.4 h1:56m1lnJbOSjGposPRmCAAJ8uBM/4DWzTy1bILQ54La0= github.com/aws/aws-sdk-go-v2/service/xray v1.25.4/go.mod h1:B8TaYUDF5rQxS1t3KxrMNu074VGbxxgi/2YYsUBDsbA= github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= @@ -1772,6 +1778,8 @@ github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0Bsq github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= +github.com/cedar-policy/cedar-go v0.0.0-20240318205125-470d1fe984bb h1:WaOlZeLno47GR/TvgUNCqB6itqhT7kMLsUwlIjxWW4Y= +github.com/cedar-policy/cedar-go v0.0.0-20240318205125-470d1fe984bb/go.mod h1:qZuNWmkhx7pxkYvgmNPcBE4NtfGBF6nmI+bjecaQp14= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M= @@ -2597,8 +2605,8 @@ github.com/hashicorp/terraform-plugin-framework-timetypes v0.3.0/go.mod h1:9vjvl github.com/hashicorp/terraform-plugin-framework-validators v0.12.0 h1:HOjBuMbOEzl7snOdOoUfE2Jgeto6JOjLVQ39Ls2nksc= github.com/hashicorp/terraform-plugin-framework-validators v0.12.0/go.mod h1:jfHGE/gzjxYz6XoUwi/aYiiKrJDeutQNUtGQXkaHklg= github.com/hashicorp/terraform-plugin-go v0.22.0/go.mod h1:mPULV91VKss7sik6KFEcEu7HuTogMLLO/EvWCuFkRVE= -github.com/hashicorp/terraform-plugin-go v0.22.1 h1:iTS7WHNVrn7uhe3cojtvWWn83cm2Z6ryIUDTRO0EV7w= -github.com/hashicorp/terraform-plugin-go v0.22.1/go.mod h1:qrjnqRghvQ6KnDbB12XeZ4FluclYwptntoWCr9QaXTI= +github.com/hashicorp/terraform-plugin-go v0.22.2 h1:5o8uveu6eZUf5J7xGPV0eY0TPXg3qpmwX9sce03Bxnc= +github.com/hashicorp/terraform-plugin-go v0.22.2/go.mod h1:drq8Snexp9HsbFZddvyLHN6LuWHHndSQg+gV+FPkcIM= github.com/hashicorp/terraform-plugin-mux v0.15.0 h1:+/+lDx0WUsIOpkAmdwBIoFU8UP9o2eZASoOnLsWbKME= github.com/hashicorp/terraform-plugin-mux v0.15.0/go.mod h1:9ezplb1Dyq394zQ+ldB0nvy/qbNAz3mMoHHseMTMaKo= github.com/hashicorp/terraform-plugin-sdk v1.7.0 h1:B//oq0ZORG+EkVrIJy0uPGSonvmXqxSzXe8+GhknoW0= @@ -3614,8 +3622,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= -golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ= -golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ= +golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= @@ -4550,8 +4558,8 @@ google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSs google.golang.org/grpc v1.58.3/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= -google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk= -google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= +google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= +google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= From a8b00361dea0b1b4047e52e4272d8d77be647413 Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Mon, 29 Apr 2024 11:19:35 -0400 Subject: [PATCH 06/13] Remove patched plugin framework --- provider/go.mod | 4 ---- provider/go.sum | 4 ++-- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/provider/go.mod b/provider/go.mod index 24ac2c13882..a9257bd7d1b 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -27,10 +27,6 @@ require ( replace github.com/hashicorp/terraform-plugin-log => github.com/gdavison/terraform-plugin-log v0.0.0-20230928191232-6c653d8ef8fb replace ( - // NOTE: this is currently tracking upstream-v1.6.1 branch in the Pulumi fork. Upgrading - // this dependency is sensitive and is worth doing carefully (such as reading release notes) - // and not simply rely on passing tests for the upgrade. - github.com/hashicorp/terraform-plugin-framework => github.com/pulumi/terraform-plugin-framework v0.0.0-20240312214231-4d4aedf99afb github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240229143312-4f60ee4e2975 github.com/hashicorp/terraform-provider-aws => ../upstream github.com/hashicorp/vault => github.com/hashicorp/vault v1.2.0 diff --git a/provider/go.sum b/provider/go.sum index b69d107f6fd..1b3bfde96a3 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2596,6 +2596,8 @@ github.com/hashicorp/terraform-json v0.4.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8j github.com/hashicorp/terraform-json v0.19.0/go.mod h1:qdeBs11ovMzo5puhrRibdD6d2Dq6TyE/28JiU4tIQxk= github.com/hashicorp/terraform-json v0.21.0 h1:9NQxbLNqPbEMze+S6+YluEdXgJmhQykRyRNd+zTI05U= github.com/hashicorp/terraform-json v0.21.0/go.mod h1:qdeBs11ovMzo5puhrRibdD6d2Dq6TyE/28JiU4tIQxk= +github.com/hashicorp/terraform-plugin-framework v1.8.0 h1:P07qy8RKLcoBkCrY2RHJer5AEvJnDuXomBgou6fD8kI= +github.com/hashicorp/terraform-plugin-framework v1.8.0/go.mod h1:/CpTukO88PcL/62noU7cuyaSJ4Rsim+A/pa+3rUVufY= github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0 h1:b8vZYB/SkXJT4YPbT3trzE6oJ7dPyMy68+9dEDKsJjE= github.com/hashicorp/terraform-plugin-framework-jsontypes v0.1.0/go.mod h1:tP9BC3icoXBz72evMS5UTFvi98CiKhPdXF6yLs1wS8A= github.com/hashicorp/terraform-plugin-framework-timeouts v0.4.1 h1:gm5b1kHgFFhaKFhm4h2TgvMUlNzFAtUqlcOWnWPm+9E= @@ -3189,8 +3191,6 @@ github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQK github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= github.com/pulumi/terraform-diff-reader v0.0.2/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= -github.com/pulumi/terraform-plugin-framework v0.0.0-20240312214231-4d4aedf99afb h1:cH4RXGrDRYb6+DZMBrUOlN4eDeQd7/d5G1RPtBnPkn0= -github.com/pulumi/terraform-plugin-framework v0.0.0-20240312214231-4d4aedf99afb/go.mod h1:aJI+n/hBPhz1J+77GdgNfk5svW12y7fmtxe/5L5IuwI= github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240229143312-4f60ee4e2975 h1:1WBy43K/lHEdS5Hliwf3ylVSfAu5s0KhhEs6wNeP11Y= github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20240229143312-4f60ee4e2975/go.mod h1:H+8tjs9TjV2w57QFVSMBQacf8k/E1XwLXGCARgViC6A= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= From 990ffec67d974e5e6eb08136012ae0cf0845717e Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Mon, 29 Apr 2024 11:25:33 -0400 Subject: [PATCH 07/13] Patch tags ComputedOnly on bedrockagent and other modules --- ...tedOnly-on-bedrockagent-and-other-mo.patch | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 patches/0056-Patch-tags-ComputedOnly-on-bedrockagent-and-other-mo.patch diff --git a/patches/0056-Patch-tags-ComputedOnly-on-bedrockagent-and-other-mo.patch b/patches/0056-Patch-tags-ComputedOnly-on-bedrockagent-and-other-mo.patch new file mode 100644 index 00000000000..b1a8b1cd85b --- /dev/null +++ b/patches/0056-Patch-tags-ComputedOnly-on-bedrockagent-and-other-mo.patch @@ -0,0 +1,71 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Anton Tayanovskyy +Date: Mon, 29 Apr 2024 11:24:39 -0400 +Subject: [PATCH] Patch tags ComputedOnly on bedrockagent and other modules + + +diff --git a/internal/service/bcmdataexports/export.go b/internal/service/bcmdataexports/export.go +index da0f65bd61..4190f7697b 100644 +--- a/internal/service/bcmdataexports/export.go ++++ b/internal/service/bcmdataexports/export.go +@@ -147,7 +147,7 @@ func (r *resourceExport) Schema(ctx context.Context, req resource.SchemaRequest, + Attributes: map[string]schema.Attribute{ + "id": framework.IDAttribute(), + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + }, + Blocks: map[string]schema.Block{ + "export": schema.ListNestedBlock{ +diff --git a/internal/service/bedrockagent/agent.go b/internal/service/bedrockagent/agent.go +index 4d0e40931e..8b9bbc9e03 100644 +--- a/internal/service/bedrockagent/agent.go ++++ b/internal/service/bedrockagent/agent.go +@@ -144,7 +144,7 @@ func (r *agentResource) Schema(ctx context.Context, request resource.SchemaReque + }, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + }, + Blocks: map[string]schema.Block{ + "timeouts": timeouts.Block(ctx, timeouts.Opts{ +diff --git a/internal/service/bedrockagent/agent_alias.go b/internal/service/bedrockagent/agent_alias.go +index 2af0e6ce90..8b9b75bf95 100644 +--- a/internal/service/bedrockagent/agent_alias.go ++++ b/internal/service/bedrockagent/agent_alias.go +@@ -97,7 +97,7 @@ func (r *agentAliasResource) Schema(ctx context.Context, request resource.Schema + }, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + }, + Blocks: map[string]schema.Block{ + "timeouts": timeouts.Block(ctx, timeouts.Opts{ +diff --git a/internal/service/bedrockagent/knowledge_base.go b/internal/service/bedrockagent/knowledge_base.go +index 1ac723842f..b790c8598f 100644 +--- a/internal/service/bedrockagent/knowledge_base.go ++++ b/internal/service/bedrockagent/knowledge_base.go +@@ -93,7 +93,7 @@ func (r *knowledgeBaseResource) Schema(ctx context.Context, request resource.Sch + }, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + "updated_at": schema.StringAttribute{ + CustomType: timetypes.RFC3339Type{}, + Computed: true, +diff --git a/internal/service/globalaccelerator/cross_account_attachment.go b/internal/service/globalaccelerator/cross_account_attachment.go +index 5bc7b2eaa4..bb8df48612 100644 +--- a/internal/service/globalaccelerator/cross_account_attachment.go ++++ b/internal/service/globalaccelerator/cross_account_attachment.go +@@ -72,7 +72,7 @@ func (r *crossAccountAttachmentResource) Schema(ctx context.Context, request res + ElementType: types.StringType, + }, + names.AttrTags: tftags.TagsAttribute(), +- names.AttrTagsAll: tftags.TagsAttributeComputedOnly(), ++ names.AttrTagsAll: tftags.TagsAttribute(), + }, + Blocks: map[string]schema.Block{ + "resource": schema.SetNestedBlock{ From a0392afae2661bf2cd27b4fff7ff725279788b2e Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Mon, 29 Apr 2024 11:49:37 -0400 Subject: [PATCH 08/13] Register Billing and Cost Management Data module --- provider/resources.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/provider/resources.go b/provider/resources.go index 36907d4aaa3..13eaa6afc89 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -77,6 +77,7 @@ const ( bedrockFoundationMod = "BedrockFoundation" // BedrockFoundation bedrockModelMod = "BedrockModel" // BedrockModel bedrockMod = "Bedrock" // Bedrock + bcmDataMod = "BcmData" // Billing and Cost Management Data budgetsMod = "Budgets" // Budgets chimeMod = "Chime" // Chime chimeSDKMediaPipelinesMod = "ChimeSDKMediaPipelines" // Chime SDK Media Pipelines @@ -287,6 +288,7 @@ var moduleMap = map[string]string{ "bedrock_foundation": bedrockFoundationMod, "bedrock_model": bedrockModelMod, "bedrock": bedrockMod, + "bcmdataexports": bcmDataMod, "budgets": budgetsMod, "ce": costExplorerMod, "chime": chimeMod, From 56f120375262f3620298aabac7f5e9ec18741119 Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Mon, 29 Apr 2024 11:49:53 -0400 Subject: [PATCH 09/13] make tfgen --- .../pulumi-resource-aws/bridge-metadata.json | 1119 ++++ .../runtime-bridge-metadata.json | 2 +- provider/cmd/pulumi-resource-aws/schema.json | 4550 ++++++++++++++++- 3 files changed, 5469 insertions(+), 202 deletions(-) diff --git a/provider/cmd/pulumi-resource-aws/bridge-metadata.json b/provider/cmd/pulumi-resource-aws/bridge-metadata.json index 12f9b4e77be..b33f0537fa6 100644 --- a/provider/cmd/pulumi-resource-aws/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-aws/bridge-metadata.json @@ -1618,6 +1618,9 @@ "fields": { "egress_filter": { "maxItemsOne": true + }, + "service_discovery": { + "maxItemsOne": true } } } @@ -3824,6 +3827,42 @@ } } }, + "aws_bcmdataexports_export": { + "current": "aws:bcmdata/export:Export", + "majorVersion": 6, + "fields": { + "export": { + "maxItemsOne": true, + "elem": { + "fields": { + "data_query": { + "maxItemsOne": false + }, + "destination_configurations": { + "maxItemsOne": false, + "elem": { + "fields": { + "s3_destination": { + "maxItemsOne": false, + "elem": { + "fields": { + "s3_output_configurations": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "refresh_cadence": { + "maxItemsOne": false + } + } + } + } + } + }, "aws_bedrock_custom_model": { "current": "aws:bedrock/customModel:CustomModel", "majorVersion": 6, @@ -3873,6 +3912,116 @@ "current": "aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput", "majorVersion": 6 }, + "aws_bedrockagent_agent": { + "current": "aws:bedrock/agentAgent:AgentAgent", + "majorVersion": 6, + "fields": { + "prompt_override_configuration": { + "maxItemsOne": false, + "elem": { + "fields": { + "prompt_configurations": { + "maxItemsOne": false + } + } + } + } + } + }, + "aws_bedrockagent_agent_action_group": { + "current": "aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup", + "majorVersion": 6, + "fields": { + "action_group_executor": { + "maxItemsOne": true + }, + "api_schema": { + "maxItemsOne": true, + "elem": { + "fields": { + "s3": { + "maxItemsOne": true + } + } + } + } + } + }, + "aws_bedrockagent_agent_alias": { + "current": "aws:bedrock/agentAgentAlias:AgentAgentAlias", + "majorVersion": 6, + "fields": { + "routing_configuration": { + "maxItemsOne": false + } + } + }, + "aws_bedrockagent_knowledge_base": { + "current": "aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase", + "majorVersion": 6, + "fields": { + "failure_reasons": { + "maxItemsOne": false + }, + "knowledge_base_configuration": { + "maxItemsOne": true, + "elem": { + "fields": { + "vector_knowledge_base_configuration": { + "maxItemsOne": true + } + } + } + }, + "storage_configuration": { + "maxItemsOne": true, + "elem": { + "fields": { + "opensearch_serverless_configuration": { + "maxItemsOne": true, + "elem": { + "fields": { + "field_mapping": { + "maxItemsOne": true + } + } + } + }, + "pinecone_configuration": { + "maxItemsOne": true, + "elem": { + "fields": { + "field_mapping": { + "maxItemsOne": true + } + } + } + }, + "rds_configuration": { + "maxItemsOne": true, + "elem": { + "fields": { + "field_mapping": { + "maxItemsOne": true + } + } + } + }, + "redis_enterprise_cloud_configuration": { + "maxItemsOne": true, + "elem": { + "fields": { + "field_mapping": { + "maxItemsOne": true + } + } + } + } + } + } + } + } + }, "aws_budgets_budget": { "current": "aws:budgets/budget:Budget", "majorVersion": 6, @@ -4196,6 +4345,52 @@ "maxItemsOne": false, "elem": { "fields": { + "and": { + "maxItemsOne": false, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, "cost_category": { "maxItemsOne": true, "elem": { @@ -4222,6 +4417,98 @@ } } }, + "not": { + "maxItemsOne": true, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "or": { + "maxItemsOne": false, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, "tags": { "maxItemsOne": true, "elem": { @@ -4268,6 +4555,52 @@ "maxItemsOne": true, "elem": { "fields": { + "and": { + "maxItemsOne": false, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, "cost_category": { "maxItemsOne": true, "elem": { @@ -4294,6 +4627,98 @@ } } }, + "not": { + "maxItemsOne": true, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "or": { + "maxItemsOne": false, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, "tags": { "maxItemsOne": true, "elem": { @@ -4314,6 +4739,52 @@ "maxItemsOne": false, "elem": { "fields": { + "and": { + "maxItemsOne": false, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, "cost_category": { "maxItemsOne": true, "elem": { @@ -4340,6 +4811,98 @@ } } }, + "not": { + "maxItemsOne": true, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "or": { + "maxItemsOne": false, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": true, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, "tags": { "maxItemsOne": true, "elem": { @@ -11670,6 +12233,18 @@ } } }, + "aws_globalaccelerator_cross_account_attachment": { + "current": "aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment", + "majorVersion": 6, + "fields": { + "principals": { + "maxItemsOne": false + }, + "resource": { + "maxItemsOne": false + } + } + }, "aws_globalaccelerator_custom_routing_accelerator": { "current": "aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator", "majorVersion": 6, @@ -14310,6 +14885,49 @@ "server_side_encryption": { "maxItemsOne": true }, + "snowflake_configuration": { + "maxItemsOne": true, + "elem": { + "fields": { + "cloudwatch_logging_options": { + "maxItemsOne": true + }, + "processing_configuration": { + "maxItemsOne": true, + "elem": { + "fields": { + "processors": { + "maxItemsOne": false, + "elem": { + "fields": { + "parameters": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "s3_configuration": { + "maxItemsOne": true, + "elem": { + "fields": { + "cloudwatch_logging_options": { + "maxItemsOne": true + } + } + } + }, + "snowflake_role_configuration": { + "maxItemsOne": true + }, + "snowflake_vpc_configuration": { + "maxItemsOne": true + } + } + } + }, "splunk_configuration": { "maxItemsOne": true, "elem": { @@ -154545,6 +155163,29 @@ "current": "aws:sagemaker/appImageConfig:AppImageConfig", "majorVersion": 6, "fields": { + "code_editor_app_image_config": { + "maxItemsOne": true, + "elem": { + "fields": { + "container_config": { + "maxItemsOne": true, + "elem": { + "fields": { + "container_arguments": { + "maxItemsOne": false + }, + "container_entrypoint": { + "maxItemsOne": false + } + } + } + }, + "file_system_config": { + "maxItemsOne": true + } + } + } + }, "jupyter_lab_image_config": { "maxItemsOne": true, "elem": { @@ -154561,6 +155202,9 @@ } } } + }, + "file_system_config": { + "maxItemsOne": true } } } @@ -158463,6 +159107,35 @@ } } }, + "aws_verifiedpermissions_policy": { + "current": "aws:verifiedpermissions/policy:Policy", + "majorVersion": 6, + "fields": { + "definition": { + "maxItemsOne": true, + "elem": { + "fields": { + "static": { + "maxItemsOne": true + }, + "template_linked": { + "maxItemsOne": true, + "elem": { + "fields": { + "principal": { + "maxItemsOne": true + }, + "resource": { + "maxItemsOne": true + } + } + } + } + } + } + } + } + }, "aws_verifiedpermissions_policy_store": { "current": "aws:verifiedpermissions/policyStore:PolicyStore", "majorVersion": 6, @@ -219033,6 +219706,9 @@ "fields": { "egress_filter": { "maxItemsOne": false + }, + "service_discovery": { + "maxItemsOne": false } } } @@ -220550,6 +221226,52 @@ "maxItemsOne": false, "elem": { "fields": { + "and": { + "maxItemsOne": false, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, "cost_category": { "maxItemsOne": false, "elem": { @@ -220576,6 +221298,98 @@ } } }, + "not": { + "maxItemsOne": false, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "or": { + "maxItemsOne": false, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, "tags": { "maxItemsOne": false, "elem": { @@ -220622,6 +221436,52 @@ "maxItemsOne": false, "elem": { "fields": { + "and": { + "maxItemsOne": false, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, "cost_category": { "maxItemsOne": false, "elem": { @@ -220648,6 +221508,98 @@ } } }, + "not": { + "maxItemsOne": false, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "or": { + "maxItemsOne": false, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, "tags": { "maxItemsOne": false, "elem": { @@ -220668,6 +221620,52 @@ "maxItemsOne": false, "elem": { "fields": { + "and": { + "maxItemsOne": false, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, "cost_category": { "maxItemsOne": false, "elem": { @@ -220694,6 +221692,98 @@ } } }, + "not": { + "maxItemsOne": false, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "or": { + "maxItemsOne": false, + "elem": { + "fields": { + "cost_category": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "dimension": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + }, + "tags": { + "maxItemsOne": false, + "elem": { + "fields": { + "match_options": { + "maxItemsOne": false + }, + "values": { + "maxItemsOne": false + } + } + } + } + } + } + }, "tags": { "maxItemsOne": false, "elem": { @@ -224578,6 +225668,22 @@ } } }, + "aws_identitystore_groups": { + "current": "aws:identitystore/getGroups:getGroups", + "majorVersion": 6, + "fields": { + "groups": { + "maxItemsOne": false, + "elem": { + "fields": { + "external_ids": { + "maxItemsOne": false + } + } + } + } + } + }, "aws_identitystore_user": { "current": "aws:identitystore/getUser:getUser", "majorVersion": 6, @@ -229247,6 +230353,11 @@ "value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.message.$.custom_payload": false, "value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.variation.$.custom_payload": false } + }, + "aws_sagemaker_app_image_config": { + "maxItemsOneOverrides": { + "kernel_gateway_image_config.$.kernel_spec": true + } } }, "datasources": { @@ -229416,6 +230527,11 @@ "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/agentKnowledgeBase:AgentKnowledgeBase": 1, "aws:bedrock/customModel:CustomModel": 1, "aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput": 1, "aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration": 1, @@ -229887,6 +231003,7 @@ "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, @@ -230575,6 +231692,7 @@ "aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration": 0, "aws:verifiedaccess/instanceTrustProviderAttachment:InstanceTrustProviderAttachment": 0, "aws:verifiedaccess/trustProvider:TrustProvider": 0, + "aws:verifiedpermissions/policy:Policy": 1, "aws:verifiedpermissions/policyStore:PolicyStore": 1, "aws:verifiedpermissions/policyTemplate:PolicyTemplate": 1, "aws:verifiedpermissions/schema:Schema": 1, @@ -230915,6 +232033,7 @@ "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, diff --git a/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json b/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json index acc33b10ebc..7423dc95538 100644 --- a/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json +++ b/provider/cmd/pulumi-resource-aws/runtime-bridge-metadata.json @@ -1 +1 @@ -{"auto-settings":{"resources":{"aws_eks_cluster":{"maxItemsOneOverrides":{"certificate_authority":true}},"aws_fsx_openzfs_file_system":{"maxItemsOneOverrides":{"subnet_ids":true}},"aws_lexv2models_slot":{"maxItemsOneOverrides":{"value_elicitation_setting.$.prompt_specification.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.prompt_specification.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.variation.$.custom_payload":false}}},"datasources":{"aws_vpc_ipam_pool":{"renames":["aws:ec2/getVpcIamPool:getVpcIamPool"]},"aws_vpc_ipam_pool_cidrs":{"renames":["aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs"]},"aws_vpc_ipam_pools":{"renames":["aws:ec2/getVpcIamPools:getVpcIamPools"]}}},"mux":{"resources":{"aws:accessanalyzer/analyzer:Analyzer":0,"aws:accessanalyzer/archiveRule:ArchiveRule":0,"aws:account/alternativeContact:AlternativeContact":0,"aws:account/primaryContact:PrimaryContact":0,"aws:account/region:Region":0,"aws:acm/certificate:Certificate":0,"aws:acm/certificateValidation:CertificateValidation":0,"aws:acmpca/certificate:Certificate":0,"aws:acmpca/certificateAuthority:CertificateAuthority":0,"aws:acmpca/certificateAuthorityCertificate:CertificateAuthorityCertificate":0,"aws:acmpca/permission:Permission":0,"aws:acmpca/policy:Policy":0,"aws:alb/listener:Listener":0,"aws:alb/listenerCertificate:ListenerCertificate":0,"aws:alb/listenerRule:ListenerRule":0,"aws:alb/loadBalancer:LoadBalancer":0,"aws:alb/targetGroup:TargetGroup":0,"aws:alb/targetGroupAttachment:TargetGroupAttachment":0,"aws:amp/alertManagerDefinition:AlertManagerDefinition":0,"aws:amp/ruleGroupNamespace:RuleGroupNamespace":0,"aws:amp/scraper:Scraper":1,"aws:amp/workspace:Workspace":0,"aws:amplify/app:App":0,"aws:amplify/backendEnvironment:BackendEnvironment":0,"aws:amplify/branch:Branch":0,"aws:amplify/domainAssociation:DomainAssociation":0,"aws:amplify/webhook:Webhook":0,"aws:apigateway/account:Account":0,"aws:apigateway/apiKey:ApiKey":0,"aws:apigateway/authorizer:Authorizer":0,"aws:apigateway/basePathMapping:BasePathMapping":0,"aws:apigateway/clientCertificate:ClientCertificate":0,"aws:apigateway/deployment:Deployment":0,"aws:apigateway/documentationPart:DocumentationPart":0,"aws:apigateway/documentationVersion:DocumentationVersion":0,"aws:apigateway/domainName:DomainName":0,"aws:apigateway/integration:Integration":0,"aws:apigateway/integrationResponse:IntegrationResponse":0,"aws:apigateway/method:Method":0,"aws:apigateway/methodResponse:MethodResponse":0,"aws:apigateway/methodSettings:MethodSettings":0,"aws:apigateway/model:Model":0,"aws:apigateway/requestValidator:RequestValidator":0,"aws:apigateway/resource:Resource":0,"aws:apigateway/response:Response":0,"aws:apigateway/restApi:RestApi":0,"aws:apigateway/restApiPolicy:RestApiPolicy":0,"aws:apigateway/stage:Stage":0,"aws:apigateway/usagePlan:UsagePlan":0,"aws:apigateway/usagePlanKey:UsagePlanKey":0,"aws:apigateway/vpcLink:VpcLink":0,"aws:apigatewayv2/api:Api":0,"aws:apigatewayv2/apiMapping:ApiMapping":0,"aws:apigatewayv2/authorizer:Authorizer":0,"aws:apigatewayv2/deployment:Deployment":0,"aws:apigatewayv2/domainName:DomainName":0,"aws:apigatewayv2/integration:Integration":0,"aws:apigatewayv2/integrationResponse:IntegrationResponse":0,"aws:apigatewayv2/model:Model":0,"aws:apigatewayv2/route:Route":0,"aws:apigatewayv2/routeResponse:RouteResponse":0,"aws:apigatewayv2/stage:Stage":0,"aws:apigatewayv2/vpcLink:VpcLink":0,"aws:appautoscaling/policy:Policy":0,"aws:appautoscaling/scheduledAction:ScheduledAction":0,"aws:appautoscaling/target:Target":0,"aws:appconfig/application:Application":0,"aws:appconfig/configurationProfile:ConfigurationProfile":0,"aws:appconfig/deployment:Deployment":0,"aws:appconfig/deploymentStrategy:DeploymentStrategy":0,"aws:appconfig/environment:Environment":1,"aws:appconfig/eventIntegration:EventIntegration":0,"aws:appconfig/extension:Extension":0,"aws:appconfig/extensionAssociation:ExtensionAssociation":0,"aws:appconfig/hostedConfigurationVersion:HostedConfigurationVersion":0,"aws:appflow/connectorProfile:ConnectorProfile":0,"aws:appflow/flow:Flow":0,"aws:appintegrations/dataIntegration:DataIntegration":0,"aws:applicationinsights/application:Application":0,"aws:appmesh/gatewayRoute:GatewayRoute":0,"aws:appmesh/mesh:Mesh":0,"aws:appmesh/route:Route":0,"aws:appmesh/virtualGateway:VirtualGateway":0,"aws:appmesh/virtualNode:VirtualNode":0,"aws:appmesh/virtualRouter:VirtualRouter":0,"aws:appmesh/virtualService:VirtualService":0,"aws:apprunner/autoScalingConfigurationVersion:AutoScalingConfigurationVersion":0,"aws:apprunner/connection:Connection":0,"aws:apprunner/customDomainAssociation:CustomDomainAssociation":0,"aws:apprunner/defaultAutoScalingConfigurationVersion:DefaultAutoScalingConfigurationVersion":1,"aws:apprunner/deployment:Deployment":1,"aws:apprunner/observabilityConfiguration:ObservabilityConfiguration":0,"aws:apprunner/service:Service":0,"aws:apprunner/vpcConnector:VpcConnector":0,"aws:apprunner/vpcIngressConnection:VpcIngressConnection":0,"aws:appstream/directoryConfig:DirectoryConfig":0,"aws:appstream/fleet:Fleet":0,"aws:appstream/fleetStackAssociation:FleetStackAssociation":0,"aws:appstream/imageBuilder:ImageBuilder":0,"aws:appstream/stack:Stack":0,"aws:appstream/user:User":0,"aws:appstream/userStackAssociation:UserStackAssociation":0,"aws:appsync/apiCache:ApiCache":0,"aws:appsync/apiKey:ApiKey":0,"aws:appsync/dataSource:DataSource":0,"aws:appsync/domainName:DomainName":0,"aws:appsync/domainNameApiAssociation:DomainNameApiAssociation":0,"aws:appsync/function:Function":0,"aws:appsync/graphQLApi:GraphQLApi":0,"aws:appsync/resolver:Resolver":0,"aws:appsync/type:Type":0,"aws:athena/dataCatalog:DataCatalog":0,"aws:athena/database:Database":0,"aws:athena/namedQuery:NamedQuery":0,"aws:athena/preparedStatement:PreparedStatement":0,"aws:athena/workgroup:Workgroup":0,"aws:auditmanager/accountRegistration:AccountRegistration":1,"aws:auditmanager/assessment:Assessment":1,"aws:auditmanager/assessmentDelegation:AssessmentDelegation":1,"aws:auditmanager/assessmentReport:AssessmentReport":1,"aws:auditmanager/control:Control":1,"aws:auditmanager/framework:Framework":1,"aws:auditmanager/frameworkShare:FrameworkShare":1,"aws:auditmanager/organizationAdminAccountRegistration:OrganizationAdminAccountRegistration":1,"aws:autoscaling/attachment:Attachment":0,"aws:autoscaling/group:Group":0,"aws:autoscaling/lifecycleHook:LifecycleHook":0,"aws:autoscaling/notification:Notification":0,"aws:autoscaling/policy:Policy":0,"aws:autoscaling/schedule:Schedule":0,"aws:autoscaling/tag:Tag":0,"aws:autoscaling/trafficSourceAttachment:TrafficSourceAttachment":0,"aws:autoscalingplans/scalingPlan:ScalingPlan":0,"aws:backup/framework:Framework":0,"aws:backup/globalSettings:GlobalSettings":0,"aws:backup/plan:Plan":0,"aws:backup/regionSettings:RegionSettings":0,"aws:backup/reportPlan:ReportPlan":0,"aws:backup/selection:Selection":0,"aws:backup/vault:Vault":0,"aws:backup/vaultLockConfiguration:VaultLockConfiguration":0,"aws:backup/vaultNotifications:VaultNotifications":0,"aws:backup/vaultPolicy:VaultPolicy":0,"aws:batch/computeEnvironment:ComputeEnvironment":0,"aws:batch/jobDefinition:JobDefinition":0,"aws:batch/jobQueue:JobQueue":1,"aws:batch/schedulingPolicy:SchedulingPolicy":0,"aws:bedrock/customModel:CustomModel":1,"aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput":1,"aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration":1,"aws:budgets/budget:Budget":0,"aws:budgets/budgetAction:BudgetAction":0,"aws:cfg/aggregateAuthorization:AggregateAuthorization":0,"aws:cfg/configurationAggregator:ConfigurationAggregator":0,"aws:cfg/conformancePack:ConformancePack":0,"aws:cfg/deliveryChannel:DeliveryChannel":0,"aws:cfg/organizationConformancePack:OrganizationConformancePack":0,"aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule":0,"aws:cfg/organizationCustomRule:OrganizationCustomRule":0,"aws:cfg/organizationManagedRule:OrganizationManagedRule":0,"aws:cfg/recorder:Recorder":0,"aws:cfg/recorderStatus:RecorderStatus":0,"aws:cfg/remediationConfiguration:RemediationConfiguration":0,"aws:cfg/retentionConfiguration:RetentionConfiguration":1,"aws:cfg/rule:Rule":0,"aws:chime/sdkvoiceGlobalSettings:SdkvoiceGlobalSettings":0,"aws:chime/sdkvoiceSipMediaApplication:SdkvoiceSipMediaApplication":0,"aws:chime/sdkvoiceSipRule:SdkvoiceSipRule":0,"aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain":0,"aws:chime/voiceConnector:VoiceConnector":0,"aws:chime/voiceConnectorGroup:VoiceConnectorGroup":0,"aws:chime/voiceConnectorLogging:VoiceConnectorLogging":0,"aws:chime/voiceConnectorOrganization:VoiceConnectorOrganization":0,"aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming":0,"aws:chime/voiceConnectorTermination:VoiceConnectorTermination":0,"aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials":0,"aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration":0,"aws:cleanrooms/collaboration:Collaboration":0,"aws:cleanrooms/configuredTable:ConfiguredTable":0,"aws:cloud9/environmentEC2:EnvironmentEC2":0,"aws:cloud9/environmentMembership:EnvironmentMembership":0,"aws:cloudcontrol/resource:Resource":0,"aws:cloudformation/cloudFormationType:CloudFormationType":0,"aws:cloudformation/stack:Stack":0,"aws:cloudformation/stackSet:StackSet":0,"aws:cloudformation/stackSetInstance:StackSetInstance":0,"aws:cloudfront/cachePolicy:CachePolicy":0,"aws:cloudfront/continuousDeploymentPolicy:ContinuousDeploymentPolicy":1,"aws:cloudfront/distribution:Distribution":0,"aws:cloudfront/fieldLevelEncryptionConfig:FieldLevelEncryptionConfig":0,"aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile":0,"aws:cloudfront/function:Function":0,"aws:cloudfront/keyGroup:KeyGroup":0,"aws:cloudfront/keyValueStore:KeyValueStore":1,"aws:cloudfront/keyvaluestoreKey:KeyvaluestoreKey":1,"aws:cloudfront/monitoringSubscription:MonitoringSubscription":0,"aws:cloudfront/originAccessControl:OriginAccessControl":0,"aws:cloudfront/originAccessIdentity:OriginAccessIdentity":0,"aws:cloudfront/originRequestPolicy:OriginRequestPolicy":0,"aws:cloudfront/publicKey:PublicKey":0,"aws:cloudfront/realtimeLogConfig:RealtimeLogConfig":0,"aws:cloudfront/responseHeadersPolicy:ResponseHeadersPolicy":0,"aws:cloudhsmv2/cluster:Cluster":0,"aws:cloudhsmv2/hsm:Hsm":0,"aws:cloudsearch/domain:Domain":0,"aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy":0,"aws:cloudtrail/eventDataStore:EventDataStore":0,"aws:cloudtrail/trail:Trail":0,"aws:cloudwatch/compositeAlarm:CompositeAlarm":0,"aws:cloudwatch/dashboard:Dashboard":0,"aws:cloudwatch/eventApiDestination:EventApiDestination":0,"aws:cloudwatch/eventArchive:EventArchive":0,"aws:cloudwatch/eventBus:EventBus":0,"aws:cloudwatch/eventBusPolicy:EventBusPolicy":0,"aws:cloudwatch/eventConnection:EventConnection":0,"aws:cloudwatch/eventEndpoint:EventEndpoint":0,"aws:cloudwatch/eventPermission:EventPermission":0,"aws:cloudwatch/eventRule:EventRule":0,"aws:cloudwatch/eventTarget:EventTarget":0,"aws:cloudwatch/internetMonitor:InternetMonitor":0,"aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy":0,"aws:cloudwatch/logDestination:LogDestination":0,"aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy":0,"aws:cloudwatch/logGroup:LogGroup":0,"aws:cloudwatch/logMetricFilter:LogMetricFilter":0,"aws:cloudwatch/logResourcePolicy:LogResourcePolicy":0,"aws:cloudwatch/logStream:LogStream":0,"aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter":0,"aws:cloudwatch/metricAlarm:MetricAlarm":0,"aws:cloudwatch/metricStream:MetricStream":0,"aws:cloudwatch/queryDefinition:QueryDefinition":0,"aws:codeartifact/domain:Domain":0,"aws:codeartifact/domainPermissions:DomainPermissions":0,"aws:codeartifact/repository:Repository":0,"aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy":0,"aws:codebuild/project:Project":0,"aws:codebuild/reportGroup:ReportGroup":0,"aws:codebuild/resourcePolicy:ResourcePolicy":0,"aws:codebuild/sourceCredential:SourceCredential":0,"aws:codebuild/webhook:Webhook":0,"aws:codecatalyst/devEnvironment:DevEnvironment":0,"aws:codecatalyst/project:Project":0,"aws:codecatalyst/sourceRepository:SourceRepository":0,"aws:codecommit/approvalRuleTemplate:ApprovalRuleTemplate":0,"aws:codecommit/approvalRuleTemplateAssociation:ApprovalRuleTemplateAssociation":0,"aws:codecommit/repository:Repository":0,"aws:codecommit/trigger:Trigger":0,"aws:codedeploy/application:Application":0,"aws:codedeploy/deploymentConfig:DeploymentConfig":0,"aws:codedeploy/deploymentGroup:DeploymentGroup":0,"aws:codeguruprofiler/profilingGroup:ProfilingGroup":1,"aws:codegurureviewer/repositoryAssociation:RepositoryAssociation":0,"aws:codepipeline/customActionType:CustomActionType":0,"aws:codepipeline/pipeline:Pipeline":0,"aws:codepipeline/webhook:Webhook":0,"aws:codestarconnections/connection:Connection":0,"aws:codestarconnections/host:Host":0,"aws:codestarnotifications/notificationRule:NotificationRule":0,"aws:cognito/identityPool:IdentityPool":0,"aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag":0,"aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment":0,"aws:cognito/identityProvider:IdentityProvider":0,"aws:cognito/managedUserPoolClient:ManagedUserPoolClient":1,"aws:cognito/resourceServer:ResourceServer":0,"aws:cognito/riskConfiguration:RiskConfiguration":0,"aws:cognito/user:User":0,"aws:cognito/userGroup:UserGroup":0,"aws:cognito/userInGroup:UserInGroup":0,"aws:cognito/userPool:UserPool":0,"aws:cognito/userPoolClient:UserPoolClient":1,"aws:cognito/userPoolDomain:UserPoolDomain":0,"aws:cognito/userPoolUICustomization:UserPoolUICustomization":0,"aws:comprehend/documentClassifier:DocumentClassifier":0,"aws:comprehend/entityRecognizer:EntityRecognizer":0,"aws:connect/botAssociation:BotAssociation":0,"aws:connect/contactFlow:ContactFlow":0,"aws:connect/contactFlowModule:ContactFlowModule":0,"aws:connect/hoursOfOperation:HoursOfOperation":0,"aws:connect/instance:Instance":0,"aws:connect/instanceStorageConfig:InstanceStorageConfig":0,"aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation":0,"aws:connect/phoneNumber:PhoneNumber":0,"aws:connect/queue:Queue":0,"aws:connect/quickConnect:QuickConnect":0,"aws:connect/routingProfile:RoutingProfile":0,"aws:connect/securityProfile:SecurityProfile":0,"aws:connect/user:User":0,"aws:connect/userHierarchyGroup:UserHierarchyGroup":0,"aws:connect/userHierarchyStructure:UserHierarchyStructure":0,"aws:connect/vocabulary:Vocabulary":0,"aws:controltower/controlTowerControl:ControlTowerControl":0,"aws:controltower/landingZone:LandingZone":0,"aws:costexplorer/anomalyMonitor:AnomalyMonitor":0,"aws:costexplorer/anomalySubscription:AnomalySubscription":0,"aws:costexplorer/costAllocationTag:CostAllocationTag":0,"aws:costexplorer/costCategory:CostCategory":0,"aws:cur/reportDefinition:ReportDefinition":0,"aws:customerprofiles/domain:Domain":0,"aws:customerprofiles/profile:Profile":0,"aws:dataexchange/dataSet:DataSet":0,"aws:dataexchange/revision:Revision":0,"aws:datapipeline/pipeline:Pipeline":0,"aws:datapipeline/pipelineDefinition:PipelineDefinition":0,"aws:datasync/agent:Agent":0,"aws:datasync/efsLocation:EfsLocation":0,"aws:datasync/fsxOpenZfsFileSystem:FsxOpenZfsFileSystem":0,"aws:datasync/locationAzureBlob:LocationAzureBlob":0,"aws:datasync/locationFsxLustre:LocationFsxLustre":0,"aws:datasync/locationFsxOntapFileSystem:LocationFsxOntapFileSystem":0,"aws:datasync/locationFsxWindows:LocationFsxWindows":0,"aws:datasync/locationHdfs:LocationHdfs":0,"aws:datasync/locationObjectStorage:LocationObjectStorage":0,"aws:datasync/locationSmb:LocationSmb":0,"aws:datasync/nfsLocation:NfsLocation":0,"aws:datasync/s3Location:S3Location":0,"aws:datasync/task:Task":0,"aws:dax/cluster:Cluster":0,"aws:dax/parameterGroup:ParameterGroup":0,"aws:dax/subnetGroup:SubnetGroup":0,"aws:detective/graph:Graph":0,"aws:detective/invitationAccepter:InvitationAccepter":0,"aws:detective/member:Member":0,"aws:detective/organizationAdminAccount:OrganizationAdminAccount":0,"aws:detective/organizationConfiguration:OrganizationConfiguration":0,"aws:devicefarm/devicePool:DevicePool":0,"aws:devicefarm/instanceProfile:InstanceProfile":0,"aws:devicefarm/networkProfile:NetworkProfile":0,"aws:devicefarm/project:Project":0,"aws:devicefarm/testGridProject:TestGridProject":0,"aws:devicefarm/upload:Upload":0,"aws:devopsguru/eventSourcesConfig:EventSourcesConfig":1,"aws:devopsguru/notificationChannel:NotificationChannel":1,"aws:devopsguru/resourceCollection:ResourceCollection":1,"aws:devopsguru/serviceIntegration:ServiceIntegration":1,"aws:directconnect/bgpPeer:BgpPeer":0,"aws:directconnect/connection:Connection":0,"aws:directconnect/connectionAssociation:ConnectionAssociation":0,"aws:directconnect/connectionConfirmation:ConnectionConfirmation":0,"aws:directconnect/gateway:Gateway":0,"aws:directconnect/gatewayAssociation:GatewayAssociation":0,"aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal":0,"aws:directconnect/hostedConnection:HostedConnection":0,"aws:directconnect/hostedPrivateVirtualInterface:HostedPrivateVirtualInterface":0,"aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter":0,"aws:directconnect/hostedPublicVirtualInterface:HostedPublicVirtualInterface":0,"aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter":0,"aws:directconnect/hostedTransitVirtualInterface:HostedTransitVirtualInterface":0,"aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor":0,"aws:directconnect/linkAggregationGroup:LinkAggregationGroup":0,"aws:directconnect/macsecKeyAssociation:MacsecKeyAssociation":0,"aws:directconnect/privateVirtualInterface:PrivateVirtualInterface":0,"aws:directconnect/publicVirtualInterface:PublicVirtualInterface":0,"aws:directconnect/transitVirtualInterface:TransitVirtualInterface":0,"aws:directoryservice/conditionalForwader:ConditionalForwader":0,"aws:directoryservice/directory:Directory":0,"aws:directoryservice/logService:LogService":0,"aws:directoryservice/radiusSettings:RadiusSettings":0,"aws:directoryservice/serviceRegion:ServiceRegion":0,"aws:directoryservice/sharedDirectory:SharedDirectory":0,"aws:directoryservice/sharedDirectoryAccepter:SharedDirectoryAccepter":0,"aws:directoryservice/trust:Trust":1,"aws:dlm/lifecyclePolicy:LifecyclePolicy":0,"aws:dms/certificate:Certificate":0,"aws:dms/endpoint:Endpoint":0,"aws:dms/eventSubscription:EventSubscription":0,"aws:dms/replicationConfig:ReplicationConfig":0,"aws:dms/replicationInstance:ReplicationInstance":0,"aws:dms/replicationSubnetGroup:ReplicationSubnetGroup":0,"aws:dms/replicationTask:ReplicationTask":0,"aws:dms/s3Endpoint:S3Endpoint":0,"aws:docdb/cluster:Cluster":0,"aws:docdb/clusterInstance:ClusterInstance":0,"aws:docdb/clusterParameterGroup:ClusterParameterGroup":0,"aws:docdb/clusterSnapshot:ClusterSnapshot":0,"aws:docdb/elasticCluster:ElasticCluster":1,"aws:docdb/eventSubscription:EventSubscription":0,"aws:docdb/globalCluster:GlobalCluster":0,"aws:docdb/subnetGroup:SubnetGroup":0,"aws:dynamodb/contributorInsights:ContributorInsights":0,"aws:dynamodb/globalTable:GlobalTable":0,"aws:dynamodb/kinesisStreamingDestination:KinesisStreamingDestination":0,"aws:dynamodb/resourcePolicy:ResourcePolicy":1,"aws:dynamodb/table:Table":0,"aws:dynamodb/tableExport:TableExport":0,"aws:dynamodb/tableItem:TableItem":0,"aws:dynamodb/tableReplica:TableReplica":0,"aws:dynamodb/tag:Tag":0,"aws:ebs/defaultKmsKey:DefaultKmsKey":0,"aws:ebs/encryptionByDefault:EncryptionByDefault":0,"aws:ebs/fastSnapshotRestore:FastSnapshotRestore":1,"aws:ebs/snapshot:Snapshot":0,"aws:ebs/snapshotCopy:SnapshotCopy":0,"aws:ebs/snapshotImport:SnapshotImport":0,"aws:ebs/volume:Volume":0,"aws:ec2/ami:Ami":0,"aws:ec2/amiCopy:AmiCopy":0,"aws:ec2/amiFromInstance:AmiFromInstance":0,"aws:ec2/amiLaunchPermission:AmiLaunchPermission":0,"aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup":0,"aws:ec2/capacityReservation:CapacityReservation":0,"aws:ec2/carrierGateway:CarrierGateway":0,"aws:ec2/customerGateway:CustomerGateway":0,"aws:ec2/dedicatedHost:DedicatedHost":0,"aws:ec2/defaultNetworkAcl:DefaultNetworkAcl":0,"aws:ec2/defaultRouteTable:DefaultRouteTable":0,"aws:ec2/defaultSecurityGroup:DefaultSecurityGroup":0,"aws:ec2/defaultSubnet:DefaultSubnet":0,"aws:ec2/defaultVpc:DefaultVpc":0,"aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions":0,"aws:ec2/egressOnlyInternetGateway:EgressOnlyInternetGateway":0,"aws:ec2/eip:Eip":0,"aws:ec2/eipAssociation:EipAssociation":0,"aws:ec2/eipDomainName:EipDomainName":1,"aws:ec2/fleet:Fleet":0,"aws:ec2/flowLog:FlowLog":0,"aws:ec2/imageBlockPublicAccess:ImageBlockPublicAccess":0,"aws:ec2/instance:Instance":0,"aws:ec2/instanceMetadataDefaults:InstanceMetadataDefaults":1,"aws:ec2/internetGateway:InternetGateway":0,"aws:ec2/internetGatewayAttachment:InternetGatewayAttachment":0,"aws:ec2/keyPair:KeyPair":0,"aws:ec2/launchConfiguration:LaunchConfiguration":0,"aws:ec2/launchTemplate:LaunchTemplate":0,"aws:ec2/localGatewayRoute:LocalGatewayRoute":0,"aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation":0,"aws:ec2/mainRouteTableAssociation:MainRouteTableAssociation":0,"aws:ec2/managedPrefixList:ManagedPrefixList":0,"aws:ec2/managedPrefixListEntry:ManagedPrefixListEntry":0,"aws:ec2/natGateway:NatGateway":0,"aws:ec2/networkAcl:NetworkAcl":0,"aws:ec2/networkAclAssociation:NetworkAclAssociation":0,"aws:ec2/networkAclRule:NetworkAclRule":0,"aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis":0,"aws:ec2/networkInsightsPath:NetworkInsightsPath":0,"aws:ec2/networkInterface:NetworkInterface":0,"aws:ec2/networkInterfaceAttachment:NetworkInterfaceAttachment":0,"aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment":0,"aws:ec2/peeringConnectionOptions:PeeringConnectionOptions":0,"aws:ec2/placementGroup:PlacementGroup":0,"aws:ec2/proxyProtocolPolicy:ProxyProtocolPolicy":0,"aws:ec2/route:Route":0,"aws:ec2/routeTable:RouteTable":0,"aws:ec2/routeTableAssociation:RouteTableAssociation":0,"aws:ec2/securityGroup:SecurityGroup":0,"aws:ec2/securityGroupAssociation:SecurityGroupAssociation":0,"aws:ec2/securityGroupRule:SecurityGroupRule":0,"aws:ec2/serialConsoleAccess:SerialConsoleAccess":0,"aws:ec2/snapshotCreateVolumePermission:SnapshotCreateVolumePermission":0,"aws:ec2/spotDatafeedSubscription:SpotDatafeedSubscription":0,"aws:ec2/spotFleetRequest:SpotFleetRequest":0,"aws:ec2/spotInstanceRequest:SpotInstanceRequest":0,"aws:ec2/subnet:Subnet":0,"aws:ec2/subnetCidrReservation:SubnetCidrReservation":0,"aws:ec2/tag:Tag":0,"aws:ec2/trafficMirrorFilter:TrafficMirrorFilter":0,"aws:ec2/trafficMirrorFilterRule:TrafficMirrorFilterRule":0,"aws:ec2/trafficMirrorSession:TrafficMirrorSession":0,"aws:ec2/trafficMirrorTarget:TrafficMirrorTarget":0,"aws:ec2/volumeAttachment:VolumeAttachment":0,"aws:ec2/vpc:Vpc":0,"aws:ec2/vpcDhcpOptions:VpcDhcpOptions":0,"aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation":0,"aws:ec2/vpcEndpoint:VpcEndpoint":0,"aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter":0,"aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification":0,"aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy":0,"aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation":0,"aws:ec2/vpcEndpointService:VpcEndpointService":0,"aws:ec2/vpcEndpointServiceAllowedPrinciple:VpcEndpointServiceAllowedPrinciple":0,"aws:ec2/vpcEndpointSubnetAssociation:VpcEndpointSubnetAssociation":0,"aws:ec2/vpcIpam:VpcIpam":0,"aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount":0,"aws:ec2/vpcIpamPool:VpcIpamPool":0,"aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr":0,"aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation":0,"aws:ec2/vpcIpamPreviewNextCidr:VpcIpamPreviewNextCidr":0,"aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery":0,"aws:ec2/vpcIpamResourceDiscoveryAssociation:VpcIpamResourceDiscoveryAssociation":0,"aws:ec2/vpcIpamScope:VpcIpamScope":0,"aws:ec2/vpcIpv4CidrBlockAssociation:VpcIpv4CidrBlockAssociation":0,"aws:ec2/vpcIpv6CidrBlockAssociation:VpcIpv6CidrBlockAssociation":0,"aws:ec2/vpcNetworkPerformanceMetricSubscription:VpcNetworkPerformanceMetricSubscription":0,"aws:ec2/vpcPeeringConnection:VpcPeeringConnection":0,"aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter":0,"aws:ec2/vpnConnection:VpnConnection":0,"aws:ec2/vpnConnectionRoute:VpnConnectionRoute":0,"aws:ec2/vpnGateway:VpnGateway":0,"aws:ec2/vpnGatewayAttachment:VpnGatewayAttachment":0,"aws:ec2/vpnGatewayRoutePropagation:VpnGatewayRoutePropagation":0,"aws:ec2clientvpn/authorizationRule:AuthorizationRule":0,"aws:ec2clientvpn/endpoint:Endpoint":0,"aws:ec2clientvpn/networkAssociation:NetworkAssociation":0,"aws:ec2clientvpn/route:Route":0,"aws:ec2transitgateway/connect:Connect":0,"aws:ec2transitgateway/connectPeer:ConnectPeer":0,"aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint":1,"aws:ec2transitgateway/instanceState:InstanceState":0,"aws:ec2transitgateway/multicastDomain:MulticastDomain":0,"aws:ec2transitgateway/multicastDomainAssociation:MulticastDomainAssociation":0,"aws:ec2transitgateway/multicastGroupMember:MulticastGroupMember":0,"aws:ec2transitgateway/multicastGroupSource:MulticastGroupSource":0,"aws:ec2transitgateway/peeringAttachment:PeeringAttachment":0,"aws:ec2transitgateway/peeringAttachmentAccepter:PeeringAttachmentAccepter":0,"aws:ec2transitgateway/policyTable:PolicyTable":0,"aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation":0,"aws:ec2transitgateway/prefixListReference:PrefixListReference":0,"aws:ec2transitgateway/route:Route":0,"aws:ec2transitgateway/routeTable:RouteTable":0,"aws:ec2transitgateway/routeTableAssociation:RouteTableAssociation":0,"aws:ec2transitgateway/routeTablePropagation:RouteTablePropagation":0,"aws:ec2transitgateway/transitGateway:TransitGateway":0,"aws:ec2transitgateway/vpcAttachment:VpcAttachment":0,"aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter":0,"aws:ecr/lifecyclePolicy:LifecyclePolicy":0,"aws:ecr/pullThroughCacheRule:PullThroughCacheRule":0,"aws:ecr/registryPolicy:RegistryPolicy":0,"aws:ecr/registryScanningConfiguration:RegistryScanningConfiguration":0,"aws:ecr/replicationConfiguration:ReplicationConfiguration":0,"aws:ecr/repository:Repository":0,"aws:ecr/repositoryPolicy:RepositoryPolicy":0,"aws:ecrpublic/repository:Repository":0,"aws:ecrpublic/repositoryPolicy:RepositoryPolicy":0,"aws:ecs/accountSettingDefault:AccountSettingDefault":0,"aws:ecs/capacityProvider:CapacityProvider":0,"aws:ecs/cluster:Cluster":0,"aws:ecs/clusterCapacityProviders:ClusterCapacityProviders":0,"aws:ecs/service:Service":0,"aws:ecs/tag:Tag":0,"aws:ecs/taskDefinition:TaskDefinition":0,"aws:ecs/taskSet:TaskSet":0,"aws:efs/accessPoint:AccessPoint":0,"aws:efs/backupPolicy:BackupPolicy":0,"aws:efs/fileSystem:FileSystem":0,"aws:efs/fileSystemPolicy:FileSystemPolicy":0,"aws:efs/mountTarget:MountTarget":0,"aws:efs/replicationConfiguration:ReplicationConfiguration":0,"aws:eks/accessEntry:AccessEntry":0,"aws:eks/accessPolicyAssociation:AccessPolicyAssociation":0,"aws:eks/addon:Addon":0,"aws:eks/cluster:Cluster":0,"aws:eks/fargateProfile:FargateProfile":0,"aws:eks/identityProviderConfig:IdentityProviderConfig":0,"aws:eks/nodeGroup:NodeGroup":0,"aws:eks/podIdentityAssociation:PodIdentityAssociation":1,"aws:elasticache/cluster:Cluster":0,"aws:elasticache/globalReplicationGroup:GlobalReplicationGroup":0,"aws:elasticache/parameterGroup:ParameterGroup":0,"aws:elasticache/replicationGroup:ReplicationGroup":0,"aws:elasticache/serverlessCache:ServerlessCache":1,"aws:elasticache/subnetGroup:SubnetGroup":0,"aws:elasticache/user:User":0,"aws:elasticache/userGroup:UserGroup":0,"aws:elasticache/userGroupAssociation:UserGroupAssociation":0,"aws:elasticbeanstalk/application:Application":0,"aws:elasticbeanstalk/applicationVersion:ApplicationVersion":0,"aws:elasticbeanstalk/configurationTemplate:ConfigurationTemplate":0,"aws:elasticbeanstalk/environment:Environment":0,"aws:elasticsearch/domain:Domain":0,"aws:elasticsearch/domainPolicy:DomainPolicy":0,"aws:elasticsearch/domainSamlOptions:DomainSamlOptions":0,"aws:elasticsearch/vpcEndpoint:VpcEndpoint":0,"aws:elastictranscoder/pipeline:Pipeline":0,"aws:elastictranscoder/preset:Preset":0,"aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy":0,"aws:elb/attachment:Attachment":0,"aws:elb/listenerPolicy:ListenerPolicy":0,"aws:elb/loadBalancer:LoadBalancer":0,"aws:elb/loadBalancerBackendServerPolicy:LoadBalancerBackendServerPolicy":0,"aws:elb/loadBalancerCookieStickinessPolicy:LoadBalancerCookieStickinessPolicy":0,"aws:elb/loadBalancerPolicy:LoadBalancerPolicy":0,"aws:elb/sslNegotiationPolicy:SslNegotiationPolicy":0,"aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration":0,"aws:emr/cluster:Cluster":0,"aws:emr/instanceFleet:InstanceFleet":0,"aws:emr/instanceGroup:InstanceGroup":0,"aws:emr/managedScalingPolicy:ManagedScalingPolicy":0,"aws:emr/securityConfiguration:SecurityConfiguration":0,"aws:emr/studio:Studio":0,"aws:emr/studioSessionMapping:StudioSessionMapping":0,"aws:emrcontainers/jobTemplate:JobTemplate":0,"aws:emrcontainers/virtualCluster:VirtualCluster":0,"aws:emrserverless/application:Application":0,"aws:evidently/feature:Feature":0,"aws:evidently/launch:Launch":0,"aws:evidently/project:Project":0,"aws:evidently/segment:Segment":0,"aws:finspace/kxCluster:KxCluster":0,"aws:finspace/kxDatabase:KxDatabase":0,"aws:finspace/kxDataview:KxDataview":0,"aws:finspace/kxEnvironment:KxEnvironment":0,"aws:finspace/kxScalingGroup:KxScalingGroup":0,"aws:finspace/kxUser:KxUser":0,"aws:finspace/kxVolume:KxVolume":0,"aws:fis/experimentTemplate:ExperimentTemplate":0,"aws:fms/adminAccount:AdminAccount":0,"aws:fms/policy:Policy":0,"aws:fsx/backup:Backup":0,"aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation":0,"aws:fsx/fileCache:FileCache":0,"aws:fsx/lustreFileSystem:LustreFileSystem":0,"aws:fsx/ontapFileSystem:OntapFileSystem":0,"aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine":0,"aws:fsx/ontapVolume:OntapVolume":0,"aws:fsx/openZfsFileSystem:OpenZfsFileSystem":0,"aws:fsx/openZfsSnapshot:OpenZfsSnapshot":0,"aws:fsx/openZfsVolume:OpenZfsVolume":0,"aws:fsx/windowsFileSystem:WindowsFileSystem":0,"aws:gamelift/alias:Alias":0,"aws:gamelift/build:Build":0,"aws:gamelift/fleet:Fleet":0,"aws:gamelift/gameServerGroup:GameServerGroup":0,"aws:gamelift/gameSessionQueue:GameSessionQueue":0,"aws:gamelift/matchmakingConfiguration:MatchmakingConfiguration":0,"aws:gamelift/matchmakingRuleSet:MatchmakingRuleSet":0,"aws:gamelift/script:Script":0,"aws:glacier/vault:Vault":0,"aws:glacier/vaultLock:VaultLock":0,"aws:globalaccelerator/accelerator:Accelerator":0,"aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator":0,"aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup":0,"aws:globalaccelerator/customRoutingListener:CustomRoutingListener":0,"aws:globalaccelerator/endpointGroup:EndpointGroup":0,"aws:globalaccelerator/listener:Listener":0,"aws:glue/catalogDatabase:CatalogDatabase":0,"aws:glue/catalogTable:CatalogTable":0,"aws:glue/classifier:Classifier":0,"aws:glue/connection:Connection":0,"aws:glue/crawler:Crawler":0,"aws:glue/dataCatalogEncryptionSettings:DataCatalogEncryptionSettings":0,"aws:glue/dataQualityRuleset:DataQualityRuleset":0,"aws:glue/devEndpoint:DevEndpoint":0,"aws:glue/job:Job":0,"aws:glue/mLTransform:MLTransform":0,"aws:glue/partition:Partition":0,"aws:glue/partitionIndex:PartitionIndex":0,"aws:glue/registry:Registry":0,"aws:glue/resourcePolicy:ResourcePolicy":0,"aws:glue/schema:Schema":0,"aws:glue/securityConfiguration:SecurityConfiguration":0,"aws:glue/trigger:Trigger":0,"aws:glue/userDefinedFunction:UserDefinedFunction":0,"aws:glue/workflow:Workflow":0,"aws:grafana/licenseAssociation:LicenseAssociation":0,"aws:grafana/roleAssociation:RoleAssociation":0,"aws:grafana/workspace:Workspace":0,"aws:grafana/workspaceApiKey:WorkspaceApiKey":0,"aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration":0,"aws:guardduty/detector:Detector":0,"aws:guardduty/detectorFeature:DetectorFeature":0,"aws:guardduty/filter:Filter":0,"aws:guardduty/iPSet:IPSet":0,"aws:guardduty/inviteAccepter:InviteAccepter":0,"aws:guardduty/member:Member":0,"aws:guardduty/organizationAdminAccount:OrganizationAdminAccount":0,"aws:guardduty/organizationConfiguration:OrganizationConfiguration":0,"aws:guardduty/organizationConfigurationFeature:OrganizationConfigurationFeature":0,"aws:guardduty/publishingDestination:PublishingDestination":0,"aws:guardduty/threatIntelSet:ThreatIntelSet":0,"aws:iam/accessKey:AccessKey":0,"aws:iam/accountAlias:AccountAlias":0,"aws:iam/accountPasswordPolicy:AccountPasswordPolicy":0,"aws:iam/group:Group":0,"aws:iam/groupMembership:GroupMembership":0,"aws:iam/groupPolicy:GroupPolicy":0,"aws:iam/groupPolicyAttachment:GroupPolicyAttachment":0,"aws:iam/instanceProfile:InstanceProfile":0,"aws:iam/openIdConnectProvider:OpenIdConnectProvider":0,"aws:iam/policy:Policy":0,"aws:iam/policyAttachment:PolicyAttachment":0,"aws:iam/role:Role":0,"aws:iam/rolePolicy:RolePolicy":0,"aws:iam/rolePolicyAttachment:RolePolicyAttachment":0,"aws:iam/samlProvider:SamlProvider":0,"aws:iam/securityTokenServicePreferences:SecurityTokenServicePreferences":0,"aws:iam/serverCertificate:ServerCertificate":0,"aws:iam/serviceLinkedRole:ServiceLinkedRole":0,"aws:iam/serviceSpecificCredential:ServiceSpecificCredential":0,"aws:iam/signingCertificate:SigningCertificate":0,"aws:iam/sshKey:SshKey":0,"aws:iam/user:User":0,"aws:iam/userGroupMembership:UserGroupMembership":0,"aws:iam/userLoginProfile:UserLoginProfile":0,"aws:iam/userPolicy:UserPolicy":0,"aws:iam/userPolicyAttachment:UserPolicyAttachment":0,"aws:iam/virtualMfaDevice:VirtualMfaDevice":0,"aws:identitystore/group:Group":0,"aws:identitystore/groupMembership:GroupMembership":0,"aws:identitystore/user:User":0,"aws:imagebuilder/component:Component":0,"aws:imagebuilder/containerRecipe:ContainerRecipe":0,"aws:imagebuilder/distributionConfiguration:DistributionConfiguration":0,"aws:imagebuilder/image:Image":0,"aws:imagebuilder/imagePipeline:ImagePipeline":0,"aws:imagebuilder/imageRecipe:ImageRecipe":0,"aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration":0,"aws:imagebuilder/workflow:Workflow":0,"aws:inspector/assessmentTarget:AssessmentTarget":0,"aws:inspector/assessmentTemplate:AssessmentTemplate":0,"aws:inspector/resourceGroup:ResourceGroup":0,"aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount":0,"aws:inspector2/enabler:Enabler":0,"aws:inspector2/memberAssociation:MemberAssociation":0,"aws:inspector2/organizationConfiguration:OrganizationConfiguration":0,"aws:iot/authorizer:Authorizer":0,"aws:iot/billingGroup:BillingGroup":0,"aws:iot/caCertificate:CaCertificate":0,"aws:iot/certificate:Certificate":0,"aws:iot/domainConfiguration:DomainConfiguration":0,"aws:iot/eventConfigurations:EventConfigurations":0,"aws:iot/indexingConfiguration:IndexingConfiguration":0,"aws:iot/loggingOptions:LoggingOptions":0,"aws:iot/policy:Policy":0,"aws:iot/policyAttachment:PolicyAttachment":0,"aws:iot/provisioningTemplate:ProvisioningTemplate":0,"aws:iot/roleAlias:RoleAlias":0,"aws:iot/thing:Thing":0,"aws:iot/thingGroup:ThingGroup":0,"aws:iot/thingGroupMembership:ThingGroupMembership":0,"aws:iot/thingPrincipalAttachment:ThingPrincipalAttachment":0,"aws:iot/thingType:ThingType":0,"aws:iot/topicRule:TopicRule":0,"aws:iot/topicRuleDestination:TopicRuleDestination":0,"aws:ivs/channel:Channel":0,"aws:ivs/playbackKeyPair:PlaybackKeyPair":0,"aws:ivs/recordingConfiguration:RecordingConfiguration":0,"aws:ivschat/loggingConfiguration:LoggingConfiguration":0,"aws:ivschat/room:Room":0,"aws:kendra/dataSource:DataSource":0,"aws:kendra/experience:Experience":0,"aws:kendra/faq:Faq":0,"aws:kendra/index:Index":0,"aws:kendra/querySuggestionsBlockList:QuerySuggestionsBlockList":0,"aws:kendra/thesaurus:Thesaurus":0,"aws:keyspaces/keyspace:Keyspace":0,"aws:keyspaces/table:Table":0,"aws:kinesis/analyticsApplication:AnalyticsApplication":0,"aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream":0,"aws:kinesis/resourcePolicy:ResourcePolicy":1,"aws:kinesis/stream:Stream":0,"aws:kinesis/streamConsumer:StreamConsumer":0,"aws:kinesis/videoStream:VideoStream":0,"aws:kinesisanalyticsv2/application:Application":0,"aws:kinesisanalyticsv2/applicationSnapshot:ApplicationSnapshot":0,"aws:kms/alias:Alias":0,"aws:kms/ciphertext:Ciphertext":0,"aws:kms/customKeyStore:CustomKeyStore":0,"aws:kms/externalKey:ExternalKey":0,"aws:kms/grant:Grant":0,"aws:kms/key:Key":0,"aws:kms/keyPolicy:KeyPolicy":0,"aws:kms/replicaExternalKey:ReplicaExternalKey":0,"aws:kms/replicaKey:ReplicaKey":0,"aws:lakeformation/dataCellsFilter:DataCellsFilter":1,"aws:lakeformation/dataLakeSettings:DataLakeSettings":0,"aws:lakeformation/lfTag:LfTag":0,"aws:lakeformation/permissions:Permissions":0,"aws:lakeformation/resource:Resource":0,"aws:lakeformation/resourceLfTag:ResourceLfTag":1,"aws:lakeformation/resourceLfTags:ResourceLfTags":0,"aws:lambda/alias:Alias":0,"aws:lambda/codeSigningConfig:CodeSigningConfig":0,"aws:lambda/eventSourceMapping:EventSourceMapping":0,"aws:lambda/function:Function":0,"aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig":0,"aws:lambda/functionUrl:FunctionUrl":0,"aws:lambda/invocation:Invocation":0,"aws:lambda/layerVersion:LayerVersion":0,"aws:lambda/layerVersionPermission:LayerVersionPermission":0,"aws:lambda/permission:Permission":0,"aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig":0,"aws:lb/listener:Listener":0,"aws:lb/listenerCertificate:ListenerCertificate":0,"aws:lb/listenerRule:ListenerRule":0,"aws:lb/loadBalancer:LoadBalancer":0,"aws:lb/targetGroup:TargetGroup":0,"aws:lb/targetGroupAttachment:TargetGroupAttachment":0,"aws:lb/trustStore:TrustStore":0,"aws:lb/trustStoreRevocation:TrustStoreRevocation":0,"aws:lex/bot:Bot":0,"aws:lex/botAlias:BotAlias":0,"aws:lex/intent:Intent":0,"aws:lex/slotType:SlotType":0,"aws:lex/v2modelsBot:V2modelsBot":1,"aws:lex/v2modelsBotLocale:V2modelsBotLocale":1,"aws:lex/v2modelsBotVersion:V2modelsBotVersion":1,"aws:lex/v2modelsIntent:V2modelsIntent":1,"aws:lex/v2modelsSlot:V2modelsSlot":1,"aws:lex/v2modelsSlotType:V2modelsSlotType":1,"aws:licensemanager/association:Association":0,"aws:licensemanager/licenseConfiguration:LicenseConfiguration":0,"aws:licensemanager/licenseGrant:LicenseGrant":0,"aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter":0,"aws:lightsail/bucket:Bucket":0,"aws:lightsail/bucketAccessKey:BucketAccessKey":0,"aws:lightsail/bucketResourceAccess:BucketResourceAccess":0,"aws:lightsail/certificate:Certificate":0,"aws:lightsail/containerService:ContainerService":0,"aws:lightsail/containerServiceDeploymentVersion:ContainerServiceDeploymentVersion":0,"aws:lightsail/database:Database":0,"aws:lightsail/disk:Disk":0,"aws:lightsail/disk_attachment:Disk_attachment":0,"aws:lightsail/distribution:Distribution":0,"aws:lightsail/domain:Domain":0,"aws:lightsail/domainEntry:DomainEntry":0,"aws:lightsail/instance:Instance":0,"aws:lightsail/instancePublicPorts:InstancePublicPorts":0,"aws:lightsail/keyPair:KeyPair":0,"aws:lightsail/lb:Lb":0,"aws:lightsail/lbAttachment:LbAttachment":0,"aws:lightsail/lbCertificate:LbCertificate":0,"aws:lightsail/lbCertificateAttachment:LbCertificateAttachment":0,"aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy":0,"aws:lightsail/lbStickinessPolicy:LbStickinessPolicy":0,"aws:lightsail/staticIp:StaticIp":0,"aws:lightsail/staticIpAttachment:StaticIpAttachment":0,"aws:location/geofenceCollection:GeofenceCollection":0,"aws:location/map:Map":0,"aws:location/placeIndex:PlaceIndex":0,"aws:location/routeCalculation:RouteCalculation":0,"aws:location/tracker:Tracker":0,"aws:location/trackerAssociation:TrackerAssociation":0,"aws:m2/application:Application":1,"aws:m2/deployment:Deployment":1,"aws:m2/environment:Environment":1,"aws:macie/customDataIdentifier:CustomDataIdentifier":0,"aws:macie/findingsFilter:FindingsFilter":0,"aws:macie2/account:Account":0,"aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration":0,"aws:macie2/classificationJob:ClassificationJob":0,"aws:macie2/invitationAccepter:InvitationAccepter":0,"aws:macie2/member:Member":0,"aws:macie2/organizationAdminAccount:OrganizationAdminAccount":0,"aws:mediaconvert/queue:Queue":0,"aws:medialive/channel:Channel":0,"aws:medialive/input:Input":0,"aws:medialive/inputSecurityGroup:InputSecurityGroup":0,"aws:medialive/multiplex:Multiplex":0,"aws:medialive/multiplexProgram:MultiplexProgram":1,"aws:mediapackage/channel:Channel":0,"aws:mediastore/container:Container":0,"aws:mediastore/containerPolicy:ContainerPolicy":0,"aws:memorydb/acl:Acl":0,"aws:memorydb/cluster:Cluster":0,"aws:memorydb/parameterGroup:ParameterGroup":0,"aws:memorydb/snapshot:Snapshot":0,"aws:memorydb/subnetGroup:SubnetGroup":0,"aws:memorydb/user:User":0,"aws:mq/broker:Broker":0,"aws:mq/configuration:Configuration":0,"aws:msk/cluster:Cluster":0,"aws:msk/clusterPolicy:ClusterPolicy":0,"aws:msk/configuration:Configuration":0,"aws:msk/replicator:Replicator":0,"aws:msk/scramSecretAssociation:ScramSecretAssociation":0,"aws:msk/serverlessCluster:ServerlessCluster":0,"aws:msk/vpcConnection:VpcConnection":0,"aws:mskconnect/connector:Connector":0,"aws:mskconnect/customPlugin:CustomPlugin":0,"aws:mskconnect/workerConfiguration:WorkerConfiguration":0,"aws:mwaa/environment:Environment":0,"aws:neptune/cluster:Cluster":0,"aws:neptune/clusterEndpoint:ClusterEndpoint":0,"aws:neptune/clusterInstance:ClusterInstance":0,"aws:neptune/clusterParameterGroup:ClusterParameterGroup":0,"aws:neptune/clusterSnapshot:ClusterSnapshot":0,"aws:neptune/eventSubscription:EventSubscription":0,"aws:neptune/globalCluster:GlobalCluster":0,"aws:neptune/parameterGroup:ParameterGroup":0,"aws:neptune/subnetGroup:SubnetGroup":0,"aws:networkfirewall/firewall:Firewall":0,"aws:networkfirewall/firewallPolicy:FirewallPolicy":0,"aws:networkfirewall/loggingConfiguration:LoggingConfiguration":0,"aws:networkfirewall/resourcePolicy:ResourcePolicy":0,"aws:networkfirewall/ruleGroup:RuleGroup":0,"aws:networkmanager/attachmentAccepter:AttachmentAccepter":0,"aws:networkmanager/connectAttachment:ConnectAttachment":0,"aws:networkmanager/connectPeer:ConnectPeer":0,"aws:networkmanager/connection:Connection":0,"aws:networkmanager/coreNetwork:CoreNetwork":0,"aws:networkmanager/coreNetworkPolicyAttachment:CoreNetworkPolicyAttachment":0,"aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation":0,"aws:networkmanager/device:Device":0,"aws:networkmanager/globalNetwork:GlobalNetwork":0,"aws:networkmanager/link:Link":0,"aws:networkmanager/linkAssociation:LinkAssociation":0,"aws:networkmanager/site:Site":0,"aws:networkmanager/siteToSiteVpnAttachment:SiteToSiteVpnAttachment":0,"aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation":0,"aws:networkmanager/transitGatewayPeering:TransitGatewayPeering":0,"aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration":0,"aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment":0,"aws:networkmanager/vpcAttachment:VpcAttachment":0,"aws:oam/link:Link":0,"aws:oam/sink:Sink":0,"aws:oam/sinkPolicy:SinkPolicy":0,"aws:opensearch/domain:Domain":0,"aws:opensearch/domainPolicy:DomainPolicy":0,"aws:opensearch/domainSamlOptions:DomainSamlOptions":0,"aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter":0,"aws:opensearch/outboundConnection:OutboundConnection":0,"aws:opensearch/package:Package":0,"aws:opensearch/packageAssociation:PackageAssociation":0,"aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy":1,"aws:opensearch/serverlessCollection:ServerlessCollection":1,"aws:opensearch/serverlessLifecyclePolicy:ServerlessLifecyclePolicy":1,"aws:opensearch/serverlessSecurityConfig:ServerlessSecurityConfig":1,"aws:opensearch/serverlessSecurityPolicy:ServerlessSecurityPolicy":1,"aws:opensearch/serverlessVpcEndpoint:ServerlessVpcEndpoint":1,"aws:opensearch/vpcEndpoint:VpcEndpoint":0,"aws:opensearchingest/pipeline:Pipeline":1,"aws:opsworks/application:Application":0,"aws:opsworks/customLayer:CustomLayer":0,"aws:opsworks/ecsClusterLayer:EcsClusterLayer":0,"aws:opsworks/gangliaLayer:GangliaLayer":0,"aws:opsworks/haproxyLayer:HaproxyLayer":0,"aws:opsworks/instance:Instance":0,"aws:opsworks/javaAppLayer:JavaAppLayer":0,"aws:opsworks/memcachedLayer:MemcachedLayer":0,"aws:opsworks/mysqlLayer:MysqlLayer":0,"aws:opsworks/nodejsAppLayer:NodejsAppLayer":0,"aws:opsworks/permission:Permission":0,"aws:opsworks/phpAppLayer:PhpAppLayer":0,"aws:opsworks/railsAppLayer:RailsAppLayer":0,"aws:opsworks/rdsDbInstance:RdsDbInstance":0,"aws:opsworks/stack:Stack":0,"aws:opsworks/staticWebLayer:StaticWebLayer":0,"aws:opsworks/userProfile:UserProfile":0,"aws:organizations/account:Account":0,"aws:organizations/delegatedAdministrator:DelegatedAdministrator":0,"aws:organizations/organization:Organization":0,"aws:organizations/organizationalUnit:OrganizationalUnit":0,"aws:organizations/policy:Policy":0,"aws:organizations/policyAttachment:PolicyAttachment":0,"aws:organizations/resourcePolicy:ResourcePolicy":0,"aws:pinpoint/admChannel:AdmChannel":0,"aws:pinpoint/apnsChannel:ApnsChannel":0,"aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel":0,"aws:pinpoint/apnsVoipChannel:ApnsVoipChannel":0,"aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel":0,"aws:pinpoint/app:App":0,"aws:pinpoint/baiduChannel:BaiduChannel":0,"aws:pinpoint/emailChannel:EmailChannel":0,"aws:pinpoint/eventStream:EventStream":0,"aws:pinpoint/gcmChannel:GcmChannel":0,"aws:pinpoint/smsChannel:SmsChannel":0,"aws:pipes/pipe:Pipe":0,"aws:qldb/ledger:Ledger":0,"aws:qldb/stream:Stream":0,"aws:quicksight/accountSubscription:AccountSubscription":0,"aws:quicksight/analysis:Analysis":0,"aws:quicksight/dashboard:Dashboard":0,"aws:quicksight/dataSet:DataSet":0,"aws:quicksight/dataSource:DataSource":0,"aws:quicksight/folder:Folder":0,"aws:quicksight/folderMembership:FolderMembership":1,"aws:quicksight/group:Group":0,"aws:quicksight/groupMembership:GroupMembership":0,"aws:quicksight/iamPolicyAssignment:IamPolicyAssignment":1,"aws:quicksight/ingestion:Ingestion":1,"aws:quicksight/namespace:Namespace":1,"aws:quicksight/refreshSchedule:RefreshSchedule":1,"aws:quicksight/template:Template":0,"aws:quicksight/templateAlias:TemplateAlias":1,"aws:quicksight/theme:Theme":0,"aws:quicksight/user:User":0,"aws:quicksight/vpcConnection:VpcConnection":1,"aws:ram/principalAssociation:PrincipalAssociation":0,"aws:ram/resourceAssociation:ResourceAssociation":0,"aws:ram/resourceShare:ResourceShare":0,"aws:ram/resourceShareAccepter:ResourceShareAccepter":0,"aws:ram/sharingWithOrganization:SharingWithOrganization":0,"aws:rbin/rule:Rule":0,"aws:rds/cluster:Cluster":0,"aws:rds/clusterActivityStream:ClusterActivityStream":0,"aws:rds/clusterEndpoint:ClusterEndpoint":0,"aws:rds/clusterInstance:ClusterInstance":0,"aws:rds/clusterParameterGroup:ClusterParameterGroup":0,"aws:rds/clusterRoleAssociation:ClusterRoleAssociation":0,"aws:rds/clusterSnapshot:ClusterSnapshot":0,"aws:rds/customDbEngineVersion:CustomDbEngineVersion":0,"aws:rds/eventSubscription:EventSubscription":0,"aws:rds/exportTask:ExportTask":1,"aws:rds/globalCluster:GlobalCluster":0,"aws:rds/instance:Instance":0,"aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication":0,"aws:rds/optionGroup:OptionGroup":0,"aws:rds/parameterGroup:ParameterGroup":0,"aws:rds/proxy:Proxy":0,"aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup":0,"aws:rds/proxyEndpoint:ProxyEndpoint":0,"aws:rds/proxyTarget:ProxyTarget":0,"aws:rds/reservedInstance:ReservedInstance":0,"aws:rds/roleAssociation:RoleAssociation":0,"aws:rds/snapshot:Snapshot":0,"aws:rds/snapshotCopy:SnapshotCopy":0,"aws:rds/subnetGroup:SubnetGroup":0,"aws:redshift/authenticationProfile:AuthenticationProfile":0,"aws:redshift/cluster:Cluster":0,"aws:redshift/clusterIamRoles:ClusterIamRoles":0,"aws:redshift/clusterSnapshot:ClusterSnapshot":0,"aws:redshift/dataShareAuthorization:DataShareAuthorization":1,"aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation":1,"aws:redshift/endpointAccess:EndpointAccess":0,"aws:redshift/endpointAuthorization:EndpointAuthorization":0,"aws:redshift/eventSubscription:EventSubscription":0,"aws:redshift/hsmClientCertificate:HsmClientCertificate":0,"aws:redshift/hsmConfiguration:HsmConfiguration":0,"aws:redshift/logging:Logging":1,"aws:redshift/parameterGroup:ParameterGroup":0,"aws:redshift/partner:Partner":0,"aws:redshift/resourcePolicy:ResourcePolicy":0,"aws:redshift/scheduledAction:ScheduledAction":0,"aws:redshift/snapshotCopy:SnapshotCopy":1,"aws:redshift/snapshotCopyGrant:SnapshotCopyGrant":0,"aws:redshift/snapshotSchedule:SnapshotSchedule":0,"aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation":0,"aws:redshift/subnetGroup:SubnetGroup":0,"aws:redshift/usageLimit:UsageLimit":0,"aws:redshiftdata/statement:Statement":0,"aws:redshiftserverless/customDomainAssociation:CustomDomainAssociation":1,"aws:redshiftserverless/endpointAccess:EndpointAccess":0,"aws:redshiftserverless/namespace:Namespace":0,"aws:redshiftserverless/resourcePolicy:ResourcePolicy":0,"aws:redshiftserverless/snapshot:Snapshot":0,"aws:redshiftserverless/usageLimit:UsageLimit":0,"aws:redshiftserverless/workgroup:Workgroup":0,"aws:rekognition/collection:Collection":1,"aws:rekognition/project:Project":1,"aws:resourceexplorer/index:Index":1,"aws:resourceexplorer/view:View":1,"aws:resourcegroups/group:Group":0,"aws:resourcegroups/resource:Resource":0,"aws:rolesanywhere/profile:Profile":0,"aws:rolesanywhere/trustAnchor:TrustAnchor":0,"aws:route53/cidrCollection:CidrCollection":1,"aws:route53/cidrLocation:CidrLocation":1,"aws:route53/delegationSet:DelegationSet":0,"aws:route53/healthCheck:HealthCheck":0,"aws:route53/hostedZoneDnsSec:HostedZoneDnsSec":0,"aws:route53/keySigningKey:KeySigningKey":0,"aws:route53/queryLog:QueryLog":0,"aws:route53/record:Record":0,"aws:route53/resolverConfig:ResolverConfig":0,"aws:route53/resolverDnsSecConfig:ResolverDnsSecConfig":0,"aws:route53/resolverEndpoint:ResolverEndpoint":0,"aws:route53/resolverFirewallConfig:ResolverFirewallConfig":0,"aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList":0,"aws:route53/resolverFirewallRule:ResolverFirewallRule":0,"aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup":0,"aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation":0,"aws:route53/resolverQueryLogConfig:ResolverQueryLogConfig":0,"aws:route53/resolverQueryLogConfigAssociation:ResolverQueryLogConfigAssociation":0,"aws:route53/resolverRule:ResolverRule":0,"aws:route53/resolverRuleAssociation:ResolverRuleAssociation":0,"aws:route53/trafficPolicy:TrafficPolicy":0,"aws:route53/trafficPolicyInstance:TrafficPolicyInstance":0,"aws:route53/vpcAssociationAuthorization:VpcAssociationAuthorization":0,"aws:route53/zone:Zone":0,"aws:route53/zoneAssociation:ZoneAssociation":0,"aws:route53domains/delegationSignerRecord:DelegationSignerRecord":1,"aws:route53domains/registeredDomain:RegisteredDomain":0,"aws:route53recoverycontrol/cluster:Cluster":0,"aws:route53recoverycontrol/controlPanel:ControlPanel":0,"aws:route53recoverycontrol/routingControl:RoutingControl":0,"aws:route53recoverycontrol/safetyRule:SafetyRule":0,"aws:route53recoveryreadiness/cell:Cell":0,"aws:route53recoveryreadiness/readinessCheck:ReadinessCheck":0,"aws:route53recoveryreadiness/recoveryGroup:RecoveryGroup":0,"aws:route53recoveryreadiness/resourceSet:ResourceSet":0,"aws:rum/appMonitor:AppMonitor":0,"aws:rum/metricsDestination:MetricsDestination":0,"aws:s3/accessPoint:AccessPoint":0,"aws:s3/accountPublicAccessBlock:AccountPublicAccessBlock":0,"aws:s3/analyticsConfiguration:AnalyticsConfiguration":0,"aws:s3/bucket:Bucket":0,"aws:s3/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2":0,"aws:s3/bucketAclV2:BucketAclV2":0,"aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2":0,"aws:s3/bucketIntelligentTieringConfiguration:BucketIntelligentTieringConfiguration":0,"aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2":0,"aws:s3/bucketLoggingV2:BucketLoggingV2":0,"aws:s3/bucketMetric:BucketMetric":0,"aws:s3/bucketNotification:BucketNotification":0,"aws:s3/bucketObject:BucketObject":0,"aws:s3/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2":0,"aws:s3/bucketObjectv2:BucketObjectv2":0,"aws:s3/bucketOwnershipControls:BucketOwnershipControls":0,"aws:s3/bucketPolicy:BucketPolicy":0,"aws:s3/bucketPublicAccessBlock:BucketPublicAccessBlock":0,"aws:s3/bucketReplicationConfig:BucketReplicationConfig":0,"aws:s3/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2":0,"aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2":0,"aws:s3/bucketV2:BucketV2":0,"aws:s3/bucketVersioningV2:BucketVersioningV2":0,"aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2":0,"aws:s3/directoryBucket:DirectoryBucket":1,"aws:s3/inventory:Inventory":0,"aws:s3/objectCopy:ObjectCopy":0,"aws:s3control/accessGrant:AccessGrant":1,"aws:s3control/accessGrantsInstance:AccessGrantsInstance":1,"aws:s3control/accessGrantsInstanceResourcePolicy:AccessGrantsInstanceResourcePolicy":1,"aws:s3control/accessGrantsLocation:AccessGrantsLocation":1,"aws:s3control/accessPointPolicy:AccessPointPolicy":0,"aws:s3control/bucket:Bucket":0,"aws:s3control/bucketLifecycleConfiguration:BucketLifecycleConfiguration":0,"aws:s3control/bucketPolicy:BucketPolicy":0,"aws:s3control/multiRegionAccessPoint:MultiRegionAccessPoint":0,"aws:s3control/multiRegionAccessPointPolicy:MultiRegionAccessPointPolicy":0,"aws:s3control/objectLambdaAccessPoint:ObjectLambdaAccessPoint":0,"aws:s3control/objectLambdaAccessPointPolicy:ObjectLambdaAccessPointPolicy":0,"aws:s3control/storageLensConfiguration:StorageLensConfiguration":0,"aws:s3outposts/endpoint:Endpoint":0,"aws:sagemaker/app:App":0,"aws:sagemaker/appImageConfig:AppImageConfig":0,"aws:sagemaker/codeRepository:CodeRepository":0,"aws:sagemaker/dataQualityJobDefinition:DataQualityJobDefinition":0,"aws:sagemaker/device:Device":0,"aws:sagemaker/deviceFleet:DeviceFleet":0,"aws:sagemaker/domain:Domain":0,"aws:sagemaker/endpoint:Endpoint":0,"aws:sagemaker/endpointConfiguration:EndpointConfiguration":0,"aws:sagemaker/featureGroup:FeatureGroup":0,"aws:sagemaker/flowDefinition:FlowDefinition":0,"aws:sagemaker/humanTaskUI:HumanTaskUI":0,"aws:sagemaker/image:Image":0,"aws:sagemaker/imageVersion:ImageVersion":0,"aws:sagemaker/model:Model":0,"aws:sagemaker/modelPackageGroup:ModelPackageGroup":0,"aws:sagemaker/modelPackageGroupPolicy:ModelPackageGroupPolicy":0,"aws:sagemaker/monitoringSchedule:MonitoringSchedule":0,"aws:sagemaker/notebookInstance:NotebookInstance":0,"aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration":0,"aws:sagemaker/pipeline:Pipeline":0,"aws:sagemaker/project:Project":0,"aws:sagemaker/servicecatalogPortfolioStatus:ServicecatalogPortfolioStatus":0,"aws:sagemaker/space:Space":0,"aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig":0,"aws:sagemaker/userProfile:UserProfile":0,"aws:sagemaker/workforce:Workforce":0,"aws:sagemaker/workteam:Workteam":0,"aws:scheduler/schedule:Schedule":0,"aws:scheduler/scheduleGroup:ScheduleGroup":0,"aws:schemas/discoverer:Discoverer":0,"aws:schemas/registry:Registry":0,"aws:schemas/registryPolicy:RegistryPolicy":0,"aws:schemas/schema:Schema":0,"aws:secretsmanager/secret:Secret":0,"aws:secretsmanager/secretPolicy:SecretPolicy":0,"aws:secretsmanager/secretRotation:SecretRotation":0,"aws:secretsmanager/secretVersion:SecretVersion":0,"aws:securityhub/account:Account":0,"aws:securityhub/actionTarget:ActionTarget":0,"aws:securityhub/automationRule:AutomationRule":1,"aws:securityhub/configurationPolicy:ConfigurationPolicy":0,"aws:securityhub/configurationPolicyAssociation:ConfigurationPolicyAssociation":0,"aws:securityhub/findingAggregator:FindingAggregator":0,"aws:securityhub/insight:Insight":0,"aws:securityhub/inviteAccepter:InviteAccepter":0,"aws:securityhub/member:Member":0,"aws:securityhub/organizationAdminAccount:OrganizationAdminAccount":0,"aws:securityhub/organizationConfiguration:OrganizationConfiguration":0,"aws:securityhub/productSubscription:ProductSubscription":0,"aws:securityhub/standardsControl:StandardsControl":0,"aws:securityhub/standardsSubscription:StandardsSubscription":0,"aws:securitylake/awsLogSource:AwsLogSource":1,"aws:securitylake/customLogSource:CustomLogSource":1,"aws:securitylake/dataLake:DataLake":1,"aws:securitylake/subscriber:Subscriber":1,"aws:securitylake/subscriberNotification:SubscriberNotification":1,"aws:serverlessrepository/cloudFormationStack:CloudFormationStack":0,"aws:servicecatalog/appregistryApplication:AppregistryApplication":1,"aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation":0,"aws:servicecatalog/constraint:Constraint":0,"aws:servicecatalog/organizationsAccess:OrganizationsAccess":0,"aws:servicecatalog/portfolio:Portfolio":0,"aws:servicecatalog/portfolioShare:PortfolioShare":0,"aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation":0,"aws:servicecatalog/product:Product":0,"aws:servicecatalog/productPortfolioAssociation:ProductPortfolioAssociation":0,"aws:servicecatalog/provisionedProduct:ProvisionedProduct":0,"aws:servicecatalog/provisioningArtifact:ProvisioningArtifact":0,"aws:servicecatalog/serviceAction:ServiceAction":0,"aws:servicecatalog/tagOption:TagOption":0,"aws:servicecatalog/tagOptionResourceAssociation:TagOptionResourceAssociation":0,"aws:servicediscovery/httpNamespace:HttpNamespace":0,"aws:servicediscovery/instance:Instance":0,"aws:servicediscovery/privateDnsNamespace:PrivateDnsNamespace":0,"aws:servicediscovery/publicDnsNamespace:PublicDnsNamespace":0,"aws:servicediscovery/service:Service":0,"aws:servicequotas/serviceQuota:ServiceQuota":0,"aws:servicequotas/template:Template":1,"aws:servicequotas/templateAssociation:TemplateAssociation":1,"aws:ses/activeReceiptRuleSet:ActiveReceiptRuleSet":0,"aws:ses/configurationSet:ConfigurationSet":0,"aws:ses/domainDkim:DomainDkim":0,"aws:ses/domainIdentity:DomainIdentity":0,"aws:ses/domainIdentityVerification:DomainIdentityVerification":0,"aws:ses/emailIdentity:EmailIdentity":0,"aws:ses/eventDestination:EventDestination":0,"aws:ses/identityNotificationTopic:IdentityNotificationTopic":0,"aws:ses/identityPolicy:IdentityPolicy":0,"aws:ses/mailFrom:MailFrom":0,"aws:ses/receiptFilter:ReceiptFilter":0,"aws:ses/receiptRule:ReceiptRule":0,"aws:ses/receiptRuleSet:ReceiptRuleSet":0,"aws:ses/template:Template":0,"aws:sesv2/accountVdmAttributes:AccountVdmAttributes":0,"aws:sesv2/configurationSet:ConfigurationSet":0,"aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination":0,"aws:sesv2/contactList:ContactList":0,"aws:sesv2/dedicatedIpAssignment:DedicatedIpAssignment":0,"aws:sesv2/dedicatedIpPool:DedicatedIpPool":0,"aws:sesv2/emailIdentity:EmailIdentity":0,"aws:sesv2/emailIdentityFeedbackAttributes:EmailIdentityFeedbackAttributes":0,"aws:sesv2/emailIdentityMailFromAttributes:EmailIdentityMailFromAttributes":0,"aws:sesv2/emailIdentityPolicy:EmailIdentityPolicy":0,"aws:sfn/activity:Activity":0,"aws:sfn/alias:Alias":0,"aws:sfn/stateMachine:StateMachine":0,"aws:shield/applicationLayerAutomaticResponse:ApplicationLayerAutomaticResponse":1,"aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation":1,"aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation":1,"aws:shield/proactiveEngagement:ProactiveEngagement":1,"aws:shield/protection:Protection":0,"aws:shield/protectionGroup:ProtectionGroup":0,"aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation":0,"aws:signer/signingJob:SigningJob":0,"aws:signer/signingProfile:SigningProfile":0,"aws:signer/signingProfilePermission:SigningProfilePermission":0,"aws:simpledb/domain:Domain":1,"aws:sns/dataProtectionPolicy:DataProtectionPolicy":0,"aws:sns/platformApplication:PlatformApplication":0,"aws:sns/smsPreferences:SmsPreferences":0,"aws:sns/topic:Topic":0,"aws:sns/topicPolicy:TopicPolicy":0,"aws:sns/topicSubscription:TopicSubscription":0,"aws:sqs/queue:Queue":0,"aws:sqs/queuePolicy:QueuePolicy":0,"aws:sqs/redriveAllowPolicy:RedriveAllowPolicy":0,"aws:sqs/redrivePolicy:RedrivePolicy":0,"aws:ssm/activation:Activation":0,"aws:ssm/association:Association":0,"aws:ssm/contactsRotation:ContactsRotation":1,"aws:ssm/defaultPatchBaseline:DefaultPatchBaseline":0,"aws:ssm/document:Document":0,"aws:ssm/maintenanceWindow:MaintenanceWindow":0,"aws:ssm/maintenanceWindowTarget:MaintenanceWindowTarget":0,"aws:ssm/maintenanceWindowTask:MaintenanceWindowTask":0,"aws:ssm/parameter:Parameter":0,"aws:ssm/patchBaseline:PatchBaseline":0,"aws:ssm/patchGroup:PatchGroup":0,"aws:ssm/resourceDataSync:ResourceDataSync":0,"aws:ssm/serviceSetting:ServiceSetting":0,"aws:ssmcontacts/contact:Contact":0,"aws:ssmcontacts/contactChannel:ContactChannel":0,"aws:ssmcontacts/plan:Plan":0,"aws:ssmincidents/replicationSet:ReplicationSet":0,"aws:ssmincidents/responsePlan:ResponsePlan":0,"aws:ssoadmin/accountAssignment:AccountAssignment":0,"aws:ssoadmin/application:Application":1,"aws:ssoadmin/applicationAccessScope:ApplicationAccessScope":1,"aws:ssoadmin/applicationAssignment:ApplicationAssignment":1,"aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration":1,"aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment":0,"aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes":0,"aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment":0,"aws:ssoadmin/permissionSet:PermissionSet":0,"aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy":0,"aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment":0,"aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer":1,"aws:storagegateway/cache:Cache":0,"aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume":0,"aws:storagegateway/fileSystemAssociation:FileSystemAssociation":0,"aws:storagegateway/gateway:Gateway":0,"aws:storagegateway/nfsFileShare:NfsFileShare":0,"aws:storagegateway/smbFileShare:SmbFileShare":0,"aws:storagegateway/storedIscsiVolume:StoredIscsiVolume":0,"aws:storagegateway/tapePool:TapePool":0,"aws:storagegateway/uploadBuffer:UploadBuffer":0,"aws:storagegateway/workingStorage:WorkingStorage":0,"aws:swf/domain:Domain":0,"aws:synthetics/canary:Canary":0,"aws:synthetics/group:Group":0,"aws:synthetics/groupAssociation:GroupAssociation":0,"aws:timestreamwrite/database:Database":0,"aws:timestreamwrite/table:Table":0,"aws:transcribe/languageModel:LanguageModel":0,"aws:transcribe/medicalVocabulary:MedicalVocabulary":0,"aws:transcribe/vocabulary:Vocabulary":0,"aws:transcribe/vocabularyFilter:VocabularyFilter":0,"aws:transfer/access:Access":0,"aws:transfer/agreement:Agreement":0,"aws:transfer/certificate:Certificate":0,"aws:transfer/connector:Connector":0,"aws:transfer/profile:Profile":0,"aws:transfer/server:Server":0,"aws:transfer/sshKey:SshKey":0,"aws:transfer/tag:Tag":0,"aws:transfer/user:User":0,"aws:transfer/workflow:Workflow":0,"aws:verifiedaccess/endpoint:Endpoint":0,"aws:verifiedaccess/group:Group":0,"aws:verifiedaccess/instance:Instance":0,"aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration":0,"aws:verifiedaccess/instanceTrustProviderAttachment:InstanceTrustProviderAttachment":0,"aws:verifiedaccess/trustProvider:TrustProvider":0,"aws:verifiedpermissions/policyStore:PolicyStore":1,"aws:verifiedpermissions/policyTemplate:PolicyTemplate":1,"aws:verifiedpermissions/schema:Schema":1,"aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule":1,"aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule":1,"aws:vpclattice/accessLogSubscription:AccessLogSubscription":0,"aws:vpclattice/authPolicy:AuthPolicy":0,"aws:vpclattice/listener:Listener":0,"aws:vpclattice/listenerRule:ListenerRule":0,"aws:vpclattice/resourcePolicy:ResourcePolicy":0,"aws:vpclattice/service:Service":0,"aws:vpclattice/serviceNetwork:ServiceNetwork":0,"aws:vpclattice/serviceNetworkServiceAssociation:ServiceNetworkServiceAssociation":0,"aws:vpclattice/serviceNetworkVpcAssociation:ServiceNetworkVpcAssociation":0,"aws:vpclattice/targetGroup:TargetGroup":0,"aws:vpclattice/targetGroupAttachment:TargetGroupAttachment":0,"aws:waf/byteMatchSet:ByteMatchSet":0,"aws:waf/geoMatchSet:GeoMatchSet":0,"aws:waf/ipSet:IpSet":0,"aws:waf/rateBasedRule:RateBasedRule":0,"aws:waf/regexMatchSet:RegexMatchSet":0,"aws:waf/regexPatternSet:RegexPatternSet":0,"aws:waf/rule:Rule":0,"aws:waf/ruleGroup:RuleGroup":0,"aws:waf/sizeConstraintSet:SizeConstraintSet":0,"aws:waf/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:waf/webAcl:WebAcl":0,"aws:waf/xssMatchSet:XssMatchSet":0,"aws:wafregional/byteMatchSet:ByteMatchSet":0,"aws:wafregional/geoMatchSet:GeoMatchSet":0,"aws:wafregional/ipSet:IpSet":0,"aws:wafregional/rateBasedRule:RateBasedRule":0,"aws:wafregional/regexMatchSet:RegexMatchSet":0,"aws:wafregional/regexPatternSet:RegexPatternSet":0,"aws:wafregional/rule:Rule":0,"aws:wafregional/ruleGroup:RuleGroup":0,"aws:wafregional/sizeConstraintSet:SizeConstraintSet":0,"aws:wafregional/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:wafregional/webAcl:WebAcl":0,"aws:wafregional/webAclAssociation:WebAclAssociation":0,"aws:wafregional/xssMatchSet:XssMatchSet":0,"aws:wafv2/ipSet:IpSet":0,"aws:wafv2/regexPatternSet:RegexPatternSet":0,"aws:wafv2/ruleGroup:RuleGroup":0,"aws:wafv2/webAcl:WebAcl":0,"aws:wafv2/webAclAssociation:WebAclAssociation":0,"aws:wafv2/webAclLoggingConfiguration:WebAclLoggingConfiguration":0,"aws:worklink/fleet:Fleet":0,"aws:worklink/websiteCertificateAuthorityAssociation:WebsiteCertificateAuthorityAssociation":0,"aws:workspaces/connectionAlias:ConnectionAlias":1,"aws:workspaces/directory:Directory":0,"aws:workspaces/ipGroup:IpGroup":0,"aws:workspaces/workspace:Workspace":0,"aws:xray/encryptionConfig:EncryptionConfig":0,"aws:xray/group:Group":0,"aws:xray/samplingRule:SamplingRule":0},"functions":{"aws:acm/getCertificate:getCertificate":0,"aws:acmpca/getCertificate:getCertificate":0,"aws:acmpca/getCertificateAuthority:getCertificateAuthority":0,"aws:alb/getListener:getListener":0,"aws:alb/getLoadBalancer:getLoadBalancer":0,"aws:alb/getTargetGroup:getTargetGroup":0,"aws:amp/getWorkspace:getWorkspace":0,"aws:amp/getWorkspaces:getWorkspaces":0,"aws:apigateway/getAuthorizer:getAuthorizer":0,"aws:apigateway/getAuthorizers:getAuthorizers":0,"aws:apigateway/getDomainName:getDomainName":0,"aws:apigateway/getExport:getExport":0,"aws:apigateway/getKey:getKey":0,"aws:apigateway/getResource:getResource":0,"aws:apigateway/getRestApi:getRestApi":0,"aws:apigateway/getSdk:getSdk":0,"aws:apigateway/getVpcLink:getVpcLink":0,"aws:apigatewayv2/getApi:getApi":0,"aws:apigatewayv2/getApis:getApis":0,"aws:apigatewayv2/getExport:getExport":0,"aws:apigatewayv2/getVpcLink:getVpcLink":0,"aws:appconfig/getConfigurationProfile:getConfigurationProfile":0,"aws:appconfig/getConfigurationProfiles:getConfigurationProfiles":0,"aws:appconfig/getEnvironment:getEnvironment":0,"aws:appconfig/getEnvironments:getEnvironments":0,"aws:appintegrations/getEventIntegration:getEventIntegration":0,"aws:appmesh/getGatewayRoute:getGatewayRoute":0,"aws:appmesh/getMesh:getMesh":0,"aws:appmesh/getRoute:getRoute":0,"aws:appmesh/getVirtualGateway:getVirtualGateway":0,"aws:appmesh/getVirtualNode:getVirtualNode":0,"aws:appmesh/getVirtualRouter:getVirtualRouter":0,"aws:appmesh/getVirtualService:getVirtualService":0,"aws:apprunner/getHostedZoneId:getHostedZoneId":1,"aws:athena/getNamedQuery:getNamedQuery":0,"aws:auditmanager/getControl:getControl":1,"aws:auditmanager/getFramework:getFramework":1,"aws:autoscaling/getAmiIds:getAmiIds":0,"aws:autoscaling/getGroup:getGroup":0,"aws:backup/getFramework:getFramework":0,"aws:backup/getPlan:getPlan":0,"aws:backup/getReportPlan:getReportPlan":0,"aws:backup/getSelection:getSelection":0,"aws:backup/getVault:getVault":0,"aws:batch/getComputeEnvironment:getComputeEnvironment":0,"aws:batch/getJobDefinition:getJobDefinition":1,"aws:batch/getJobQueue:getJobQueue":0,"aws:batch/getSchedulingPolicy:getSchedulingPolicy":0,"aws:bedrock/getCustomModel:getCustomModel":1,"aws:bedrock/getCustomModels:getCustomModels":1,"aws:bedrockfoundation/getModel:getModel":1,"aws:bedrockfoundation/getModels:getModels":1,"aws:budgets/getBudget:getBudget":0,"aws:cloudcontrol/getResource:getResource":0,"aws:cloudformation/getCloudFormationType:getCloudFormationType":0,"aws:cloudformation/getExport:getExport":0,"aws:cloudformation/getStack:getStack":0,"aws:cloudfront/getCachePolicy:getCachePolicy":0,"aws:cloudfront/getDistribution:getDistribution":0,"aws:cloudfront/getFunction:getFunction":0,"aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId":0,"aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities":0,"aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity":0,"aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy":0,"aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig":0,"aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy":0,"aws:cloudhsmv2/getCluster:getCluster":0,"aws:cloudtrail/getServiceAccount:getServiceAccount":0,"aws:cloudwatch/getEventBus:getEventBus":0,"aws:cloudwatch/getEventConnection:getEventConnection":0,"aws:cloudwatch/getEventSource:getEventSource":0,"aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument":0,"aws:cloudwatch/getLogGroup:getLogGroup":0,"aws:cloudwatch/getLogGroups:getLogGroups":0,"aws:codeartifact/getAuthorizationToken:getAuthorizationToken":0,"aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint":0,"aws:codecatalyst/getDevEnvironment:getDevEnvironment":0,"aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate":0,"aws:codecommit/getRepository:getRepository":0,"aws:codeguruprofiler/getProfilingGroup:getProfilingGroup":1,"aws:codestarconnections/getConnection:getConnection":0,"aws:cognito/getIdentityPool:getIdentityPool":0,"aws:cognito/getUserGroup:getUserGroup":1,"aws:cognito/getUserGroups:getUserGroups":1,"aws:cognito/getUserPoolClient:getUserPoolClient":0,"aws:cognito/getUserPoolClients:getUserPoolClients":0,"aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate":0,"aws:cognito/getUserPools:getUserPools":0,"aws:connect/getBotAssociation:getBotAssociation":0,"aws:connect/getContactFlow:getContactFlow":0,"aws:connect/getContactFlowModule:getContactFlowModule":0,"aws:connect/getHoursOfOperation:getHoursOfOperation":0,"aws:connect/getInstance:getInstance":0,"aws:connect/getInstanceStorageConfig:getInstanceStorageConfig":0,"aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation":0,"aws:connect/getPrompt:getPrompt":0,"aws:connect/getQueue:getQueue":0,"aws:connect/getQuickConnect:getQuickConnect":0,"aws:connect/getRoutingProfile:getRoutingProfile":0,"aws:connect/getSecurityProfile:getSecurityProfile":0,"aws:connect/getUser:getUser":0,"aws:connect/getUserHierarchyGroup:getUserHierarchyGroup":0,"aws:connect/getUserHierarchyStructure:getUserHierarchyStructure":0,"aws:connect/getVocabulary:getVocabulary":0,"aws:controltower/getControls:getControls":0,"aws:costexplorer/getCostCategory:getCostCategory":0,"aws:costexplorer/getTags:getTags":0,"aws:cur/getReportDefinition:getReportDefinition":0,"aws:datapipeline/getPipeline:getPipeline":0,"aws:datapipeline/getPipelineDefinition:getPipelineDefinition":0,"aws:devopsguru/getNotificationChannel:getNotificationChannel":1,"aws:devopsguru/getResourceCollection:getResourceCollection":1,"aws:directconnect/getConnection:getConnection":0,"aws:directconnect/getGateway:getGateway":0,"aws:directconnect/getLocation:getLocation":0,"aws:directconnect/getLocations:getLocations":0,"aws:directconnect/getRouterConfiguration:getRouterConfiguration":0,"aws:directoryservice/getDirectory:getDirectory":0,"aws:dms/getCertificate:getCertificate":0,"aws:dms/getEndpoint:getEndpoint":0,"aws:dms/getReplicationInstance:getReplicationInstance":0,"aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup":0,"aws:dms/getReplicationTask:getReplicationTask":0,"aws:docdb/getEngineVersion:getEngineVersion":0,"aws:docdb/getOrderableDbInstance:getOrderableDbInstance":0,"aws:dynamodb/getTable:getTable":0,"aws:dynamodb/getTableItem:getTableItem":0,"aws:ebs/getDefaultKmsKey:getDefaultKmsKey":0,"aws:ebs/getEbsVolumes:getEbsVolumes":0,"aws:ebs/getEncryptionByDefault:getEncryptionByDefault":0,"aws:ebs/getSnapshot:getSnapshot":0,"aws:ebs/getSnapshotIds:getSnapshotIds":0,"aws:ebs/getVolume:getVolume":0,"aws:ec2/getAmi:getAmi":0,"aws:ec2/getAmiIds:getAmiIds":0,"aws:ec2/getCoipPool:getCoipPool":0,"aws:ec2/getCoipPools:getCoipPools":0,"aws:ec2/getCustomerGateway:getCustomerGateway":0,"aws:ec2/getDedicatedHost:getDedicatedHost":0,"aws:ec2/getEips:getEips":0,"aws:ec2/getElasticIp:getElasticIp":0,"aws:ec2/getInstance:getInstance":0,"aws:ec2/getInstanceType:getInstanceType":0,"aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering":0,"aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:ec2/getInstanceTypes:getInstanceTypes":0,"aws:ec2/getInstances:getInstances":0,"aws:ec2/getInternetGateway:getInternetGateway":0,"aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr":0,"aws:ec2/getKeyPair:getKeyPair":0,"aws:ec2/getLaunchConfiguration:getLaunchConfiguration":0,"aws:ec2/getLaunchTemplate:getLaunchTemplate":0,"aws:ec2/getLocalGateway:getLocalGateway":0,"aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable":0,"aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables":0,"aws:ec2/getLocalGatewayVirtualInterface:getLocalGatewayVirtualInterface":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups":0,"aws:ec2/getLocalGateways:getLocalGateways":0,"aws:ec2/getManagedPrefixList:getManagedPrefixList":0,"aws:ec2/getManagedPrefixLists:getManagedPrefixLists":0,"aws:ec2/getNatGateway:getNatGateway":0,"aws:ec2/getNatGateways:getNatGateways":0,"aws:ec2/getNetworkAcls:getNetworkAcls":0,"aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis":0,"aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath":0,"aws:ec2/getNetworkInterface:getNetworkInterface":0,"aws:ec2/getNetworkInterfaces:getNetworkInterfaces":0,"aws:ec2/getPrefixList:getPrefixList":0,"aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool":0,"aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools":0,"aws:ec2/getRoute:getRoute":0,"aws:ec2/getRouteTable:getRouteTable":0,"aws:ec2/getRouteTables:getRouteTables":0,"aws:ec2/getSecurityGroup:getSecurityGroup":0,"aws:ec2/getSecurityGroups:getSecurityGroups":0,"aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess":0,"aws:ec2/getSpotPrice:getSpotPrice":0,"aws:ec2/getSubnet:getSubnet":0,"aws:ec2/getSubnets:getSubnets":0,"aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables":0,"aws:ec2/getVpc:getVpc":0,"aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions":0,"aws:ec2/getVpcEndpoint:getVpcEndpoint":0,"aws:ec2/getVpcEndpointService:getVpcEndpointService":0,"aws:ec2/getVpcIamPool:getVpcIamPool":0,"aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs":0,"aws:ec2/getVpcIamPools:getVpcIamPools":0,"aws:ec2/getVpcIpamPool:getVpcIpamPool":0,"aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs":0,"aws:ec2/getVpcIpamPools:getVpcIpamPools":0,"aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection":0,"aws:ec2/getVpcPeeringConnections:getVpcPeeringConnections":0,"aws:ec2/getVpcs:getVpcs":0,"aws:ec2/getVpnGateway:getVpnGateway":0,"aws:ec2clientvpn/getEndpoint:getEndpoint":0,"aws:ec2transitgateway/getAttachment:getAttachment":0,"aws:ec2transitgateway/getAttachments:getAttachments":0,"aws:ec2transitgateway/getConnect:getConnect":0,"aws:ec2transitgateway/getConnectPeer:getConnectPeer":0,"aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment":0,"aws:ec2transitgateway/getMulticastDomain:getMulticastDomain":0,"aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment":0,"aws:ec2transitgateway/getRouteTable:getRouteTable":0,"aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations":0,"aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations":0,"aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes":0,"aws:ec2transitgateway/getTransitGateway:getTransitGateway":0,"aws:ec2transitgateway/getVpcAttachment:getVpcAttachment":0,"aws:ec2transitgateway/getVpcAttachments:getVpcAttachments":0,"aws:ec2transitgateway/getVpnAttachment:getVpnAttachment":0,"aws:ecr/getAuthorizationToken:getAuthorizationToken":0,"aws:ecr/getCredentials:getCredentials":0,"aws:ecr/getImage:getImage":0,"aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument":1,"aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule":0,"aws:ecr/getRepositories:getRepositories":1,"aws:ecr/getRepository:getRepository":0,"aws:ecrpublic/getAuthorizationToken:getAuthorizationToken":0,"aws:ecs/getCluster:getCluster":0,"aws:ecs/getContainerDefinition:getContainerDefinition":0,"aws:ecs/getService:getService":0,"aws:ecs/getTaskDefinition:getTaskDefinition":0,"aws:ecs/getTaskExecution:getTaskExecution":0,"aws:efs/getAccessPoint:getAccessPoint":0,"aws:efs/getAccessPoints:getAccessPoints":0,"aws:efs/getFileSystem:getFileSystem":0,"aws:efs/getMountTarget:getMountTarget":0,"aws:eks/getAccessEntry:getAccessEntry":0,"aws:eks/getAddon:getAddon":0,"aws:eks/getAddonVersion:getAddonVersion":0,"aws:eks/getCluster:getCluster":0,"aws:eks/getClusterAuth:getClusterAuth":0,"aws:eks/getClusters:getClusters":0,"aws:eks/getNodeGroup:getNodeGroup":0,"aws:eks/getNodeGroups:getNodeGroups":0,"aws:elasticache/getCluster:getCluster":0,"aws:elasticache/getReplicationGroup:getReplicationGroup":0,"aws:elasticache/getSubnetGroup:getSubnetGroup":0,"aws:elasticache/getUser:getUser":0,"aws:elasticbeanstalk/getApplication:getApplication":0,"aws:elasticbeanstalk/getHostedZone:getHostedZone":0,"aws:elasticbeanstalk/getSolutionStack:getSolutionStack":0,"aws:elasticsearch/getDomain:getDomain":0,"aws:elb/getHostedZoneId:getHostedZoneId":0,"aws:elb/getLoadBalancer:getLoadBalancer":0,"aws:elb/getServiceAccount:getServiceAccount":0,"aws:emr/getReleaseLabels:getReleaseLabels":0,"aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes":1,"aws:emrcontainers/getVirtualCluster:getVirtualCluster":0,"aws:fsx/getOntapFileSystem:getOntapFileSystem":0,"aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine":0,"aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines":0,"aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot":0,"aws:fsx/getWindowsFileSystem:getWindowsFileSystem":0,"aws:globalaccelerator/getAccelerator:getAccelerator":1,"aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator":0,"aws:glue/getCatalogTable:getCatalogTable":0,"aws:glue/getConnection:getConnection":0,"aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings":0,"aws:glue/getScript:getScript":0,"aws:grafana/getWorkspace:getWorkspace":0,"aws:guardduty/getDetector:getDetector":0,"aws:guardduty/getFindingIds:getFindingIds":1,"aws:iam/getAccessKeys:getAccessKeys":0,"aws:iam/getAccountAlias:getAccountAlias":0,"aws:iam/getGroup:getGroup":0,"aws:iam/getInstanceProfile:getInstanceProfile":0,"aws:iam/getInstanceProfiles:getInstanceProfiles":0,"aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider":0,"aws:iam/getPolicy:getPolicy":0,"aws:iam/getPolicyDocument:getPolicyDocument":0,"aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation":0,"aws:iam/getRole:getRole":0,"aws:iam/getRoles:getRoles":0,"aws:iam/getSamlProvider:getSamlProvider":0,"aws:iam/getServerCertificate:getServerCertificate":0,"aws:iam/getSessionContext:getSessionContext":0,"aws:iam/getUser:getUser":0,"aws:iam/getUserSshKey:getUserSshKey":0,"aws:iam/getUsers:getUsers":0,"aws:identitystore/getGroup:getGroup":0,"aws:identitystore/getUser:getUser":0,"aws:imagebuilder/getComponent:getComponent":0,"aws:imagebuilder/getComponents:getComponents":0,"aws:imagebuilder/getContainerRecipe:getContainerRecipe":0,"aws:imagebuilder/getContainerRecipes:getContainerRecipes":0,"aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration":0,"aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations":0,"aws:imagebuilder/getImage:getImage":0,"aws:imagebuilder/getImagePipeline:getImagePipeline":0,"aws:imagebuilder/getImagePipelines:getImagePipelines":0,"aws:imagebuilder/getImageRecipe:getImageRecipe":0,"aws:imagebuilder/getImageRecipes:getImageRecipes":0,"aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration":0,"aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations":0,"aws:index/getArn:getArn":1,"aws:index/getAvailabilityZone:getAvailabilityZone":0,"aws:index/getAvailabilityZones:getAvailabilityZones":0,"aws:index/getBillingServiceAccount:getBillingServiceAccount":1,"aws:index/getCallerIdentity:getCallerIdentity":1,"aws:index/getDefaultTags:getDefaultTags":1,"aws:index/getIpRanges:getIpRanges":1,"aws:index/getPartition:getPartition":1,"aws:index/getRegion:getRegion":1,"aws:index/getRegions:getRegions":1,"aws:index/getService:getService":1,"aws:inspector/getRulesPackages:getRulesPackages":0,"aws:iot/getEndpoint:getEndpoint":0,"aws:iot/getRegistrationCode:getRegistrationCode":0,"aws:ivs/getStreamKey:getStreamKey":0,"aws:kendra/getExperience:getExperience":0,"aws:kendra/getFaq:getFaq":0,"aws:kendra/getIndex:getIndex":0,"aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList":0,"aws:kendra/getThesaurus:getThesaurus":0,"aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream":0,"aws:kinesis/getStream:getStream":0,"aws:kinesis/getStreamConsumer:getStreamConsumer":0,"aws:kms/getAlias:getAlias":0,"aws:kms/getCipherText:getCipherText":0,"aws:kms/getCustomKeyStore:getCustomKeyStore":0,"aws:kms/getKey:getKey":0,"aws:kms/getPublicKey:getPublicKey":0,"aws:kms/getSecret:getSecret":0,"aws:kms/getSecrets:getSecrets":0,"aws:lakeformation/getDataLakeSettings:getDataLakeSettings":0,"aws:lakeformation/getPermissions:getPermissions":0,"aws:lakeformation/getResource:getResource":0,"aws:lambda/getAlias:getAlias":0,"aws:lambda/getCodeSigningConfig:getCodeSigningConfig":0,"aws:lambda/getFunction:getFunction":0,"aws:lambda/getFunctionUrl:getFunctionUrl":0,"aws:lambda/getFunctions:getFunctions":0,"aws:lambda/getInvocation:getInvocation":0,"aws:lambda/getLayerVersion:getLayerVersion":0,"aws:lb/getHostedZoneId:getHostedZoneId":0,"aws:lb/getLbs:getLbs":0,"aws:lb/getListener:getListener":0,"aws:lb/getLoadBalancer:getLoadBalancer":0,"aws:lb/getTargetGroup:getTargetGroup":0,"aws:lb/getTrustStore:getTrustStore":0,"aws:lex/getBot:getBot":0,"aws:lex/getBotAlias:getBotAlias":0,"aws:lex/getIntent:getIntent":0,"aws:lex/getSlotType:getSlotType":0,"aws:licensemanager/getLicenseGrants:getLicenseGrants":0,"aws:licensemanager/getReceivedLicense:getReceivedLicense":0,"aws:licensemanager/getReceivedLicenses:getReceivedLicenses":0,"aws:location/getGeofenceCollection:getGeofenceCollection":0,"aws:location/getMap:getMap":0,"aws:location/getPlaceIndex:getPlaceIndex":0,"aws:location/getRouteCalculator:getRouteCalculator":0,"aws:location/getTracker:getTracker":0,"aws:location/getTrackerAssociation:getTrackerAssociation":0,"aws:location/getTrackerAssociations:getTrackerAssociations":0,"aws:mediaconvert/getQueue:getQueue":0,"aws:medialive/getInput:getInput":1,"aws:memorydb/getAcl:getAcl":0,"aws:memorydb/getCluster:getCluster":0,"aws:memorydb/getParameterGroup:getParameterGroup":0,"aws:memorydb/getSnapshot:getSnapshot":0,"aws:memorydb/getSubnetGroup:getSubnetGroup":0,"aws:memorydb/getUser:getUser":0,"aws:mq/getBroker:getBroker":0,"aws:mq/getBrokerEngineTypes:getBrokerEngineTypes":0,"aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:msk/getBootstrapBrokers:getBootstrapBrokers":0,"aws:msk/getBrokerNodes:getBrokerNodes":0,"aws:msk/getCluster:getCluster":0,"aws:msk/getConfiguration:getConfiguration":0,"aws:msk/getKafkaVersion:getKafkaVersion":0,"aws:msk/getVpcConnection:getVpcConnection":0,"aws:mskconnect/getConnector:getConnector":0,"aws:mskconnect/getCustomPlugin:getCustomPlugin":0,"aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration":0,"aws:neptune/getEngineVersion:getEngineVersion":0,"aws:neptune/getOrderableDbInstance:getOrderableDbInstance":0,"aws:networkfirewall/getFirewall:getFirewall":0,"aws:networkfirewall/getFirewallPolicy:getFirewallPolicy":0,"aws:networkfirewall/getResourcePolicy:getResourcePolicy":0,"aws:networkmanager/getConnection:getConnection":0,"aws:networkmanager/getConnections:getConnections":0,"aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument":0,"aws:networkmanager/getDevice:getDevice":0,"aws:networkmanager/getDevices:getDevices":0,"aws:networkmanager/getGlobalNetwork:getGlobalNetwork":0,"aws:networkmanager/getGlobalNetworks:getGlobalNetworks":0,"aws:networkmanager/getLink:getLink":0,"aws:networkmanager/getLinks:getLinks":0,"aws:networkmanager/getSite:getSite":0,"aws:networkmanager/getSites:getSites":0,"aws:oam/getLink:getLink":0,"aws:oam/getLinks:getLinks":0,"aws:oam/getSink:getSink":0,"aws:oam/getSinks:getSinks":0,"aws:opensearch/getDomain:getDomain":0,"aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy":1,"aws:opensearch/getServerlessCollection:getServerlessCollection":1,"aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy":1,"aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig":1,"aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy":0,"aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint":0,"aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators":0,"aws:organizations/getDelegatedServices:getDelegatedServices":0,"aws:organizations/getOrganization:getOrganization":0,"aws:organizations/getOrganizationalUnit:getOrganizationalUnit":0,"aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts":0,"aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts":0,"aws:organizations/getOrganizationalUnits:getOrganizationalUnits":0,"aws:organizations/getPolicies:getPolicies":0,"aws:organizations/getPoliciesForTarget:getPoliciesForTarget":0,"aws:organizations/getPolicy:getPolicy":0,"aws:organizations/getResourceTags:getResourceTags":0,"aws:outposts/getAsset:getAsset":0,"aws:outposts/getAssets:getAssets":0,"aws:outposts/getOutpost:getOutpost":0,"aws:outposts/getOutpostInstanceType:getOutpostInstanceType":0,"aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes":0,"aws:outposts/getOutposts:getOutposts":0,"aws:outposts/getSite:getSite":0,"aws:outposts/getSites:getSites":0,"aws:polly/getVoices:getVoices":1,"aws:pricing/getProduct:getProduct":0,"aws:qldb/getLedger:getLedger":0,"aws:quicksight/getDataSet:getDataSet":0,"aws:quicksight/getQuicksightGroup:getQuicksightGroup":0,"aws:quicksight/getQuicksightUser:getQuicksightUser":0,"aws:quicksight/getTheme:getTheme":0,"aws:ram/getResourceShare:getResourceShare":0,"aws:rds/getCertificate:getCertificate":0,"aws:rds/getCluster:getCluster":0,"aws:rds/getClusterSnapshot:getClusterSnapshot":0,"aws:rds/getClusters:getClusters":0,"aws:rds/getEngineVersion:getEngineVersion":0,"aws:rds/getEventCategories:getEventCategories":0,"aws:rds/getInstance:getInstance":0,"aws:rds/getInstances:getInstances":0,"aws:rds/getOrderableDbInstance:getOrderableDbInstance":0,"aws:rds/getParameterGroup:getParameterGroup":0,"aws:rds/getProxy:getProxy":0,"aws:rds/getReservedInstanceOffering:getReservedInstanceOffering":0,"aws:rds/getSnapshot:getSnapshot":0,"aws:rds/getSubnetGroup:getSubnetGroup":0,"aws:redshift/getCluster:getCluster":0,"aws:redshift/getClusterCredentials:getClusterCredentials":0,"aws:redshift/getDataShares:getDataShares":1,"aws:redshift/getOrderableCluster:getOrderableCluster":0,"aws:redshift/getProducerDataShares:getProducerDataShares":1,"aws:redshift/getServiceAccount:getServiceAccount":0,"aws:redshift/getSubnetGroup:getSubnetGroup":0,"aws:redshiftserverless/getCredentials:getCredentials":0,"aws:redshiftserverless/getNamespace:getNamespace":0,"aws:redshiftserverless/getWorkgroup:getWorkgroup":0,"aws:resourceexplorer/search:Search":1,"aws:resourcegroupstaggingapi/getResources:getResources":0,"aws:route53/getDelegationSet:getDelegationSet":0,"aws:route53/getQueryLogConfig:getQueryLogConfig":0,"aws:route53/getResolverEndpoint:getResolverEndpoint":0,"aws:route53/getResolverFirewallConfig:getResolverFirewallConfig":0,"aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList":0,"aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup":0,"aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation":0,"aws:route53/getResolverFirewallRules:getResolverFirewallRules":0,"aws:route53/getResolverRule:getResolverRule":0,"aws:route53/getResolverRules:getResolverRules":0,"aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument":0,"aws:route53/getZone:getZone":0,"aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock":0,"aws:s3/getBucket:getBucket":0,"aws:s3/getBucketObject:getBucketObject":0,"aws:s3/getBucketObjects:getBucketObjects":0,"aws:s3/getBucketPolicy:getBucketPolicy":0,"aws:s3/getCanonicalUserId:getCanonicalUserId":0,"aws:s3/getDirectoryBuckets:getDirectoryBuckets":1,"aws:s3/getObject:getObject":0,"aws:s3/getObjects:getObjects":0,"aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint":0,"aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage":0,"aws:secretsmanager/getRandomPassword:getRandomPassword":0,"aws:secretsmanager/getSecret:getSecret":0,"aws:secretsmanager/getSecretRotation:getSecretRotation":0,"aws:secretsmanager/getSecretVersion:getSecretVersion":0,"aws:secretsmanager/getSecrets:getSecrets":0,"aws:serverlessrepository/getApplication:getApplication":0,"aws:servicecatalog/getAppregistryApplication:getAppregistryApplication":1,"aws:servicecatalog/getConstraint:getConstraint":0,"aws:servicecatalog/getLaunchPaths:getLaunchPaths":0,"aws:servicecatalog/getPortfolio:getPortfolio":0,"aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints":0,"aws:servicecatalog/getProduct:getProduct":0,"aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts":0,"aws:servicediscovery/getDnsNamespace:getDnsNamespace":0,"aws:servicediscovery/getHttpNamespace:getHttpNamespace":0,"aws:servicediscovery/getService:getService":0,"aws:servicequotas/getService:getService":0,"aws:servicequotas/getServiceQuota:getServiceQuota":0,"aws:servicequotas/getTemplates:getTemplates":1,"aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet":0,"aws:ses/getDomainIdentity:getDomainIdentity":0,"aws:ses/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getConfigurationSet:getConfigurationSet":0,"aws:sesv2/getDedicatedIpPool:getDedicatedIpPool":0,"aws:sesv2/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes":0,"aws:sfn/getActivity:getActivity":0,"aws:sfn/getAlias:getAlias":0,"aws:sfn/getStateMachine:getStateMachine":0,"aws:sfn/getStateMachineVersions:getStateMachineVersions":0,"aws:signer/getSigningJob:getSigningJob":0,"aws:signer/getSigningProfile:getSigningProfile":0,"aws:sns/getTopic:getTopic":0,"aws:sqs/getQueue:getQueue":0,"aws:sqs/getQueues:getQueues":0,"aws:ssm/getContactsRotation:getContactsRotation":1,"aws:ssm/getDocument:getDocument":0,"aws:ssm/getInstances:getInstances":0,"aws:ssm/getMaintenanceWindows:getMaintenanceWindows":0,"aws:ssm/getParameter:getParameter":0,"aws:ssm/getParametersByPath:getParametersByPath":0,"aws:ssm/getPatchBaseline:getPatchBaseline":0,"aws:ssmcontacts/getContact:getContact":0,"aws:ssmcontacts/getContactChannel:getContactChannel":0,"aws:ssmcontacts/getPlan:getPlan":0,"aws:ssmincidents/getReplicationSet:getReplicationSet":0,"aws:ssmincidents/getResponsePlan:getResponsePlan":0,"aws:ssoadmin/getApplication:getApplication":1,"aws:ssoadmin/getApplicationAssignments:getApplicationAssignments":1,"aws:ssoadmin/getApplicationProviders:getApplicationProviders":1,"aws:ssoadmin/getInstances:getInstances":0,"aws:ssoadmin/getPermissionSet:getPermissionSet":0,"aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments":1,"aws:storagegateway/getLocalDisk:getLocalDisk":0,"aws:transfer/getServer:getServer":0,"aws:verifiedpermissions/getPolicyStore:getPolicyStore":1,"aws:vpc/getSecurityGroupRule:getSecurityGroupRule":1,"aws:vpc/getSecurityGroupRules:getSecurityGroupRules":1,"aws:vpclattice/getAuthPolicy:getAuthPolicy":0,"aws:vpclattice/getListener:getListener":0,"aws:vpclattice/getResourcePolicy:getResourcePolicy":0,"aws:vpclattice/getService:getService":0,"aws:vpclattice/getServiceNetwork:getServiceNetwork":0,"aws:waf/getIpset:getIpset":0,"aws:waf/getRateBasedRule:getRateBasedRule":0,"aws:waf/getRule:getRule":0,"aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:waf/getWebAcl:getWebAcl":0,"aws:wafregional/getIpset:getIpset":0,"aws:wafregional/getRateBasedMod:getRateBasedMod":0,"aws:wafregional/getRule:getRule":0,"aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:wafregional/getWebAcl:getWebAcl":0,"aws:wafv2/getIpSet:getIpSet":0,"aws:wafv2/getRegexPatternSet:getRegexPatternSet":0,"aws:wafv2/getRuleGroup:getRuleGroup":0,"aws:wafv2/getWebAcl:getWebAcl":0,"aws:workspaces/getBundle:getBundle":0,"aws:workspaces/getDirectory:getDirectory":0,"aws:workspaces/getImage:getImage":0,"aws:workspaces/getWorkspace:getWorkspace":0}}} \ No newline at end of file +{"auto-settings":{"resources":{"aws_eks_cluster":{"maxItemsOneOverrides":{"certificate_authority":true}},"aws_fsx_openzfs_file_system":{"maxItemsOneOverrides":{"subnet_ids":true}},"aws_lexv2models_slot":{"maxItemsOneOverrides":{"value_elicitation_setting.$.prompt_specification.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.prompt_specification.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.continue_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.still_waiting_response.$.message_group.$.variation.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.message.$.custom_payload":false,"value_elicitation_setting.$.wait_and_continue_specification.$.waiting_response.$.message_group.$.variation.$.custom_payload":false}},"aws_sagemaker_app_image_config":{"maxItemsOneOverrides":{"kernel_gateway_image_config.$.kernel_spec":true}}},"datasources":{"aws_vpc_ipam_pool":{"renames":["aws:ec2/getVpcIamPool:getVpcIamPool"]},"aws_vpc_ipam_pool_cidrs":{"renames":["aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs"]},"aws_vpc_ipam_pools":{"renames":["aws:ec2/getVpcIamPools:getVpcIamPools"]}}},"mux":{"resources":{"aws:accessanalyzer/analyzer:Analyzer":0,"aws:accessanalyzer/archiveRule:ArchiveRule":0,"aws:account/alternativeContact:AlternativeContact":0,"aws:account/primaryContact:PrimaryContact":0,"aws:account/region:Region":0,"aws:acm/certificate:Certificate":0,"aws:acm/certificateValidation:CertificateValidation":0,"aws:acmpca/certificate:Certificate":0,"aws:acmpca/certificateAuthority:CertificateAuthority":0,"aws:acmpca/certificateAuthorityCertificate:CertificateAuthorityCertificate":0,"aws:acmpca/permission:Permission":0,"aws:acmpca/policy:Policy":0,"aws:alb/listener:Listener":0,"aws:alb/listenerCertificate:ListenerCertificate":0,"aws:alb/listenerRule:ListenerRule":0,"aws:alb/loadBalancer:LoadBalancer":0,"aws:alb/targetGroup:TargetGroup":0,"aws:alb/targetGroupAttachment:TargetGroupAttachment":0,"aws:amp/alertManagerDefinition:AlertManagerDefinition":0,"aws:amp/ruleGroupNamespace:RuleGroupNamespace":0,"aws:amp/scraper:Scraper":1,"aws:amp/workspace:Workspace":0,"aws:amplify/app:App":0,"aws:amplify/backendEnvironment:BackendEnvironment":0,"aws:amplify/branch:Branch":0,"aws:amplify/domainAssociation:DomainAssociation":0,"aws:amplify/webhook:Webhook":0,"aws:apigateway/account:Account":0,"aws:apigateway/apiKey:ApiKey":0,"aws:apigateway/authorizer:Authorizer":0,"aws:apigateway/basePathMapping:BasePathMapping":0,"aws:apigateway/clientCertificate:ClientCertificate":0,"aws:apigateway/deployment:Deployment":0,"aws:apigateway/documentationPart:DocumentationPart":0,"aws:apigateway/documentationVersion:DocumentationVersion":0,"aws:apigateway/domainName:DomainName":0,"aws:apigateway/integration:Integration":0,"aws:apigateway/integrationResponse:IntegrationResponse":0,"aws:apigateway/method:Method":0,"aws:apigateway/methodResponse:MethodResponse":0,"aws:apigateway/methodSettings:MethodSettings":0,"aws:apigateway/model:Model":0,"aws:apigateway/requestValidator:RequestValidator":0,"aws:apigateway/resource:Resource":0,"aws:apigateway/response:Response":0,"aws:apigateway/restApi:RestApi":0,"aws:apigateway/restApiPolicy:RestApiPolicy":0,"aws:apigateway/stage:Stage":0,"aws:apigateway/usagePlan:UsagePlan":0,"aws:apigateway/usagePlanKey:UsagePlanKey":0,"aws:apigateway/vpcLink:VpcLink":0,"aws:apigatewayv2/api:Api":0,"aws:apigatewayv2/apiMapping:ApiMapping":0,"aws:apigatewayv2/authorizer:Authorizer":0,"aws:apigatewayv2/deployment:Deployment":0,"aws:apigatewayv2/domainName:DomainName":0,"aws:apigatewayv2/integration:Integration":0,"aws:apigatewayv2/integrationResponse:IntegrationResponse":0,"aws:apigatewayv2/model:Model":0,"aws:apigatewayv2/route:Route":0,"aws:apigatewayv2/routeResponse:RouteResponse":0,"aws:apigatewayv2/stage:Stage":0,"aws:apigatewayv2/vpcLink:VpcLink":0,"aws:appautoscaling/policy:Policy":0,"aws:appautoscaling/scheduledAction:ScheduledAction":0,"aws:appautoscaling/target:Target":0,"aws:appconfig/application:Application":0,"aws:appconfig/configurationProfile:ConfigurationProfile":0,"aws:appconfig/deployment:Deployment":0,"aws:appconfig/deploymentStrategy:DeploymentStrategy":0,"aws:appconfig/environment:Environment":1,"aws:appconfig/eventIntegration:EventIntegration":0,"aws:appconfig/extension:Extension":0,"aws:appconfig/extensionAssociation:ExtensionAssociation":0,"aws:appconfig/hostedConfigurationVersion:HostedConfigurationVersion":0,"aws:appflow/connectorProfile:ConnectorProfile":0,"aws:appflow/flow:Flow":0,"aws:appintegrations/dataIntegration:DataIntegration":0,"aws:applicationinsights/application:Application":0,"aws:appmesh/gatewayRoute:GatewayRoute":0,"aws:appmesh/mesh:Mesh":0,"aws:appmesh/route:Route":0,"aws:appmesh/virtualGateway:VirtualGateway":0,"aws:appmesh/virtualNode:VirtualNode":0,"aws:appmesh/virtualRouter:VirtualRouter":0,"aws:appmesh/virtualService:VirtualService":0,"aws:apprunner/autoScalingConfigurationVersion:AutoScalingConfigurationVersion":0,"aws:apprunner/connection:Connection":0,"aws:apprunner/customDomainAssociation:CustomDomainAssociation":0,"aws:apprunner/defaultAutoScalingConfigurationVersion:DefaultAutoScalingConfigurationVersion":1,"aws:apprunner/deployment:Deployment":1,"aws:apprunner/observabilityConfiguration:ObservabilityConfiguration":0,"aws:apprunner/service:Service":0,"aws:apprunner/vpcConnector:VpcConnector":0,"aws:apprunner/vpcIngressConnection:VpcIngressConnection":0,"aws:appstream/directoryConfig:DirectoryConfig":0,"aws:appstream/fleet:Fleet":0,"aws:appstream/fleetStackAssociation:FleetStackAssociation":0,"aws:appstream/imageBuilder:ImageBuilder":0,"aws:appstream/stack:Stack":0,"aws:appstream/user:User":0,"aws:appstream/userStackAssociation:UserStackAssociation":0,"aws:appsync/apiCache:ApiCache":0,"aws:appsync/apiKey:ApiKey":0,"aws:appsync/dataSource:DataSource":0,"aws:appsync/domainName:DomainName":0,"aws:appsync/domainNameApiAssociation:DomainNameApiAssociation":0,"aws:appsync/function:Function":0,"aws:appsync/graphQLApi:GraphQLApi":0,"aws:appsync/resolver:Resolver":0,"aws:appsync/type:Type":0,"aws:athena/dataCatalog:DataCatalog":0,"aws:athena/database:Database":0,"aws:athena/namedQuery:NamedQuery":0,"aws:athena/preparedStatement:PreparedStatement":0,"aws:athena/workgroup:Workgroup":0,"aws:auditmanager/accountRegistration:AccountRegistration":1,"aws:auditmanager/assessment:Assessment":1,"aws:auditmanager/assessmentDelegation:AssessmentDelegation":1,"aws:auditmanager/assessmentReport:AssessmentReport":1,"aws:auditmanager/control:Control":1,"aws:auditmanager/framework:Framework":1,"aws:auditmanager/frameworkShare:FrameworkShare":1,"aws:auditmanager/organizationAdminAccountRegistration:OrganizationAdminAccountRegistration":1,"aws:autoscaling/attachment:Attachment":0,"aws:autoscaling/group:Group":0,"aws:autoscaling/lifecycleHook:LifecycleHook":0,"aws:autoscaling/notification:Notification":0,"aws:autoscaling/policy:Policy":0,"aws:autoscaling/schedule:Schedule":0,"aws:autoscaling/tag:Tag":0,"aws:autoscaling/trafficSourceAttachment:TrafficSourceAttachment":0,"aws:autoscalingplans/scalingPlan:ScalingPlan":0,"aws:backup/framework:Framework":0,"aws:backup/globalSettings:GlobalSettings":0,"aws:backup/plan:Plan":0,"aws:backup/regionSettings:RegionSettings":0,"aws:backup/reportPlan:ReportPlan":0,"aws:backup/selection:Selection":0,"aws:backup/vault:Vault":0,"aws:backup/vaultLockConfiguration:VaultLockConfiguration":0,"aws:backup/vaultNotifications:VaultNotifications":0,"aws:backup/vaultPolicy:VaultPolicy":0,"aws:batch/computeEnvironment:ComputeEnvironment":0,"aws:batch/jobDefinition:JobDefinition":0,"aws:batch/jobQueue:JobQueue":1,"aws:batch/schedulingPolicy:SchedulingPolicy":0,"aws:bcmdata/export:Export":1,"aws:bedrock/agentAgent:AgentAgent":1,"aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup":1,"aws:bedrock/agentAgentAlias:AgentAgentAlias":1,"aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase":1,"aws:bedrock/customModel:CustomModel":1,"aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput":1,"aws:bedrockmodel/invocationLoggingConfiguration:InvocationLoggingConfiguration":1,"aws:budgets/budget:Budget":0,"aws:budgets/budgetAction:BudgetAction":0,"aws:cfg/aggregateAuthorization:AggregateAuthorization":0,"aws:cfg/configurationAggregator:ConfigurationAggregator":0,"aws:cfg/conformancePack:ConformancePack":0,"aws:cfg/deliveryChannel:DeliveryChannel":0,"aws:cfg/organizationConformancePack:OrganizationConformancePack":0,"aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule":0,"aws:cfg/organizationCustomRule:OrganizationCustomRule":0,"aws:cfg/organizationManagedRule:OrganizationManagedRule":0,"aws:cfg/recorder:Recorder":0,"aws:cfg/recorderStatus:RecorderStatus":0,"aws:cfg/remediationConfiguration:RemediationConfiguration":0,"aws:cfg/retentionConfiguration:RetentionConfiguration":1,"aws:cfg/rule:Rule":0,"aws:chime/sdkvoiceGlobalSettings:SdkvoiceGlobalSettings":0,"aws:chime/sdkvoiceSipMediaApplication:SdkvoiceSipMediaApplication":0,"aws:chime/sdkvoiceSipRule:SdkvoiceSipRule":0,"aws:chime/sdkvoiceVoiceProfileDomain:SdkvoiceVoiceProfileDomain":0,"aws:chime/voiceConnector:VoiceConnector":0,"aws:chime/voiceConnectorGroup:VoiceConnectorGroup":0,"aws:chime/voiceConnectorLogging:VoiceConnectorLogging":0,"aws:chime/voiceConnectorOrganization:VoiceConnectorOrganization":0,"aws:chime/voiceConnectorStreaming:VoiceConnectorStreaming":0,"aws:chime/voiceConnectorTermination:VoiceConnectorTermination":0,"aws:chime/voiceConnectorTerminationCredentials:VoiceConnectorTerminationCredentials":0,"aws:chimesdkmediapipelines/mediaInsightsPipelineConfiguration:MediaInsightsPipelineConfiguration":0,"aws:cleanrooms/collaboration:Collaboration":0,"aws:cleanrooms/configuredTable:ConfiguredTable":0,"aws:cloud9/environmentEC2:EnvironmentEC2":0,"aws:cloud9/environmentMembership:EnvironmentMembership":0,"aws:cloudcontrol/resource:Resource":0,"aws:cloudformation/cloudFormationType:CloudFormationType":0,"aws:cloudformation/stack:Stack":0,"aws:cloudformation/stackSet:StackSet":0,"aws:cloudformation/stackSetInstance:StackSetInstance":0,"aws:cloudfront/cachePolicy:CachePolicy":0,"aws:cloudfront/continuousDeploymentPolicy:ContinuousDeploymentPolicy":1,"aws:cloudfront/distribution:Distribution":0,"aws:cloudfront/fieldLevelEncryptionConfig:FieldLevelEncryptionConfig":0,"aws:cloudfront/fieldLevelEncryptionProfile:FieldLevelEncryptionProfile":0,"aws:cloudfront/function:Function":0,"aws:cloudfront/keyGroup:KeyGroup":0,"aws:cloudfront/keyValueStore:KeyValueStore":1,"aws:cloudfront/keyvaluestoreKey:KeyvaluestoreKey":1,"aws:cloudfront/monitoringSubscription:MonitoringSubscription":0,"aws:cloudfront/originAccessControl:OriginAccessControl":0,"aws:cloudfront/originAccessIdentity:OriginAccessIdentity":0,"aws:cloudfront/originRequestPolicy:OriginRequestPolicy":0,"aws:cloudfront/publicKey:PublicKey":0,"aws:cloudfront/realtimeLogConfig:RealtimeLogConfig":0,"aws:cloudfront/responseHeadersPolicy:ResponseHeadersPolicy":0,"aws:cloudhsmv2/cluster:Cluster":0,"aws:cloudhsmv2/hsm:Hsm":0,"aws:cloudsearch/domain:Domain":0,"aws:cloudsearch/domainServiceAccessPolicy:DomainServiceAccessPolicy":0,"aws:cloudtrail/eventDataStore:EventDataStore":0,"aws:cloudtrail/trail:Trail":0,"aws:cloudwatch/compositeAlarm:CompositeAlarm":0,"aws:cloudwatch/dashboard:Dashboard":0,"aws:cloudwatch/eventApiDestination:EventApiDestination":0,"aws:cloudwatch/eventArchive:EventArchive":0,"aws:cloudwatch/eventBus:EventBus":0,"aws:cloudwatch/eventBusPolicy:EventBusPolicy":0,"aws:cloudwatch/eventConnection:EventConnection":0,"aws:cloudwatch/eventEndpoint:EventEndpoint":0,"aws:cloudwatch/eventPermission:EventPermission":0,"aws:cloudwatch/eventRule:EventRule":0,"aws:cloudwatch/eventTarget:EventTarget":0,"aws:cloudwatch/internetMonitor:InternetMonitor":0,"aws:cloudwatch/logDataProtectionPolicy:LogDataProtectionPolicy":0,"aws:cloudwatch/logDestination:LogDestination":0,"aws:cloudwatch/logDestinationPolicy:LogDestinationPolicy":0,"aws:cloudwatch/logGroup:LogGroup":0,"aws:cloudwatch/logMetricFilter:LogMetricFilter":0,"aws:cloudwatch/logResourcePolicy:LogResourcePolicy":0,"aws:cloudwatch/logStream:LogStream":0,"aws:cloudwatch/logSubscriptionFilter:LogSubscriptionFilter":0,"aws:cloudwatch/metricAlarm:MetricAlarm":0,"aws:cloudwatch/metricStream:MetricStream":0,"aws:cloudwatch/queryDefinition:QueryDefinition":0,"aws:codeartifact/domain:Domain":0,"aws:codeartifact/domainPermissions:DomainPermissions":0,"aws:codeartifact/repository:Repository":0,"aws:codeartifact/repositoryPermissionsPolicy:RepositoryPermissionsPolicy":0,"aws:codebuild/project:Project":0,"aws:codebuild/reportGroup:ReportGroup":0,"aws:codebuild/resourcePolicy:ResourcePolicy":0,"aws:codebuild/sourceCredential:SourceCredential":0,"aws:codebuild/webhook:Webhook":0,"aws:codecatalyst/devEnvironment:DevEnvironment":0,"aws:codecatalyst/project:Project":0,"aws:codecatalyst/sourceRepository:SourceRepository":0,"aws:codecommit/approvalRuleTemplate:ApprovalRuleTemplate":0,"aws:codecommit/approvalRuleTemplateAssociation:ApprovalRuleTemplateAssociation":0,"aws:codecommit/repository:Repository":0,"aws:codecommit/trigger:Trigger":0,"aws:codedeploy/application:Application":0,"aws:codedeploy/deploymentConfig:DeploymentConfig":0,"aws:codedeploy/deploymentGroup:DeploymentGroup":0,"aws:codeguruprofiler/profilingGroup:ProfilingGroup":1,"aws:codegurureviewer/repositoryAssociation:RepositoryAssociation":0,"aws:codepipeline/customActionType:CustomActionType":0,"aws:codepipeline/pipeline:Pipeline":0,"aws:codepipeline/webhook:Webhook":0,"aws:codestarconnections/connection:Connection":0,"aws:codestarconnections/host:Host":0,"aws:codestarnotifications/notificationRule:NotificationRule":0,"aws:cognito/identityPool:IdentityPool":0,"aws:cognito/identityPoolProviderPrincipalTag:IdentityPoolProviderPrincipalTag":0,"aws:cognito/identityPoolRoleAttachment:IdentityPoolRoleAttachment":0,"aws:cognito/identityProvider:IdentityProvider":0,"aws:cognito/managedUserPoolClient:ManagedUserPoolClient":1,"aws:cognito/resourceServer:ResourceServer":0,"aws:cognito/riskConfiguration:RiskConfiguration":0,"aws:cognito/user:User":0,"aws:cognito/userGroup:UserGroup":0,"aws:cognito/userInGroup:UserInGroup":0,"aws:cognito/userPool:UserPool":0,"aws:cognito/userPoolClient:UserPoolClient":1,"aws:cognito/userPoolDomain:UserPoolDomain":0,"aws:cognito/userPoolUICustomization:UserPoolUICustomization":0,"aws:comprehend/documentClassifier:DocumentClassifier":0,"aws:comprehend/entityRecognizer:EntityRecognizer":0,"aws:connect/botAssociation:BotAssociation":0,"aws:connect/contactFlow:ContactFlow":0,"aws:connect/contactFlowModule:ContactFlowModule":0,"aws:connect/hoursOfOperation:HoursOfOperation":0,"aws:connect/instance:Instance":0,"aws:connect/instanceStorageConfig:InstanceStorageConfig":0,"aws:connect/lambdaFunctionAssociation:LambdaFunctionAssociation":0,"aws:connect/phoneNumber:PhoneNumber":0,"aws:connect/queue:Queue":0,"aws:connect/quickConnect:QuickConnect":0,"aws:connect/routingProfile:RoutingProfile":0,"aws:connect/securityProfile:SecurityProfile":0,"aws:connect/user:User":0,"aws:connect/userHierarchyGroup:UserHierarchyGroup":0,"aws:connect/userHierarchyStructure:UserHierarchyStructure":0,"aws:connect/vocabulary:Vocabulary":0,"aws:controltower/controlTowerControl:ControlTowerControl":0,"aws:controltower/landingZone:LandingZone":0,"aws:costexplorer/anomalyMonitor:AnomalyMonitor":0,"aws:costexplorer/anomalySubscription:AnomalySubscription":0,"aws:costexplorer/costAllocationTag:CostAllocationTag":0,"aws:costexplorer/costCategory:CostCategory":0,"aws:cur/reportDefinition:ReportDefinition":0,"aws:customerprofiles/domain:Domain":0,"aws:customerprofiles/profile:Profile":0,"aws:dataexchange/dataSet:DataSet":0,"aws:dataexchange/revision:Revision":0,"aws:datapipeline/pipeline:Pipeline":0,"aws:datapipeline/pipelineDefinition:PipelineDefinition":0,"aws:datasync/agent:Agent":0,"aws:datasync/efsLocation:EfsLocation":0,"aws:datasync/fsxOpenZfsFileSystem:FsxOpenZfsFileSystem":0,"aws:datasync/locationAzureBlob:LocationAzureBlob":0,"aws:datasync/locationFsxLustre:LocationFsxLustre":0,"aws:datasync/locationFsxOntapFileSystem:LocationFsxOntapFileSystem":0,"aws:datasync/locationFsxWindows:LocationFsxWindows":0,"aws:datasync/locationHdfs:LocationHdfs":0,"aws:datasync/locationObjectStorage:LocationObjectStorage":0,"aws:datasync/locationSmb:LocationSmb":0,"aws:datasync/nfsLocation:NfsLocation":0,"aws:datasync/s3Location:S3Location":0,"aws:datasync/task:Task":0,"aws:dax/cluster:Cluster":0,"aws:dax/parameterGroup:ParameterGroup":0,"aws:dax/subnetGroup:SubnetGroup":0,"aws:detective/graph:Graph":0,"aws:detective/invitationAccepter:InvitationAccepter":0,"aws:detective/member:Member":0,"aws:detective/organizationAdminAccount:OrganizationAdminAccount":0,"aws:detective/organizationConfiguration:OrganizationConfiguration":0,"aws:devicefarm/devicePool:DevicePool":0,"aws:devicefarm/instanceProfile:InstanceProfile":0,"aws:devicefarm/networkProfile:NetworkProfile":0,"aws:devicefarm/project:Project":0,"aws:devicefarm/testGridProject:TestGridProject":0,"aws:devicefarm/upload:Upload":0,"aws:devopsguru/eventSourcesConfig:EventSourcesConfig":1,"aws:devopsguru/notificationChannel:NotificationChannel":1,"aws:devopsguru/resourceCollection:ResourceCollection":1,"aws:devopsguru/serviceIntegration:ServiceIntegration":1,"aws:directconnect/bgpPeer:BgpPeer":0,"aws:directconnect/connection:Connection":0,"aws:directconnect/connectionAssociation:ConnectionAssociation":0,"aws:directconnect/connectionConfirmation:ConnectionConfirmation":0,"aws:directconnect/gateway:Gateway":0,"aws:directconnect/gatewayAssociation:GatewayAssociation":0,"aws:directconnect/gatewayAssociationProposal:GatewayAssociationProposal":0,"aws:directconnect/hostedConnection:HostedConnection":0,"aws:directconnect/hostedPrivateVirtualInterface:HostedPrivateVirtualInterface":0,"aws:directconnect/hostedPrivateVirtualInterfaceAccepter:HostedPrivateVirtualInterfaceAccepter":0,"aws:directconnect/hostedPublicVirtualInterface:HostedPublicVirtualInterface":0,"aws:directconnect/hostedPublicVirtualInterfaceAccepter:HostedPublicVirtualInterfaceAccepter":0,"aws:directconnect/hostedTransitVirtualInterface:HostedTransitVirtualInterface":0,"aws:directconnect/hostedTransitVirtualInterfaceAcceptor:HostedTransitVirtualInterfaceAcceptor":0,"aws:directconnect/linkAggregationGroup:LinkAggregationGroup":0,"aws:directconnect/macsecKeyAssociation:MacsecKeyAssociation":0,"aws:directconnect/privateVirtualInterface:PrivateVirtualInterface":0,"aws:directconnect/publicVirtualInterface:PublicVirtualInterface":0,"aws:directconnect/transitVirtualInterface:TransitVirtualInterface":0,"aws:directoryservice/conditionalForwader:ConditionalForwader":0,"aws:directoryservice/directory:Directory":0,"aws:directoryservice/logService:LogService":0,"aws:directoryservice/radiusSettings:RadiusSettings":0,"aws:directoryservice/serviceRegion:ServiceRegion":0,"aws:directoryservice/sharedDirectory:SharedDirectory":0,"aws:directoryservice/sharedDirectoryAccepter:SharedDirectoryAccepter":0,"aws:directoryservice/trust:Trust":1,"aws:dlm/lifecyclePolicy:LifecyclePolicy":0,"aws:dms/certificate:Certificate":0,"aws:dms/endpoint:Endpoint":0,"aws:dms/eventSubscription:EventSubscription":0,"aws:dms/replicationConfig:ReplicationConfig":0,"aws:dms/replicationInstance:ReplicationInstance":0,"aws:dms/replicationSubnetGroup:ReplicationSubnetGroup":0,"aws:dms/replicationTask:ReplicationTask":0,"aws:dms/s3Endpoint:S3Endpoint":0,"aws:docdb/cluster:Cluster":0,"aws:docdb/clusterInstance:ClusterInstance":0,"aws:docdb/clusterParameterGroup:ClusterParameterGroup":0,"aws:docdb/clusterSnapshot:ClusterSnapshot":0,"aws:docdb/elasticCluster:ElasticCluster":1,"aws:docdb/eventSubscription:EventSubscription":0,"aws:docdb/globalCluster:GlobalCluster":0,"aws:docdb/subnetGroup:SubnetGroup":0,"aws:dynamodb/contributorInsights:ContributorInsights":0,"aws:dynamodb/globalTable:GlobalTable":0,"aws:dynamodb/kinesisStreamingDestination:KinesisStreamingDestination":0,"aws:dynamodb/resourcePolicy:ResourcePolicy":1,"aws:dynamodb/table:Table":0,"aws:dynamodb/tableExport:TableExport":0,"aws:dynamodb/tableItem:TableItem":0,"aws:dynamodb/tableReplica:TableReplica":0,"aws:dynamodb/tag:Tag":0,"aws:ebs/defaultKmsKey:DefaultKmsKey":0,"aws:ebs/encryptionByDefault:EncryptionByDefault":0,"aws:ebs/fastSnapshotRestore:FastSnapshotRestore":1,"aws:ebs/snapshot:Snapshot":0,"aws:ebs/snapshotCopy:SnapshotCopy":0,"aws:ebs/snapshotImport:SnapshotImport":0,"aws:ebs/volume:Volume":0,"aws:ec2/ami:Ami":0,"aws:ec2/amiCopy:AmiCopy":0,"aws:ec2/amiFromInstance:AmiFromInstance":0,"aws:ec2/amiLaunchPermission:AmiLaunchPermission":0,"aws:ec2/availabilityZoneGroup:AvailabilityZoneGroup":0,"aws:ec2/capacityReservation:CapacityReservation":0,"aws:ec2/carrierGateway:CarrierGateway":0,"aws:ec2/customerGateway:CustomerGateway":0,"aws:ec2/dedicatedHost:DedicatedHost":0,"aws:ec2/defaultNetworkAcl:DefaultNetworkAcl":0,"aws:ec2/defaultRouteTable:DefaultRouteTable":0,"aws:ec2/defaultSecurityGroup:DefaultSecurityGroup":0,"aws:ec2/defaultSubnet:DefaultSubnet":0,"aws:ec2/defaultVpc:DefaultVpc":0,"aws:ec2/defaultVpcDhcpOptions:DefaultVpcDhcpOptions":0,"aws:ec2/egressOnlyInternetGateway:EgressOnlyInternetGateway":0,"aws:ec2/eip:Eip":0,"aws:ec2/eipAssociation:EipAssociation":0,"aws:ec2/eipDomainName:EipDomainName":1,"aws:ec2/fleet:Fleet":0,"aws:ec2/flowLog:FlowLog":0,"aws:ec2/imageBlockPublicAccess:ImageBlockPublicAccess":0,"aws:ec2/instance:Instance":0,"aws:ec2/instanceMetadataDefaults:InstanceMetadataDefaults":1,"aws:ec2/internetGateway:InternetGateway":0,"aws:ec2/internetGatewayAttachment:InternetGatewayAttachment":0,"aws:ec2/keyPair:KeyPair":0,"aws:ec2/launchConfiguration:LaunchConfiguration":0,"aws:ec2/launchTemplate:LaunchTemplate":0,"aws:ec2/localGatewayRoute:LocalGatewayRoute":0,"aws:ec2/localGatewayRouteTableVpcAssociation:LocalGatewayRouteTableVpcAssociation":0,"aws:ec2/mainRouteTableAssociation:MainRouteTableAssociation":0,"aws:ec2/managedPrefixList:ManagedPrefixList":0,"aws:ec2/managedPrefixListEntry:ManagedPrefixListEntry":0,"aws:ec2/natGateway:NatGateway":0,"aws:ec2/networkAcl:NetworkAcl":0,"aws:ec2/networkAclAssociation:NetworkAclAssociation":0,"aws:ec2/networkAclRule:NetworkAclRule":0,"aws:ec2/networkInsightsAnalysis:NetworkInsightsAnalysis":0,"aws:ec2/networkInsightsPath:NetworkInsightsPath":0,"aws:ec2/networkInterface:NetworkInterface":0,"aws:ec2/networkInterfaceAttachment:NetworkInterfaceAttachment":0,"aws:ec2/networkInterfaceSecurityGroupAttachment:NetworkInterfaceSecurityGroupAttachment":0,"aws:ec2/peeringConnectionOptions:PeeringConnectionOptions":0,"aws:ec2/placementGroup:PlacementGroup":0,"aws:ec2/proxyProtocolPolicy:ProxyProtocolPolicy":0,"aws:ec2/route:Route":0,"aws:ec2/routeTable:RouteTable":0,"aws:ec2/routeTableAssociation:RouteTableAssociation":0,"aws:ec2/securityGroup:SecurityGroup":0,"aws:ec2/securityGroupAssociation:SecurityGroupAssociation":0,"aws:ec2/securityGroupRule:SecurityGroupRule":0,"aws:ec2/serialConsoleAccess:SerialConsoleAccess":0,"aws:ec2/snapshotCreateVolumePermission:SnapshotCreateVolumePermission":0,"aws:ec2/spotDatafeedSubscription:SpotDatafeedSubscription":0,"aws:ec2/spotFleetRequest:SpotFleetRequest":0,"aws:ec2/spotInstanceRequest:SpotInstanceRequest":0,"aws:ec2/subnet:Subnet":0,"aws:ec2/subnetCidrReservation:SubnetCidrReservation":0,"aws:ec2/tag:Tag":0,"aws:ec2/trafficMirrorFilter:TrafficMirrorFilter":0,"aws:ec2/trafficMirrorFilterRule:TrafficMirrorFilterRule":0,"aws:ec2/trafficMirrorSession:TrafficMirrorSession":0,"aws:ec2/trafficMirrorTarget:TrafficMirrorTarget":0,"aws:ec2/volumeAttachment:VolumeAttachment":0,"aws:ec2/vpc:Vpc":0,"aws:ec2/vpcDhcpOptions:VpcDhcpOptions":0,"aws:ec2/vpcDhcpOptionsAssociation:VpcDhcpOptionsAssociation":0,"aws:ec2/vpcEndpoint:VpcEndpoint":0,"aws:ec2/vpcEndpointConnectionAccepter:VpcEndpointConnectionAccepter":0,"aws:ec2/vpcEndpointConnectionNotification:VpcEndpointConnectionNotification":0,"aws:ec2/vpcEndpointPolicy:VpcEndpointPolicy":0,"aws:ec2/vpcEndpointRouteTableAssociation:VpcEndpointRouteTableAssociation":0,"aws:ec2/vpcEndpointService:VpcEndpointService":0,"aws:ec2/vpcEndpointServiceAllowedPrinciple:VpcEndpointServiceAllowedPrinciple":0,"aws:ec2/vpcEndpointSubnetAssociation:VpcEndpointSubnetAssociation":0,"aws:ec2/vpcIpam:VpcIpam":0,"aws:ec2/vpcIpamOrganizationAdminAccount:VpcIpamOrganizationAdminAccount":0,"aws:ec2/vpcIpamPool:VpcIpamPool":0,"aws:ec2/vpcIpamPoolCidr:VpcIpamPoolCidr":0,"aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation":0,"aws:ec2/vpcIpamPreviewNextCidr:VpcIpamPreviewNextCidr":0,"aws:ec2/vpcIpamResourceDiscovery:VpcIpamResourceDiscovery":0,"aws:ec2/vpcIpamResourceDiscoveryAssociation:VpcIpamResourceDiscoveryAssociation":0,"aws:ec2/vpcIpamScope:VpcIpamScope":0,"aws:ec2/vpcIpv4CidrBlockAssociation:VpcIpv4CidrBlockAssociation":0,"aws:ec2/vpcIpv6CidrBlockAssociation:VpcIpv6CidrBlockAssociation":0,"aws:ec2/vpcNetworkPerformanceMetricSubscription:VpcNetworkPerformanceMetricSubscription":0,"aws:ec2/vpcPeeringConnection:VpcPeeringConnection":0,"aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter":0,"aws:ec2/vpnConnection:VpnConnection":0,"aws:ec2/vpnConnectionRoute:VpnConnectionRoute":0,"aws:ec2/vpnGateway:VpnGateway":0,"aws:ec2/vpnGatewayAttachment:VpnGatewayAttachment":0,"aws:ec2/vpnGatewayRoutePropagation:VpnGatewayRoutePropagation":0,"aws:ec2clientvpn/authorizationRule:AuthorizationRule":0,"aws:ec2clientvpn/endpoint:Endpoint":0,"aws:ec2clientvpn/networkAssociation:NetworkAssociation":0,"aws:ec2clientvpn/route:Route":0,"aws:ec2transitgateway/connect:Connect":0,"aws:ec2transitgateway/connectPeer:ConnectPeer":0,"aws:ec2transitgateway/instanceConnectEndpoint:InstanceConnectEndpoint":1,"aws:ec2transitgateway/instanceState:InstanceState":0,"aws:ec2transitgateway/multicastDomain:MulticastDomain":0,"aws:ec2transitgateway/multicastDomainAssociation:MulticastDomainAssociation":0,"aws:ec2transitgateway/multicastGroupMember:MulticastGroupMember":0,"aws:ec2transitgateway/multicastGroupSource:MulticastGroupSource":0,"aws:ec2transitgateway/peeringAttachment:PeeringAttachment":0,"aws:ec2transitgateway/peeringAttachmentAccepter:PeeringAttachmentAccepter":0,"aws:ec2transitgateway/policyTable:PolicyTable":0,"aws:ec2transitgateway/policyTableAssociation:PolicyTableAssociation":0,"aws:ec2transitgateway/prefixListReference:PrefixListReference":0,"aws:ec2transitgateway/route:Route":0,"aws:ec2transitgateway/routeTable:RouteTable":0,"aws:ec2transitgateway/routeTableAssociation:RouteTableAssociation":0,"aws:ec2transitgateway/routeTablePropagation:RouteTablePropagation":0,"aws:ec2transitgateway/transitGateway:TransitGateway":0,"aws:ec2transitgateway/vpcAttachment:VpcAttachment":0,"aws:ec2transitgateway/vpcAttachmentAccepter:VpcAttachmentAccepter":0,"aws:ecr/lifecyclePolicy:LifecyclePolicy":0,"aws:ecr/pullThroughCacheRule:PullThroughCacheRule":0,"aws:ecr/registryPolicy:RegistryPolicy":0,"aws:ecr/registryScanningConfiguration:RegistryScanningConfiguration":0,"aws:ecr/replicationConfiguration:ReplicationConfiguration":0,"aws:ecr/repository:Repository":0,"aws:ecr/repositoryPolicy:RepositoryPolicy":0,"aws:ecrpublic/repository:Repository":0,"aws:ecrpublic/repositoryPolicy:RepositoryPolicy":0,"aws:ecs/accountSettingDefault:AccountSettingDefault":0,"aws:ecs/capacityProvider:CapacityProvider":0,"aws:ecs/cluster:Cluster":0,"aws:ecs/clusterCapacityProviders:ClusterCapacityProviders":0,"aws:ecs/service:Service":0,"aws:ecs/tag:Tag":0,"aws:ecs/taskDefinition:TaskDefinition":0,"aws:ecs/taskSet:TaskSet":0,"aws:efs/accessPoint:AccessPoint":0,"aws:efs/backupPolicy:BackupPolicy":0,"aws:efs/fileSystem:FileSystem":0,"aws:efs/fileSystemPolicy:FileSystemPolicy":0,"aws:efs/mountTarget:MountTarget":0,"aws:efs/replicationConfiguration:ReplicationConfiguration":0,"aws:eks/accessEntry:AccessEntry":0,"aws:eks/accessPolicyAssociation:AccessPolicyAssociation":0,"aws:eks/addon:Addon":0,"aws:eks/cluster:Cluster":0,"aws:eks/fargateProfile:FargateProfile":0,"aws:eks/identityProviderConfig:IdentityProviderConfig":0,"aws:eks/nodeGroup:NodeGroup":0,"aws:eks/podIdentityAssociation:PodIdentityAssociation":1,"aws:elasticache/cluster:Cluster":0,"aws:elasticache/globalReplicationGroup:GlobalReplicationGroup":0,"aws:elasticache/parameterGroup:ParameterGroup":0,"aws:elasticache/replicationGroup:ReplicationGroup":0,"aws:elasticache/serverlessCache:ServerlessCache":1,"aws:elasticache/subnetGroup:SubnetGroup":0,"aws:elasticache/user:User":0,"aws:elasticache/userGroup:UserGroup":0,"aws:elasticache/userGroupAssociation:UserGroupAssociation":0,"aws:elasticbeanstalk/application:Application":0,"aws:elasticbeanstalk/applicationVersion:ApplicationVersion":0,"aws:elasticbeanstalk/configurationTemplate:ConfigurationTemplate":0,"aws:elasticbeanstalk/environment:Environment":0,"aws:elasticsearch/domain:Domain":0,"aws:elasticsearch/domainPolicy:DomainPolicy":0,"aws:elasticsearch/domainSamlOptions:DomainSamlOptions":0,"aws:elasticsearch/vpcEndpoint:VpcEndpoint":0,"aws:elastictranscoder/pipeline:Pipeline":0,"aws:elastictranscoder/preset:Preset":0,"aws:elb/appCookieStickinessPolicy:AppCookieStickinessPolicy":0,"aws:elb/attachment:Attachment":0,"aws:elb/listenerPolicy:ListenerPolicy":0,"aws:elb/loadBalancer:LoadBalancer":0,"aws:elb/loadBalancerBackendServerPolicy:LoadBalancerBackendServerPolicy":0,"aws:elb/loadBalancerCookieStickinessPolicy:LoadBalancerCookieStickinessPolicy":0,"aws:elb/loadBalancerPolicy:LoadBalancerPolicy":0,"aws:elb/sslNegotiationPolicy:SslNegotiationPolicy":0,"aws:emr/blockPublicAccessConfiguration:BlockPublicAccessConfiguration":0,"aws:emr/cluster:Cluster":0,"aws:emr/instanceFleet:InstanceFleet":0,"aws:emr/instanceGroup:InstanceGroup":0,"aws:emr/managedScalingPolicy:ManagedScalingPolicy":0,"aws:emr/securityConfiguration:SecurityConfiguration":0,"aws:emr/studio:Studio":0,"aws:emr/studioSessionMapping:StudioSessionMapping":0,"aws:emrcontainers/jobTemplate:JobTemplate":0,"aws:emrcontainers/virtualCluster:VirtualCluster":0,"aws:emrserverless/application:Application":0,"aws:evidently/feature:Feature":0,"aws:evidently/launch:Launch":0,"aws:evidently/project:Project":0,"aws:evidently/segment:Segment":0,"aws:finspace/kxCluster:KxCluster":0,"aws:finspace/kxDatabase:KxDatabase":0,"aws:finspace/kxDataview:KxDataview":0,"aws:finspace/kxEnvironment:KxEnvironment":0,"aws:finspace/kxScalingGroup:KxScalingGroup":0,"aws:finspace/kxUser:KxUser":0,"aws:finspace/kxVolume:KxVolume":0,"aws:fis/experimentTemplate:ExperimentTemplate":0,"aws:fms/adminAccount:AdminAccount":0,"aws:fms/policy:Policy":0,"aws:fsx/backup:Backup":0,"aws:fsx/dataRepositoryAssociation:DataRepositoryAssociation":0,"aws:fsx/fileCache:FileCache":0,"aws:fsx/lustreFileSystem:LustreFileSystem":0,"aws:fsx/ontapFileSystem:OntapFileSystem":0,"aws:fsx/ontapStorageVirtualMachine:OntapStorageVirtualMachine":0,"aws:fsx/ontapVolume:OntapVolume":0,"aws:fsx/openZfsFileSystem:OpenZfsFileSystem":0,"aws:fsx/openZfsSnapshot:OpenZfsSnapshot":0,"aws:fsx/openZfsVolume:OpenZfsVolume":0,"aws:fsx/windowsFileSystem:WindowsFileSystem":0,"aws:gamelift/alias:Alias":0,"aws:gamelift/build:Build":0,"aws:gamelift/fleet:Fleet":0,"aws:gamelift/gameServerGroup:GameServerGroup":0,"aws:gamelift/gameSessionQueue:GameSessionQueue":0,"aws:gamelift/matchmakingConfiguration:MatchmakingConfiguration":0,"aws:gamelift/matchmakingRuleSet:MatchmakingRuleSet":0,"aws:gamelift/script:Script":0,"aws:glacier/vault:Vault":0,"aws:glacier/vaultLock:VaultLock":0,"aws:globalaccelerator/accelerator:Accelerator":0,"aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment":1,"aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator":0,"aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup":0,"aws:globalaccelerator/customRoutingListener:CustomRoutingListener":0,"aws:globalaccelerator/endpointGroup:EndpointGroup":0,"aws:globalaccelerator/listener:Listener":0,"aws:glue/catalogDatabase:CatalogDatabase":0,"aws:glue/catalogTable:CatalogTable":0,"aws:glue/classifier:Classifier":0,"aws:glue/connection:Connection":0,"aws:glue/crawler:Crawler":0,"aws:glue/dataCatalogEncryptionSettings:DataCatalogEncryptionSettings":0,"aws:glue/dataQualityRuleset:DataQualityRuleset":0,"aws:glue/devEndpoint:DevEndpoint":0,"aws:glue/job:Job":0,"aws:glue/mLTransform:MLTransform":0,"aws:glue/partition:Partition":0,"aws:glue/partitionIndex:PartitionIndex":0,"aws:glue/registry:Registry":0,"aws:glue/resourcePolicy:ResourcePolicy":0,"aws:glue/schema:Schema":0,"aws:glue/securityConfiguration:SecurityConfiguration":0,"aws:glue/trigger:Trigger":0,"aws:glue/userDefinedFunction:UserDefinedFunction":0,"aws:glue/workflow:Workflow":0,"aws:grafana/licenseAssociation:LicenseAssociation":0,"aws:grafana/roleAssociation:RoleAssociation":0,"aws:grafana/workspace:Workspace":0,"aws:grafana/workspaceApiKey:WorkspaceApiKey":0,"aws:grafana/workspaceSamlConfiguration:WorkspaceSamlConfiguration":0,"aws:guardduty/detector:Detector":0,"aws:guardduty/detectorFeature:DetectorFeature":0,"aws:guardduty/filter:Filter":0,"aws:guardduty/iPSet:IPSet":0,"aws:guardduty/inviteAccepter:InviteAccepter":0,"aws:guardduty/member:Member":0,"aws:guardduty/organizationAdminAccount:OrganizationAdminAccount":0,"aws:guardduty/organizationConfiguration:OrganizationConfiguration":0,"aws:guardduty/organizationConfigurationFeature:OrganizationConfigurationFeature":0,"aws:guardduty/publishingDestination:PublishingDestination":0,"aws:guardduty/threatIntelSet:ThreatIntelSet":0,"aws:iam/accessKey:AccessKey":0,"aws:iam/accountAlias:AccountAlias":0,"aws:iam/accountPasswordPolicy:AccountPasswordPolicy":0,"aws:iam/group:Group":0,"aws:iam/groupMembership:GroupMembership":0,"aws:iam/groupPolicy:GroupPolicy":0,"aws:iam/groupPolicyAttachment:GroupPolicyAttachment":0,"aws:iam/instanceProfile:InstanceProfile":0,"aws:iam/openIdConnectProvider:OpenIdConnectProvider":0,"aws:iam/policy:Policy":0,"aws:iam/policyAttachment:PolicyAttachment":0,"aws:iam/role:Role":0,"aws:iam/rolePolicy:RolePolicy":0,"aws:iam/rolePolicyAttachment:RolePolicyAttachment":0,"aws:iam/samlProvider:SamlProvider":0,"aws:iam/securityTokenServicePreferences:SecurityTokenServicePreferences":0,"aws:iam/serverCertificate:ServerCertificate":0,"aws:iam/serviceLinkedRole:ServiceLinkedRole":0,"aws:iam/serviceSpecificCredential:ServiceSpecificCredential":0,"aws:iam/signingCertificate:SigningCertificate":0,"aws:iam/sshKey:SshKey":0,"aws:iam/user:User":0,"aws:iam/userGroupMembership:UserGroupMembership":0,"aws:iam/userLoginProfile:UserLoginProfile":0,"aws:iam/userPolicy:UserPolicy":0,"aws:iam/userPolicyAttachment:UserPolicyAttachment":0,"aws:iam/virtualMfaDevice:VirtualMfaDevice":0,"aws:identitystore/group:Group":0,"aws:identitystore/groupMembership:GroupMembership":0,"aws:identitystore/user:User":0,"aws:imagebuilder/component:Component":0,"aws:imagebuilder/containerRecipe:ContainerRecipe":0,"aws:imagebuilder/distributionConfiguration:DistributionConfiguration":0,"aws:imagebuilder/image:Image":0,"aws:imagebuilder/imagePipeline:ImagePipeline":0,"aws:imagebuilder/imageRecipe:ImageRecipe":0,"aws:imagebuilder/infrastructureConfiguration:InfrastructureConfiguration":0,"aws:imagebuilder/workflow:Workflow":0,"aws:inspector/assessmentTarget:AssessmentTarget":0,"aws:inspector/assessmentTemplate:AssessmentTemplate":0,"aws:inspector/resourceGroup:ResourceGroup":0,"aws:inspector2/delegatedAdminAccount:DelegatedAdminAccount":0,"aws:inspector2/enabler:Enabler":0,"aws:inspector2/memberAssociation:MemberAssociation":0,"aws:inspector2/organizationConfiguration:OrganizationConfiguration":0,"aws:iot/authorizer:Authorizer":0,"aws:iot/billingGroup:BillingGroup":0,"aws:iot/caCertificate:CaCertificate":0,"aws:iot/certificate:Certificate":0,"aws:iot/domainConfiguration:DomainConfiguration":0,"aws:iot/eventConfigurations:EventConfigurations":0,"aws:iot/indexingConfiguration:IndexingConfiguration":0,"aws:iot/loggingOptions:LoggingOptions":0,"aws:iot/policy:Policy":0,"aws:iot/policyAttachment:PolicyAttachment":0,"aws:iot/provisioningTemplate:ProvisioningTemplate":0,"aws:iot/roleAlias:RoleAlias":0,"aws:iot/thing:Thing":0,"aws:iot/thingGroup:ThingGroup":0,"aws:iot/thingGroupMembership:ThingGroupMembership":0,"aws:iot/thingPrincipalAttachment:ThingPrincipalAttachment":0,"aws:iot/thingType:ThingType":0,"aws:iot/topicRule:TopicRule":0,"aws:iot/topicRuleDestination:TopicRuleDestination":0,"aws:ivs/channel:Channel":0,"aws:ivs/playbackKeyPair:PlaybackKeyPair":0,"aws:ivs/recordingConfiguration:RecordingConfiguration":0,"aws:ivschat/loggingConfiguration:LoggingConfiguration":0,"aws:ivschat/room:Room":0,"aws:kendra/dataSource:DataSource":0,"aws:kendra/experience:Experience":0,"aws:kendra/faq:Faq":0,"aws:kendra/index:Index":0,"aws:kendra/querySuggestionsBlockList:QuerySuggestionsBlockList":0,"aws:kendra/thesaurus:Thesaurus":0,"aws:keyspaces/keyspace:Keyspace":0,"aws:keyspaces/table:Table":0,"aws:kinesis/analyticsApplication:AnalyticsApplication":0,"aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream":0,"aws:kinesis/resourcePolicy:ResourcePolicy":1,"aws:kinesis/stream:Stream":0,"aws:kinesis/streamConsumer:StreamConsumer":0,"aws:kinesis/videoStream:VideoStream":0,"aws:kinesisanalyticsv2/application:Application":0,"aws:kinesisanalyticsv2/applicationSnapshot:ApplicationSnapshot":0,"aws:kms/alias:Alias":0,"aws:kms/ciphertext:Ciphertext":0,"aws:kms/customKeyStore:CustomKeyStore":0,"aws:kms/externalKey:ExternalKey":0,"aws:kms/grant:Grant":0,"aws:kms/key:Key":0,"aws:kms/keyPolicy:KeyPolicy":0,"aws:kms/replicaExternalKey:ReplicaExternalKey":0,"aws:kms/replicaKey:ReplicaKey":0,"aws:lakeformation/dataCellsFilter:DataCellsFilter":1,"aws:lakeformation/dataLakeSettings:DataLakeSettings":0,"aws:lakeformation/lfTag:LfTag":0,"aws:lakeformation/permissions:Permissions":0,"aws:lakeformation/resource:Resource":0,"aws:lakeformation/resourceLfTag:ResourceLfTag":1,"aws:lakeformation/resourceLfTags:ResourceLfTags":0,"aws:lambda/alias:Alias":0,"aws:lambda/codeSigningConfig:CodeSigningConfig":0,"aws:lambda/eventSourceMapping:EventSourceMapping":0,"aws:lambda/function:Function":0,"aws:lambda/functionEventInvokeConfig:FunctionEventInvokeConfig":0,"aws:lambda/functionUrl:FunctionUrl":0,"aws:lambda/invocation:Invocation":0,"aws:lambda/layerVersion:LayerVersion":0,"aws:lambda/layerVersionPermission:LayerVersionPermission":0,"aws:lambda/permission:Permission":0,"aws:lambda/provisionedConcurrencyConfig:ProvisionedConcurrencyConfig":0,"aws:lb/listener:Listener":0,"aws:lb/listenerCertificate:ListenerCertificate":0,"aws:lb/listenerRule:ListenerRule":0,"aws:lb/loadBalancer:LoadBalancer":0,"aws:lb/targetGroup:TargetGroup":0,"aws:lb/targetGroupAttachment:TargetGroupAttachment":0,"aws:lb/trustStore:TrustStore":0,"aws:lb/trustStoreRevocation:TrustStoreRevocation":0,"aws:lex/bot:Bot":0,"aws:lex/botAlias:BotAlias":0,"aws:lex/intent:Intent":0,"aws:lex/slotType:SlotType":0,"aws:lex/v2modelsBot:V2modelsBot":1,"aws:lex/v2modelsBotLocale:V2modelsBotLocale":1,"aws:lex/v2modelsBotVersion:V2modelsBotVersion":1,"aws:lex/v2modelsIntent:V2modelsIntent":1,"aws:lex/v2modelsSlot:V2modelsSlot":1,"aws:lex/v2modelsSlotType:V2modelsSlotType":1,"aws:licensemanager/association:Association":0,"aws:licensemanager/licenseConfiguration:LicenseConfiguration":0,"aws:licensemanager/licenseGrant:LicenseGrant":0,"aws:licensemanager/licenseGrantAccepter:LicenseGrantAccepter":0,"aws:lightsail/bucket:Bucket":0,"aws:lightsail/bucketAccessKey:BucketAccessKey":0,"aws:lightsail/bucketResourceAccess:BucketResourceAccess":0,"aws:lightsail/certificate:Certificate":0,"aws:lightsail/containerService:ContainerService":0,"aws:lightsail/containerServiceDeploymentVersion:ContainerServiceDeploymentVersion":0,"aws:lightsail/database:Database":0,"aws:lightsail/disk:Disk":0,"aws:lightsail/disk_attachment:Disk_attachment":0,"aws:lightsail/distribution:Distribution":0,"aws:lightsail/domain:Domain":0,"aws:lightsail/domainEntry:DomainEntry":0,"aws:lightsail/instance:Instance":0,"aws:lightsail/instancePublicPorts:InstancePublicPorts":0,"aws:lightsail/keyPair:KeyPair":0,"aws:lightsail/lb:Lb":0,"aws:lightsail/lbAttachment:LbAttachment":0,"aws:lightsail/lbCertificate:LbCertificate":0,"aws:lightsail/lbCertificateAttachment:LbCertificateAttachment":0,"aws:lightsail/lbHttpsRedirectionPolicy:LbHttpsRedirectionPolicy":0,"aws:lightsail/lbStickinessPolicy:LbStickinessPolicy":0,"aws:lightsail/staticIp:StaticIp":0,"aws:lightsail/staticIpAttachment:StaticIpAttachment":0,"aws:location/geofenceCollection:GeofenceCollection":0,"aws:location/map:Map":0,"aws:location/placeIndex:PlaceIndex":0,"aws:location/routeCalculation:RouteCalculation":0,"aws:location/tracker:Tracker":0,"aws:location/trackerAssociation:TrackerAssociation":0,"aws:m2/application:Application":1,"aws:m2/deployment:Deployment":1,"aws:m2/environment:Environment":1,"aws:macie/customDataIdentifier:CustomDataIdentifier":0,"aws:macie/findingsFilter:FindingsFilter":0,"aws:macie2/account:Account":0,"aws:macie2/classificationExportConfiguration:ClassificationExportConfiguration":0,"aws:macie2/classificationJob:ClassificationJob":0,"aws:macie2/invitationAccepter:InvitationAccepter":0,"aws:macie2/member:Member":0,"aws:macie2/organizationAdminAccount:OrganizationAdminAccount":0,"aws:mediaconvert/queue:Queue":0,"aws:medialive/channel:Channel":0,"aws:medialive/input:Input":0,"aws:medialive/inputSecurityGroup:InputSecurityGroup":0,"aws:medialive/multiplex:Multiplex":0,"aws:medialive/multiplexProgram:MultiplexProgram":1,"aws:mediapackage/channel:Channel":0,"aws:mediastore/container:Container":0,"aws:mediastore/containerPolicy:ContainerPolicy":0,"aws:memorydb/acl:Acl":0,"aws:memorydb/cluster:Cluster":0,"aws:memorydb/parameterGroup:ParameterGroup":0,"aws:memorydb/snapshot:Snapshot":0,"aws:memorydb/subnetGroup:SubnetGroup":0,"aws:memorydb/user:User":0,"aws:mq/broker:Broker":0,"aws:mq/configuration:Configuration":0,"aws:msk/cluster:Cluster":0,"aws:msk/clusterPolicy:ClusterPolicy":0,"aws:msk/configuration:Configuration":0,"aws:msk/replicator:Replicator":0,"aws:msk/scramSecretAssociation:ScramSecretAssociation":0,"aws:msk/serverlessCluster:ServerlessCluster":0,"aws:msk/vpcConnection:VpcConnection":0,"aws:mskconnect/connector:Connector":0,"aws:mskconnect/customPlugin:CustomPlugin":0,"aws:mskconnect/workerConfiguration:WorkerConfiguration":0,"aws:mwaa/environment:Environment":0,"aws:neptune/cluster:Cluster":0,"aws:neptune/clusterEndpoint:ClusterEndpoint":0,"aws:neptune/clusterInstance:ClusterInstance":0,"aws:neptune/clusterParameterGroup:ClusterParameterGroup":0,"aws:neptune/clusterSnapshot:ClusterSnapshot":0,"aws:neptune/eventSubscription:EventSubscription":0,"aws:neptune/globalCluster:GlobalCluster":0,"aws:neptune/parameterGroup:ParameterGroup":0,"aws:neptune/subnetGroup:SubnetGroup":0,"aws:networkfirewall/firewall:Firewall":0,"aws:networkfirewall/firewallPolicy:FirewallPolicy":0,"aws:networkfirewall/loggingConfiguration:LoggingConfiguration":0,"aws:networkfirewall/resourcePolicy:ResourcePolicy":0,"aws:networkfirewall/ruleGroup:RuleGroup":0,"aws:networkmanager/attachmentAccepter:AttachmentAccepter":0,"aws:networkmanager/connectAttachment:ConnectAttachment":0,"aws:networkmanager/connectPeer:ConnectPeer":0,"aws:networkmanager/connection:Connection":0,"aws:networkmanager/coreNetwork:CoreNetwork":0,"aws:networkmanager/coreNetworkPolicyAttachment:CoreNetworkPolicyAttachment":0,"aws:networkmanager/customerGatewayAssociation:CustomerGatewayAssociation":0,"aws:networkmanager/device:Device":0,"aws:networkmanager/globalNetwork:GlobalNetwork":0,"aws:networkmanager/link:Link":0,"aws:networkmanager/linkAssociation:LinkAssociation":0,"aws:networkmanager/site:Site":0,"aws:networkmanager/siteToSiteVpnAttachment:SiteToSiteVpnAttachment":0,"aws:networkmanager/transitGatewayConnectPeerAssociation:TransitGatewayConnectPeerAssociation":0,"aws:networkmanager/transitGatewayPeering:TransitGatewayPeering":0,"aws:networkmanager/transitGatewayRegistration:TransitGatewayRegistration":0,"aws:networkmanager/transitGatewayRouteTableAttachment:TransitGatewayRouteTableAttachment":0,"aws:networkmanager/vpcAttachment:VpcAttachment":0,"aws:oam/link:Link":0,"aws:oam/sink:Sink":0,"aws:oam/sinkPolicy:SinkPolicy":0,"aws:opensearch/domain:Domain":0,"aws:opensearch/domainPolicy:DomainPolicy":0,"aws:opensearch/domainSamlOptions:DomainSamlOptions":0,"aws:opensearch/inboundConnectionAccepter:InboundConnectionAccepter":0,"aws:opensearch/outboundConnection:OutboundConnection":0,"aws:opensearch/package:Package":0,"aws:opensearch/packageAssociation:PackageAssociation":0,"aws:opensearch/serverlessAccessPolicy:ServerlessAccessPolicy":1,"aws:opensearch/serverlessCollection:ServerlessCollection":1,"aws:opensearch/serverlessLifecyclePolicy:ServerlessLifecyclePolicy":1,"aws:opensearch/serverlessSecurityConfig:ServerlessSecurityConfig":1,"aws:opensearch/serverlessSecurityPolicy:ServerlessSecurityPolicy":1,"aws:opensearch/serverlessVpcEndpoint:ServerlessVpcEndpoint":1,"aws:opensearch/vpcEndpoint:VpcEndpoint":0,"aws:opensearchingest/pipeline:Pipeline":1,"aws:opsworks/application:Application":0,"aws:opsworks/customLayer:CustomLayer":0,"aws:opsworks/ecsClusterLayer:EcsClusterLayer":0,"aws:opsworks/gangliaLayer:GangliaLayer":0,"aws:opsworks/haproxyLayer:HaproxyLayer":0,"aws:opsworks/instance:Instance":0,"aws:opsworks/javaAppLayer:JavaAppLayer":0,"aws:opsworks/memcachedLayer:MemcachedLayer":0,"aws:opsworks/mysqlLayer:MysqlLayer":0,"aws:opsworks/nodejsAppLayer:NodejsAppLayer":0,"aws:opsworks/permission:Permission":0,"aws:opsworks/phpAppLayer:PhpAppLayer":0,"aws:opsworks/railsAppLayer:RailsAppLayer":0,"aws:opsworks/rdsDbInstance:RdsDbInstance":0,"aws:opsworks/stack:Stack":0,"aws:opsworks/staticWebLayer:StaticWebLayer":0,"aws:opsworks/userProfile:UserProfile":0,"aws:organizations/account:Account":0,"aws:organizations/delegatedAdministrator:DelegatedAdministrator":0,"aws:organizations/organization:Organization":0,"aws:organizations/organizationalUnit:OrganizationalUnit":0,"aws:organizations/policy:Policy":0,"aws:organizations/policyAttachment:PolicyAttachment":0,"aws:organizations/resourcePolicy:ResourcePolicy":0,"aws:pinpoint/admChannel:AdmChannel":0,"aws:pinpoint/apnsChannel:ApnsChannel":0,"aws:pinpoint/apnsSandboxChannel:ApnsSandboxChannel":0,"aws:pinpoint/apnsVoipChannel:ApnsVoipChannel":0,"aws:pinpoint/apnsVoipSandboxChannel:ApnsVoipSandboxChannel":0,"aws:pinpoint/app:App":0,"aws:pinpoint/baiduChannel:BaiduChannel":0,"aws:pinpoint/emailChannel:EmailChannel":0,"aws:pinpoint/eventStream:EventStream":0,"aws:pinpoint/gcmChannel:GcmChannel":0,"aws:pinpoint/smsChannel:SmsChannel":0,"aws:pipes/pipe:Pipe":0,"aws:qldb/ledger:Ledger":0,"aws:qldb/stream:Stream":0,"aws:quicksight/accountSubscription:AccountSubscription":0,"aws:quicksight/analysis:Analysis":0,"aws:quicksight/dashboard:Dashboard":0,"aws:quicksight/dataSet:DataSet":0,"aws:quicksight/dataSource:DataSource":0,"aws:quicksight/folder:Folder":0,"aws:quicksight/folderMembership:FolderMembership":1,"aws:quicksight/group:Group":0,"aws:quicksight/groupMembership:GroupMembership":0,"aws:quicksight/iamPolicyAssignment:IamPolicyAssignment":1,"aws:quicksight/ingestion:Ingestion":1,"aws:quicksight/namespace:Namespace":1,"aws:quicksight/refreshSchedule:RefreshSchedule":1,"aws:quicksight/template:Template":0,"aws:quicksight/templateAlias:TemplateAlias":1,"aws:quicksight/theme:Theme":0,"aws:quicksight/user:User":0,"aws:quicksight/vpcConnection:VpcConnection":1,"aws:ram/principalAssociation:PrincipalAssociation":0,"aws:ram/resourceAssociation:ResourceAssociation":0,"aws:ram/resourceShare:ResourceShare":0,"aws:ram/resourceShareAccepter:ResourceShareAccepter":0,"aws:ram/sharingWithOrganization:SharingWithOrganization":0,"aws:rbin/rule:Rule":0,"aws:rds/cluster:Cluster":0,"aws:rds/clusterActivityStream:ClusterActivityStream":0,"aws:rds/clusterEndpoint:ClusterEndpoint":0,"aws:rds/clusterInstance:ClusterInstance":0,"aws:rds/clusterParameterGroup:ClusterParameterGroup":0,"aws:rds/clusterRoleAssociation:ClusterRoleAssociation":0,"aws:rds/clusterSnapshot:ClusterSnapshot":0,"aws:rds/customDbEngineVersion:CustomDbEngineVersion":0,"aws:rds/eventSubscription:EventSubscription":0,"aws:rds/exportTask:ExportTask":1,"aws:rds/globalCluster:GlobalCluster":0,"aws:rds/instance:Instance":0,"aws:rds/instanceAutomatedBackupsReplication:InstanceAutomatedBackupsReplication":0,"aws:rds/optionGroup:OptionGroup":0,"aws:rds/parameterGroup:ParameterGroup":0,"aws:rds/proxy:Proxy":0,"aws:rds/proxyDefaultTargetGroup:ProxyDefaultTargetGroup":0,"aws:rds/proxyEndpoint:ProxyEndpoint":0,"aws:rds/proxyTarget:ProxyTarget":0,"aws:rds/reservedInstance:ReservedInstance":0,"aws:rds/roleAssociation:RoleAssociation":0,"aws:rds/snapshot:Snapshot":0,"aws:rds/snapshotCopy:SnapshotCopy":0,"aws:rds/subnetGroup:SubnetGroup":0,"aws:redshift/authenticationProfile:AuthenticationProfile":0,"aws:redshift/cluster:Cluster":0,"aws:redshift/clusterIamRoles:ClusterIamRoles":0,"aws:redshift/clusterSnapshot:ClusterSnapshot":0,"aws:redshift/dataShareAuthorization:DataShareAuthorization":1,"aws:redshift/dataShareConsumerAssociation:DataShareConsumerAssociation":1,"aws:redshift/endpointAccess:EndpointAccess":0,"aws:redshift/endpointAuthorization:EndpointAuthorization":0,"aws:redshift/eventSubscription:EventSubscription":0,"aws:redshift/hsmClientCertificate:HsmClientCertificate":0,"aws:redshift/hsmConfiguration:HsmConfiguration":0,"aws:redshift/logging:Logging":1,"aws:redshift/parameterGroup:ParameterGroup":0,"aws:redshift/partner:Partner":0,"aws:redshift/resourcePolicy:ResourcePolicy":0,"aws:redshift/scheduledAction:ScheduledAction":0,"aws:redshift/snapshotCopy:SnapshotCopy":1,"aws:redshift/snapshotCopyGrant:SnapshotCopyGrant":0,"aws:redshift/snapshotSchedule:SnapshotSchedule":0,"aws:redshift/snapshotScheduleAssociation:SnapshotScheduleAssociation":0,"aws:redshift/subnetGroup:SubnetGroup":0,"aws:redshift/usageLimit:UsageLimit":0,"aws:redshiftdata/statement:Statement":0,"aws:redshiftserverless/customDomainAssociation:CustomDomainAssociation":1,"aws:redshiftserverless/endpointAccess:EndpointAccess":0,"aws:redshiftserverless/namespace:Namespace":0,"aws:redshiftserverless/resourcePolicy:ResourcePolicy":0,"aws:redshiftserverless/snapshot:Snapshot":0,"aws:redshiftserverless/usageLimit:UsageLimit":0,"aws:redshiftserverless/workgroup:Workgroup":0,"aws:rekognition/collection:Collection":1,"aws:rekognition/project:Project":1,"aws:resourceexplorer/index:Index":1,"aws:resourceexplorer/view:View":1,"aws:resourcegroups/group:Group":0,"aws:resourcegroups/resource:Resource":0,"aws:rolesanywhere/profile:Profile":0,"aws:rolesanywhere/trustAnchor:TrustAnchor":0,"aws:route53/cidrCollection:CidrCollection":1,"aws:route53/cidrLocation:CidrLocation":1,"aws:route53/delegationSet:DelegationSet":0,"aws:route53/healthCheck:HealthCheck":0,"aws:route53/hostedZoneDnsSec:HostedZoneDnsSec":0,"aws:route53/keySigningKey:KeySigningKey":0,"aws:route53/queryLog:QueryLog":0,"aws:route53/record:Record":0,"aws:route53/resolverConfig:ResolverConfig":0,"aws:route53/resolverDnsSecConfig:ResolverDnsSecConfig":0,"aws:route53/resolverEndpoint:ResolverEndpoint":0,"aws:route53/resolverFirewallConfig:ResolverFirewallConfig":0,"aws:route53/resolverFirewallDomainList:ResolverFirewallDomainList":0,"aws:route53/resolverFirewallRule:ResolverFirewallRule":0,"aws:route53/resolverFirewallRuleGroup:ResolverFirewallRuleGroup":0,"aws:route53/resolverFirewallRuleGroupAssociation:ResolverFirewallRuleGroupAssociation":0,"aws:route53/resolverQueryLogConfig:ResolverQueryLogConfig":0,"aws:route53/resolverQueryLogConfigAssociation:ResolverQueryLogConfigAssociation":0,"aws:route53/resolverRule:ResolverRule":0,"aws:route53/resolverRuleAssociation:ResolverRuleAssociation":0,"aws:route53/trafficPolicy:TrafficPolicy":0,"aws:route53/trafficPolicyInstance:TrafficPolicyInstance":0,"aws:route53/vpcAssociationAuthorization:VpcAssociationAuthorization":0,"aws:route53/zone:Zone":0,"aws:route53/zoneAssociation:ZoneAssociation":0,"aws:route53domains/delegationSignerRecord:DelegationSignerRecord":1,"aws:route53domains/registeredDomain:RegisteredDomain":0,"aws:route53recoverycontrol/cluster:Cluster":0,"aws:route53recoverycontrol/controlPanel:ControlPanel":0,"aws:route53recoverycontrol/routingControl:RoutingControl":0,"aws:route53recoverycontrol/safetyRule:SafetyRule":0,"aws:route53recoveryreadiness/cell:Cell":0,"aws:route53recoveryreadiness/readinessCheck:ReadinessCheck":0,"aws:route53recoveryreadiness/recoveryGroup:RecoveryGroup":0,"aws:route53recoveryreadiness/resourceSet:ResourceSet":0,"aws:rum/appMonitor:AppMonitor":0,"aws:rum/metricsDestination:MetricsDestination":0,"aws:s3/accessPoint:AccessPoint":0,"aws:s3/accountPublicAccessBlock:AccountPublicAccessBlock":0,"aws:s3/analyticsConfiguration:AnalyticsConfiguration":0,"aws:s3/bucket:Bucket":0,"aws:s3/bucketAccelerateConfigurationV2:BucketAccelerateConfigurationV2":0,"aws:s3/bucketAclV2:BucketAclV2":0,"aws:s3/bucketCorsConfigurationV2:BucketCorsConfigurationV2":0,"aws:s3/bucketIntelligentTieringConfiguration:BucketIntelligentTieringConfiguration":0,"aws:s3/bucketLifecycleConfigurationV2:BucketLifecycleConfigurationV2":0,"aws:s3/bucketLoggingV2:BucketLoggingV2":0,"aws:s3/bucketMetric:BucketMetric":0,"aws:s3/bucketNotification:BucketNotification":0,"aws:s3/bucketObject:BucketObject":0,"aws:s3/bucketObjectLockConfigurationV2:BucketObjectLockConfigurationV2":0,"aws:s3/bucketObjectv2:BucketObjectv2":0,"aws:s3/bucketOwnershipControls:BucketOwnershipControls":0,"aws:s3/bucketPolicy:BucketPolicy":0,"aws:s3/bucketPublicAccessBlock:BucketPublicAccessBlock":0,"aws:s3/bucketReplicationConfig:BucketReplicationConfig":0,"aws:s3/bucketRequestPaymentConfigurationV2:BucketRequestPaymentConfigurationV2":0,"aws:s3/bucketServerSideEncryptionConfigurationV2:BucketServerSideEncryptionConfigurationV2":0,"aws:s3/bucketV2:BucketV2":0,"aws:s3/bucketVersioningV2:BucketVersioningV2":0,"aws:s3/bucketWebsiteConfigurationV2:BucketWebsiteConfigurationV2":0,"aws:s3/directoryBucket:DirectoryBucket":1,"aws:s3/inventory:Inventory":0,"aws:s3/objectCopy:ObjectCopy":0,"aws:s3control/accessGrant:AccessGrant":1,"aws:s3control/accessGrantsInstance:AccessGrantsInstance":1,"aws:s3control/accessGrantsInstanceResourcePolicy:AccessGrantsInstanceResourcePolicy":1,"aws:s3control/accessGrantsLocation:AccessGrantsLocation":1,"aws:s3control/accessPointPolicy:AccessPointPolicy":0,"aws:s3control/bucket:Bucket":0,"aws:s3control/bucketLifecycleConfiguration:BucketLifecycleConfiguration":0,"aws:s3control/bucketPolicy:BucketPolicy":0,"aws:s3control/multiRegionAccessPoint:MultiRegionAccessPoint":0,"aws:s3control/multiRegionAccessPointPolicy:MultiRegionAccessPointPolicy":0,"aws:s3control/objectLambdaAccessPoint:ObjectLambdaAccessPoint":0,"aws:s3control/objectLambdaAccessPointPolicy:ObjectLambdaAccessPointPolicy":0,"aws:s3control/storageLensConfiguration:StorageLensConfiguration":0,"aws:s3outposts/endpoint:Endpoint":0,"aws:sagemaker/app:App":0,"aws:sagemaker/appImageConfig:AppImageConfig":0,"aws:sagemaker/codeRepository:CodeRepository":0,"aws:sagemaker/dataQualityJobDefinition:DataQualityJobDefinition":0,"aws:sagemaker/device:Device":0,"aws:sagemaker/deviceFleet:DeviceFleet":0,"aws:sagemaker/domain:Domain":0,"aws:sagemaker/endpoint:Endpoint":0,"aws:sagemaker/endpointConfiguration:EndpointConfiguration":0,"aws:sagemaker/featureGroup:FeatureGroup":0,"aws:sagemaker/flowDefinition:FlowDefinition":0,"aws:sagemaker/humanTaskUI:HumanTaskUI":0,"aws:sagemaker/image:Image":0,"aws:sagemaker/imageVersion:ImageVersion":0,"aws:sagemaker/model:Model":0,"aws:sagemaker/modelPackageGroup:ModelPackageGroup":0,"aws:sagemaker/modelPackageGroupPolicy:ModelPackageGroupPolicy":0,"aws:sagemaker/monitoringSchedule:MonitoringSchedule":0,"aws:sagemaker/notebookInstance:NotebookInstance":0,"aws:sagemaker/notebookInstanceLifecycleConfiguration:NotebookInstanceLifecycleConfiguration":0,"aws:sagemaker/pipeline:Pipeline":0,"aws:sagemaker/project:Project":0,"aws:sagemaker/servicecatalogPortfolioStatus:ServicecatalogPortfolioStatus":0,"aws:sagemaker/space:Space":0,"aws:sagemaker/studioLifecycleConfig:StudioLifecycleConfig":0,"aws:sagemaker/userProfile:UserProfile":0,"aws:sagemaker/workforce:Workforce":0,"aws:sagemaker/workteam:Workteam":0,"aws:scheduler/schedule:Schedule":0,"aws:scheduler/scheduleGroup:ScheduleGroup":0,"aws:schemas/discoverer:Discoverer":0,"aws:schemas/registry:Registry":0,"aws:schemas/registryPolicy:RegistryPolicy":0,"aws:schemas/schema:Schema":0,"aws:secretsmanager/secret:Secret":0,"aws:secretsmanager/secretPolicy:SecretPolicy":0,"aws:secretsmanager/secretRotation:SecretRotation":0,"aws:secretsmanager/secretVersion:SecretVersion":0,"aws:securityhub/account:Account":0,"aws:securityhub/actionTarget:ActionTarget":0,"aws:securityhub/automationRule:AutomationRule":1,"aws:securityhub/configurationPolicy:ConfigurationPolicy":0,"aws:securityhub/configurationPolicyAssociation:ConfigurationPolicyAssociation":0,"aws:securityhub/findingAggregator:FindingAggregator":0,"aws:securityhub/insight:Insight":0,"aws:securityhub/inviteAccepter:InviteAccepter":0,"aws:securityhub/member:Member":0,"aws:securityhub/organizationAdminAccount:OrganizationAdminAccount":0,"aws:securityhub/organizationConfiguration:OrganizationConfiguration":0,"aws:securityhub/productSubscription:ProductSubscription":0,"aws:securityhub/standardsControl:StandardsControl":0,"aws:securityhub/standardsSubscription:StandardsSubscription":0,"aws:securitylake/awsLogSource:AwsLogSource":1,"aws:securitylake/customLogSource:CustomLogSource":1,"aws:securitylake/dataLake:DataLake":1,"aws:securitylake/subscriber:Subscriber":1,"aws:securitylake/subscriberNotification:SubscriberNotification":1,"aws:serverlessrepository/cloudFormationStack:CloudFormationStack":0,"aws:servicecatalog/appregistryApplication:AppregistryApplication":1,"aws:servicecatalog/budgetResourceAssociation:BudgetResourceAssociation":0,"aws:servicecatalog/constraint:Constraint":0,"aws:servicecatalog/organizationsAccess:OrganizationsAccess":0,"aws:servicecatalog/portfolio:Portfolio":0,"aws:servicecatalog/portfolioShare:PortfolioShare":0,"aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation":0,"aws:servicecatalog/product:Product":0,"aws:servicecatalog/productPortfolioAssociation:ProductPortfolioAssociation":0,"aws:servicecatalog/provisionedProduct:ProvisionedProduct":0,"aws:servicecatalog/provisioningArtifact:ProvisioningArtifact":0,"aws:servicecatalog/serviceAction:ServiceAction":0,"aws:servicecatalog/tagOption:TagOption":0,"aws:servicecatalog/tagOptionResourceAssociation:TagOptionResourceAssociation":0,"aws:servicediscovery/httpNamespace:HttpNamespace":0,"aws:servicediscovery/instance:Instance":0,"aws:servicediscovery/privateDnsNamespace:PrivateDnsNamespace":0,"aws:servicediscovery/publicDnsNamespace:PublicDnsNamespace":0,"aws:servicediscovery/service:Service":0,"aws:servicequotas/serviceQuota:ServiceQuota":0,"aws:servicequotas/template:Template":1,"aws:servicequotas/templateAssociation:TemplateAssociation":1,"aws:ses/activeReceiptRuleSet:ActiveReceiptRuleSet":0,"aws:ses/configurationSet:ConfigurationSet":0,"aws:ses/domainDkim:DomainDkim":0,"aws:ses/domainIdentity:DomainIdentity":0,"aws:ses/domainIdentityVerification:DomainIdentityVerification":0,"aws:ses/emailIdentity:EmailIdentity":0,"aws:ses/eventDestination:EventDestination":0,"aws:ses/identityNotificationTopic:IdentityNotificationTopic":0,"aws:ses/identityPolicy:IdentityPolicy":0,"aws:ses/mailFrom:MailFrom":0,"aws:ses/receiptFilter:ReceiptFilter":0,"aws:ses/receiptRule:ReceiptRule":0,"aws:ses/receiptRuleSet:ReceiptRuleSet":0,"aws:ses/template:Template":0,"aws:sesv2/accountVdmAttributes:AccountVdmAttributes":0,"aws:sesv2/configurationSet:ConfigurationSet":0,"aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination":0,"aws:sesv2/contactList:ContactList":0,"aws:sesv2/dedicatedIpAssignment:DedicatedIpAssignment":0,"aws:sesv2/dedicatedIpPool:DedicatedIpPool":0,"aws:sesv2/emailIdentity:EmailIdentity":0,"aws:sesv2/emailIdentityFeedbackAttributes:EmailIdentityFeedbackAttributes":0,"aws:sesv2/emailIdentityMailFromAttributes:EmailIdentityMailFromAttributes":0,"aws:sesv2/emailIdentityPolicy:EmailIdentityPolicy":0,"aws:sfn/activity:Activity":0,"aws:sfn/alias:Alias":0,"aws:sfn/stateMachine:StateMachine":0,"aws:shield/applicationLayerAutomaticResponse:ApplicationLayerAutomaticResponse":1,"aws:shield/drtAccessLogBucketAssociation:DrtAccessLogBucketAssociation":1,"aws:shield/drtAccessRoleArnAssociation:DrtAccessRoleArnAssociation":1,"aws:shield/proactiveEngagement:ProactiveEngagement":1,"aws:shield/protection:Protection":0,"aws:shield/protectionGroup:ProtectionGroup":0,"aws:shield/protectionHealthCheckAssociation:ProtectionHealthCheckAssociation":0,"aws:signer/signingJob:SigningJob":0,"aws:signer/signingProfile:SigningProfile":0,"aws:signer/signingProfilePermission:SigningProfilePermission":0,"aws:simpledb/domain:Domain":1,"aws:sns/dataProtectionPolicy:DataProtectionPolicy":0,"aws:sns/platformApplication:PlatformApplication":0,"aws:sns/smsPreferences:SmsPreferences":0,"aws:sns/topic:Topic":0,"aws:sns/topicPolicy:TopicPolicy":0,"aws:sns/topicSubscription:TopicSubscription":0,"aws:sqs/queue:Queue":0,"aws:sqs/queuePolicy:QueuePolicy":0,"aws:sqs/redriveAllowPolicy:RedriveAllowPolicy":0,"aws:sqs/redrivePolicy:RedrivePolicy":0,"aws:ssm/activation:Activation":0,"aws:ssm/association:Association":0,"aws:ssm/contactsRotation:ContactsRotation":1,"aws:ssm/defaultPatchBaseline:DefaultPatchBaseline":0,"aws:ssm/document:Document":0,"aws:ssm/maintenanceWindow:MaintenanceWindow":0,"aws:ssm/maintenanceWindowTarget:MaintenanceWindowTarget":0,"aws:ssm/maintenanceWindowTask:MaintenanceWindowTask":0,"aws:ssm/parameter:Parameter":0,"aws:ssm/patchBaseline:PatchBaseline":0,"aws:ssm/patchGroup:PatchGroup":0,"aws:ssm/resourceDataSync:ResourceDataSync":0,"aws:ssm/serviceSetting:ServiceSetting":0,"aws:ssmcontacts/contact:Contact":0,"aws:ssmcontacts/contactChannel:ContactChannel":0,"aws:ssmcontacts/plan:Plan":0,"aws:ssmincidents/replicationSet:ReplicationSet":0,"aws:ssmincidents/responsePlan:ResponsePlan":0,"aws:ssoadmin/accountAssignment:AccountAssignment":0,"aws:ssoadmin/application:Application":1,"aws:ssoadmin/applicationAccessScope:ApplicationAccessScope":1,"aws:ssoadmin/applicationAssignment:ApplicationAssignment":1,"aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration":1,"aws:ssoadmin/customerManagedPolicyAttachment:CustomerManagedPolicyAttachment":0,"aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes":0,"aws:ssoadmin/managedPolicyAttachment:ManagedPolicyAttachment":0,"aws:ssoadmin/permissionSet:PermissionSet":0,"aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy":0,"aws:ssoadmin/permissionsBoundaryAttachment:PermissionsBoundaryAttachment":0,"aws:ssoadmin/trustedTokenIssuer:TrustedTokenIssuer":1,"aws:storagegateway/cache:Cache":0,"aws:storagegateway/cachesIscsiVolume:CachesIscsiVolume":0,"aws:storagegateway/fileSystemAssociation:FileSystemAssociation":0,"aws:storagegateway/gateway:Gateway":0,"aws:storagegateway/nfsFileShare:NfsFileShare":0,"aws:storagegateway/smbFileShare:SmbFileShare":0,"aws:storagegateway/storedIscsiVolume:StoredIscsiVolume":0,"aws:storagegateway/tapePool:TapePool":0,"aws:storagegateway/uploadBuffer:UploadBuffer":0,"aws:storagegateway/workingStorage:WorkingStorage":0,"aws:swf/domain:Domain":0,"aws:synthetics/canary:Canary":0,"aws:synthetics/group:Group":0,"aws:synthetics/groupAssociation:GroupAssociation":0,"aws:timestreamwrite/database:Database":0,"aws:timestreamwrite/table:Table":0,"aws:transcribe/languageModel:LanguageModel":0,"aws:transcribe/medicalVocabulary:MedicalVocabulary":0,"aws:transcribe/vocabulary:Vocabulary":0,"aws:transcribe/vocabularyFilter:VocabularyFilter":0,"aws:transfer/access:Access":0,"aws:transfer/agreement:Agreement":0,"aws:transfer/certificate:Certificate":0,"aws:transfer/connector:Connector":0,"aws:transfer/profile:Profile":0,"aws:transfer/server:Server":0,"aws:transfer/sshKey:SshKey":0,"aws:transfer/tag:Tag":0,"aws:transfer/user:User":0,"aws:transfer/workflow:Workflow":0,"aws:verifiedaccess/endpoint:Endpoint":0,"aws:verifiedaccess/group:Group":0,"aws:verifiedaccess/instance:Instance":0,"aws:verifiedaccess/instanceLoggingConfiguration:InstanceLoggingConfiguration":0,"aws:verifiedaccess/instanceTrustProviderAttachment:InstanceTrustProviderAttachment":0,"aws:verifiedaccess/trustProvider:TrustProvider":0,"aws:verifiedpermissions/policy:Policy":1,"aws:verifiedpermissions/policyStore:PolicyStore":1,"aws:verifiedpermissions/policyTemplate:PolicyTemplate":1,"aws:verifiedpermissions/schema:Schema":1,"aws:vpc/securityGroupEgressRule:SecurityGroupEgressRule":1,"aws:vpc/securityGroupIngressRule:SecurityGroupIngressRule":1,"aws:vpclattice/accessLogSubscription:AccessLogSubscription":0,"aws:vpclattice/authPolicy:AuthPolicy":0,"aws:vpclattice/listener:Listener":0,"aws:vpclattice/listenerRule:ListenerRule":0,"aws:vpclattice/resourcePolicy:ResourcePolicy":0,"aws:vpclattice/service:Service":0,"aws:vpclattice/serviceNetwork:ServiceNetwork":0,"aws:vpclattice/serviceNetworkServiceAssociation:ServiceNetworkServiceAssociation":0,"aws:vpclattice/serviceNetworkVpcAssociation:ServiceNetworkVpcAssociation":0,"aws:vpclattice/targetGroup:TargetGroup":0,"aws:vpclattice/targetGroupAttachment:TargetGroupAttachment":0,"aws:waf/byteMatchSet:ByteMatchSet":0,"aws:waf/geoMatchSet:GeoMatchSet":0,"aws:waf/ipSet:IpSet":0,"aws:waf/rateBasedRule:RateBasedRule":0,"aws:waf/regexMatchSet:RegexMatchSet":0,"aws:waf/regexPatternSet:RegexPatternSet":0,"aws:waf/rule:Rule":0,"aws:waf/ruleGroup:RuleGroup":0,"aws:waf/sizeConstraintSet:SizeConstraintSet":0,"aws:waf/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:waf/webAcl:WebAcl":0,"aws:waf/xssMatchSet:XssMatchSet":0,"aws:wafregional/byteMatchSet:ByteMatchSet":0,"aws:wafregional/geoMatchSet:GeoMatchSet":0,"aws:wafregional/ipSet:IpSet":0,"aws:wafregional/rateBasedRule:RateBasedRule":0,"aws:wafregional/regexMatchSet:RegexMatchSet":0,"aws:wafregional/regexPatternSet:RegexPatternSet":0,"aws:wafregional/rule:Rule":0,"aws:wafregional/ruleGroup:RuleGroup":0,"aws:wafregional/sizeConstraintSet:SizeConstraintSet":0,"aws:wafregional/sqlInjectionMatchSet:SqlInjectionMatchSet":0,"aws:wafregional/webAcl:WebAcl":0,"aws:wafregional/webAclAssociation:WebAclAssociation":0,"aws:wafregional/xssMatchSet:XssMatchSet":0,"aws:wafv2/ipSet:IpSet":0,"aws:wafv2/regexPatternSet:RegexPatternSet":0,"aws:wafv2/ruleGroup:RuleGroup":0,"aws:wafv2/webAcl:WebAcl":0,"aws:wafv2/webAclAssociation:WebAclAssociation":0,"aws:wafv2/webAclLoggingConfiguration:WebAclLoggingConfiguration":0,"aws:worklink/fleet:Fleet":0,"aws:worklink/websiteCertificateAuthorityAssociation:WebsiteCertificateAuthorityAssociation":0,"aws:workspaces/connectionAlias:ConnectionAlias":1,"aws:workspaces/directory:Directory":0,"aws:workspaces/ipGroup:IpGroup":0,"aws:workspaces/workspace:Workspace":0,"aws:xray/encryptionConfig:EncryptionConfig":0,"aws:xray/group:Group":0,"aws:xray/samplingRule:SamplingRule":0},"functions":{"aws:acm/getCertificate:getCertificate":0,"aws:acmpca/getCertificate:getCertificate":0,"aws:acmpca/getCertificateAuthority:getCertificateAuthority":0,"aws:alb/getListener:getListener":0,"aws:alb/getLoadBalancer:getLoadBalancer":0,"aws:alb/getTargetGroup:getTargetGroup":0,"aws:amp/getWorkspace:getWorkspace":0,"aws:amp/getWorkspaces:getWorkspaces":0,"aws:apigateway/getAuthorizer:getAuthorizer":0,"aws:apigateway/getAuthorizers:getAuthorizers":0,"aws:apigateway/getDomainName:getDomainName":0,"aws:apigateway/getExport:getExport":0,"aws:apigateway/getKey:getKey":0,"aws:apigateway/getResource:getResource":0,"aws:apigateway/getRestApi:getRestApi":0,"aws:apigateway/getSdk:getSdk":0,"aws:apigateway/getVpcLink:getVpcLink":0,"aws:apigatewayv2/getApi:getApi":0,"aws:apigatewayv2/getApis:getApis":0,"aws:apigatewayv2/getExport:getExport":0,"aws:apigatewayv2/getVpcLink:getVpcLink":0,"aws:appconfig/getConfigurationProfile:getConfigurationProfile":0,"aws:appconfig/getConfigurationProfiles:getConfigurationProfiles":0,"aws:appconfig/getEnvironment:getEnvironment":0,"aws:appconfig/getEnvironments:getEnvironments":0,"aws:appintegrations/getEventIntegration:getEventIntegration":0,"aws:appmesh/getGatewayRoute:getGatewayRoute":0,"aws:appmesh/getMesh:getMesh":0,"aws:appmesh/getRoute:getRoute":0,"aws:appmesh/getVirtualGateway:getVirtualGateway":0,"aws:appmesh/getVirtualNode:getVirtualNode":0,"aws:appmesh/getVirtualRouter:getVirtualRouter":0,"aws:appmesh/getVirtualService:getVirtualService":0,"aws:apprunner/getHostedZoneId:getHostedZoneId":1,"aws:athena/getNamedQuery:getNamedQuery":0,"aws:auditmanager/getControl:getControl":1,"aws:auditmanager/getFramework:getFramework":1,"aws:autoscaling/getAmiIds:getAmiIds":0,"aws:autoscaling/getGroup:getGroup":0,"aws:backup/getFramework:getFramework":0,"aws:backup/getPlan:getPlan":0,"aws:backup/getReportPlan:getReportPlan":0,"aws:backup/getSelection:getSelection":0,"aws:backup/getVault:getVault":0,"aws:batch/getComputeEnvironment:getComputeEnvironment":0,"aws:batch/getJobDefinition:getJobDefinition":1,"aws:batch/getJobQueue:getJobQueue":0,"aws:batch/getSchedulingPolicy:getSchedulingPolicy":0,"aws:bedrock/getCustomModel:getCustomModel":1,"aws:bedrock/getCustomModels:getCustomModels":1,"aws:bedrockfoundation/getModel:getModel":1,"aws:bedrockfoundation/getModels:getModels":1,"aws:budgets/getBudget:getBudget":0,"aws:cloudcontrol/getResource:getResource":0,"aws:cloudformation/getCloudFormationType:getCloudFormationType":0,"aws:cloudformation/getExport:getExport":0,"aws:cloudformation/getStack:getStack":0,"aws:cloudfront/getCachePolicy:getCachePolicy":0,"aws:cloudfront/getDistribution:getDistribution":0,"aws:cloudfront/getFunction:getFunction":0,"aws:cloudfront/getLogDeliveryCanonicalUserId:getLogDeliveryCanonicalUserId":0,"aws:cloudfront/getOriginAccessIdentities:getOriginAccessIdentities":0,"aws:cloudfront/getOriginAccessIdentity:getOriginAccessIdentity":0,"aws:cloudfront/getOriginRequestPolicy:getOriginRequestPolicy":0,"aws:cloudfront/getRealtimeLogConfig:getRealtimeLogConfig":0,"aws:cloudfront/getResponseHeadersPolicy:getResponseHeadersPolicy":0,"aws:cloudhsmv2/getCluster:getCluster":0,"aws:cloudtrail/getServiceAccount:getServiceAccount":0,"aws:cloudwatch/getEventBus:getEventBus":0,"aws:cloudwatch/getEventConnection:getEventConnection":0,"aws:cloudwatch/getEventSource:getEventSource":0,"aws:cloudwatch/getLogDataProtectionPolicyDocument:getLogDataProtectionPolicyDocument":0,"aws:cloudwatch/getLogGroup:getLogGroup":0,"aws:cloudwatch/getLogGroups:getLogGroups":0,"aws:codeartifact/getAuthorizationToken:getAuthorizationToken":0,"aws:codeartifact/getRepositoryEndpoint:getRepositoryEndpoint":0,"aws:codecatalyst/getDevEnvironment:getDevEnvironment":0,"aws:codecommit/getApprovalRuleTemplate:getApprovalRuleTemplate":0,"aws:codecommit/getRepository:getRepository":0,"aws:codeguruprofiler/getProfilingGroup:getProfilingGroup":1,"aws:codestarconnections/getConnection:getConnection":0,"aws:cognito/getIdentityPool:getIdentityPool":0,"aws:cognito/getUserGroup:getUserGroup":1,"aws:cognito/getUserGroups:getUserGroups":1,"aws:cognito/getUserPoolClient:getUserPoolClient":0,"aws:cognito/getUserPoolClients:getUserPoolClients":0,"aws:cognito/getUserPoolSigningCertificate:getUserPoolSigningCertificate":0,"aws:cognito/getUserPools:getUserPools":0,"aws:connect/getBotAssociation:getBotAssociation":0,"aws:connect/getContactFlow:getContactFlow":0,"aws:connect/getContactFlowModule:getContactFlowModule":0,"aws:connect/getHoursOfOperation:getHoursOfOperation":0,"aws:connect/getInstance:getInstance":0,"aws:connect/getInstanceStorageConfig:getInstanceStorageConfig":0,"aws:connect/getLambdaFunctionAssociation:getLambdaFunctionAssociation":0,"aws:connect/getPrompt:getPrompt":0,"aws:connect/getQueue:getQueue":0,"aws:connect/getQuickConnect:getQuickConnect":0,"aws:connect/getRoutingProfile:getRoutingProfile":0,"aws:connect/getSecurityProfile:getSecurityProfile":0,"aws:connect/getUser:getUser":0,"aws:connect/getUserHierarchyGroup:getUserHierarchyGroup":0,"aws:connect/getUserHierarchyStructure:getUserHierarchyStructure":0,"aws:connect/getVocabulary:getVocabulary":0,"aws:controltower/getControls:getControls":0,"aws:costexplorer/getCostCategory:getCostCategory":0,"aws:costexplorer/getTags:getTags":0,"aws:cur/getReportDefinition:getReportDefinition":0,"aws:datapipeline/getPipeline:getPipeline":0,"aws:datapipeline/getPipelineDefinition:getPipelineDefinition":0,"aws:devopsguru/getNotificationChannel:getNotificationChannel":1,"aws:devopsguru/getResourceCollection:getResourceCollection":1,"aws:directconnect/getConnection:getConnection":0,"aws:directconnect/getGateway:getGateway":0,"aws:directconnect/getLocation:getLocation":0,"aws:directconnect/getLocations:getLocations":0,"aws:directconnect/getRouterConfiguration:getRouterConfiguration":0,"aws:directoryservice/getDirectory:getDirectory":0,"aws:dms/getCertificate:getCertificate":0,"aws:dms/getEndpoint:getEndpoint":0,"aws:dms/getReplicationInstance:getReplicationInstance":0,"aws:dms/getReplicationSubnetGroup:getReplicationSubnetGroup":0,"aws:dms/getReplicationTask:getReplicationTask":0,"aws:docdb/getEngineVersion:getEngineVersion":0,"aws:docdb/getOrderableDbInstance:getOrderableDbInstance":0,"aws:dynamodb/getTable:getTable":0,"aws:dynamodb/getTableItem:getTableItem":0,"aws:ebs/getDefaultKmsKey:getDefaultKmsKey":0,"aws:ebs/getEbsVolumes:getEbsVolumes":0,"aws:ebs/getEncryptionByDefault:getEncryptionByDefault":0,"aws:ebs/getSnapshot:getSnapshot":0,"aws:ebs/getSnapshotIds:getSnapshotIds":0,"aws:ebs/getVolume:getVolume":0,"aws:ec2/getAmi:getAmi":0,"aws:ec2/getAmiIds:getAmiIds":0,"aws:ec2/getCoipPool:getCoipPool":0,"aws:ec2/getCoipPools:getCoipPools":0,"aws:ec2/getCustomerGateway:getCustomerGateway":0,"aws:ec2/getDedicatedHost:getDedicatedHost":0,"aws:ec2/getEips:getEips":0,"aws:ec2/getElasticIp:getElasticIp":0,"aws:ec2/getInstance:getInstance":0,"aws:ec2/getInstanceType:getInstanceType":0,"aws:ec2/getInstanceTypeOffering:getInstanceTypeOffering":0,"aws:ec2/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:ec2/getInstanceTypes:getInstanceTypes":0,"aws:ec2/getInstances:getInstances":0,"aws:ec2/getInternetGateway:getInternetGateway":0,"aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr":0,"aws:ec2/getKeyPair:getKeyPair":0,"aws:ec2/getLaunchConfiguration:getLaunchConfiguration":0,"aws:ec2/getLaunchTemplate:getLaunchTemplate":0,"aws:ec2/getLocalGateway:getLocalGateway":0,"aws:ec2/getLocalGatewayRouteTable:getLocalGatewayRouteTable":0,"aws:ec2/getLocalGatewayRouteTables:getLocalGatewayRouteTables":0,"aws:ec2/getLocalGatewayVirtualInterface:getLocalGatewayVirtualInterface":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroup:getLocalGatewayVirtualInterfaceGroup":0,"aws:ec2/getLocalGatewayVirtualInterfaceGroups:getLocalGatewayVirtualInterfaceGroups":0,"aws:ec2/getLocalGateways:getLocalGateways":0,"aws:ec2/getManagedPrefixList:getManagedPrefixList":0,"aws:ec2/getManagedPrefixLists:getManagedPrefixLists":0,"aws:ec2/getNatGateway:getNatGateway":0,"aws:ec2/getNatGateways:getNatGateways":0,"aws:ec2/getNetworkAcls:getNetworkAcls":0,"aws:ec2/getNetworkInsightsAnalysis:getNetworkInsightsAnalysis":0,"aws:ec2/getNetworkInsightsPath:getNetworkInsightsPath":0,"aws:ec2/getNetworkInterface:getNetworkInterface":0,"aws:ec2/getNetworkInterfaces:getNetworkInterfaces":0,"aws:ec2/getPrefixList:getPrefixList":0,"aws:ec2/getPublicIpv4Pool:getPublicIpv4Pool":0,"aws:ec2/getPublicIpv4Pools:getPublicIpv4Pools":0,"aws:ec2/getRoute:getRoute":0,"aws:ec2/getRouteTable:getRouteTable":0,"aws:ec2/getRouteTables:getRouteTables":0,"aws:ec2/getSecurityGroup:getSecurityGroup":0,"aws:ec2/getSecurityGroups:getSecurityGroups":0,"aws:ec2/getSerialConsoleAccess:getSerialConsoleAccess":0,"aws:ec2/getSpotPrice:getSpotPrice":0,"aws:ec2/getSubnet:getSubnet":0,"aws:ec2/getSubnets:getSubnets":0,"aws:ec2/getTransitGatewayRouteTables:getTransitGatewayRouteTables":0,"aws:ec2/getVpc:getVpc":0,"aws:ec2/getVpcDhcpOptions:getVpcDhcpOptions":0,"aws:ec2/getVpcEndpoint:getVpcEndpoint":0,"aws:ec2/getVpcEndpointService:getVpcEndpointService":0,"aws:ec2/getVpcIamPool:getVpcIamPool":0,"aws:ec2/getVpcIamPoolCidrs:getVpcIamPoolCidrs":0,"aws:ec2/getVpcIamPools:getVpcIamPools":0,"aws:ec2/getVpcIpamPool:getVpcIpamPool":0,"aws:ec2/getVpcIpamPoolCidrs:getVpcIpamPoolCidrs":0,"aws:ec2/getVpcIpamPools:getVpcIpamPools":0,"aws:ec2/getVpcPeeringConnection:getVpcPeeringConnection":0,"aws:ec2/getVpcPeeringConnections:getVpcPeeringConnections":0,"aws:ec2/getVpcs:getVpcs":0,"aws:ec2/getVpnGateway:getVpnGateway":0,"aws:ec2clientvpn/getEndpoint:getEndpoint":0,"aws:ec2transitgateway/getAttachment:getAttachment":0,"aws:ec2transitgateway/getAttachments:getAttachments":0,"aws:ec2transitgateway/getConnect:getConnect":0,"aws:ec2transitgateway/getConnectPeer:getConnectPeer":0,"aws:ec2transitgateway/getDirectConnectGatewayAttachment:getDirectConnectGatewayAttachment":0,"aws:ec2transitgateway/getMulticastDomain:getMulticastDomain":0,"aws:ec2transitgateway/getPeeringAttachment:getPeeringAttachment":0,"aws:ec2transitgateway/getRouteTable:getRouteTable":0,"aws:ec2transitgateway/getRouteTableAssociations:getRouteTableAssociations":0,"aws:ec2transitgateway/getRouteTablePropagations:getRouteTablePropagations":0,"aws:ec2transitgateway/getRouteTableRoutes:getRouteTableRoutes":0,"aws:ec2transitgateway/getTransitGateway:getTransitGateway":0,"aws:ec2transitgateway/getVpcAttachment:getVpcAttachment":0,"aws:ec2transitgateway/getVpcAttachments:getVpcAttachments":0,"aws:ec2transitgateway/getVpnAttachment:getVpnAttachment":0,"aws:ecr/getAuthorizationToken:getAuthorizationToken":0,"aws:ecr/getCredentials:getCredentials":0,"aws:ecr/getImage:getImage":0,"aws:ecr/getLifecyclePolicyDocument:getLifecyclePolicyDocument":1,"aws:ecr/getPullThroughCacheRule:getPullThroughCacheRule":0,"aws:ecr/getRepositories:getRepositories":1,"aws:ecr/getRepository:getRepository":0,"aws:ecrpublic/getAuthorizationToken:getAuthorizationToken":0,"aws:ecs/getCluster:getCluster":0,"aws:ecs/getContainerDefinition:getContainerDefinition":0,"aws:ecs/getService:getService":0,"aws:ecs/getTaskDefinition:getTaskDefinition":0,"aws:ecs/getTaskExecution:getTaskExecution":0,"aws:efs/getAccessPoint:getAccessPoint":0,"aws:efs/getAccessPoints:getAccessPoints":0,"aws:efs/getFileSystem:getFileSystem":0,"aws:efs/getMountTarget:getMountTarget":0,"aws:eks/getAccessEntry:getAccessEntry":0,"aws:eks/getAddon:getAddon":0,"aws:eks/getAddonVersion:getAddonVersion":0,"aws:eks/getCluster:getCluster":0,"aws:eks/getClusterAuth:getClusterAuth":0,"aws:eks/getClusters:getClusters":0,"aws:eks/getNodeGroup:getNodeGroup":0,"aws:eks/getNodeGroups:getNodeGroups":0,"aws:elasticache/getCluster:getCluster":0,"aws:elasticache/getReplicationGroup:getReplicationGroup":0,"aws:elasticache/getSubnetGroup:getSubnetGroup":0,"aws:elasticache/getUser:getUser":0,"aws:elasticbeanstalk/getApplication:getApplication":0,"aws:elasticbeanstalk/getHostedZone:getHostedZone":0,"aws:elasticbeanstalk/getSolutionStack:getSolutionStack":0,"aws:elasticsearch/getDomain:getDomain":0,"aws:elb/getHostedZoneId:getHostedZoneId":0,"aws:elb/getLoadBalancer:getLoadBalancer":0,"aws:elb/getServiceAccount:getServiceAccount":0,"aws:emr/getReleaseLabels:getReleaseLabels":0,"aws:emr/getSupportedInstanceTypes:getSupportedInstanceTypes":1,"aws:emrcontainers/getVirtualCluster:getVirtualCluster":0,"aws:fsx/getOntapFileSystem:getOntapFileSystem":0,"aws:fsx/getOntapStorageVirtualMachine:getOntapStorageVirtualMachine":0,"aws:fsx/getOntapStorageVirtualMachines:getOntapStorageVirtualMachines":0,"aws:fsx/getOpenZfsSnapshot:getOpenZfsSnapshot":0,"aws:fsx/getWindowsFileSystem:getWindowsFileSystem":0,"aws:globalaccelerator/getAccelerator:getAccelerator":1,"aws:globalaccelerator/getCustomRoutingAccelerator:getCustomRoutingAccelerator":0,"aws:glue/getCatalogTable:getCatalogTable":0,"aws:glue/getConnection:getConnection":0,"aws:glue/getDataCatalogEncryptionSettings:getDataCatalogEncryptionSettings":0,"aws:glue/getScript:getScript":0,"aws:grafana/getWorkspace:getWorkspace":0,"aws:guardduty/getDetector:getDetector":0,"aws:guardduty/getFindingIds:getFindingIds":1,"aws:iam/getAccessKeys:getAccessKeys":0,"aws:iam/getAccountAlias:getAccountAlias":0,"aws:iam/getGroup:getGroup":0,"aws:iam/getInstanceProfile:getInstanceProfile":0,"aws:iam/getInstanceProfiles:getInstanceProfiles":0,"aws:iam/getOpenIdConnectProvider:getOpenIdConnectProvider":0,"aws:iam/getPolicy:getPolicy":0,"aws:iam/getPolicyDocument:getPolicyDocument":0,"aws:iam/getPrincipalPolicySimulation:getPrincipalPolicySimulation":0,"aws:iam/getRole:getRole":0,"aws:iam/getRoles:getRoles":0,"aws:iam/getSamlProvider:getSamlProvider":0,"aws:iam/getServerCertificate:getServerCertificate":0,"aws:iam/getSessionContext:getSessionContext":0,"aws:iam/getUser:getUser":0,"aws:iam/getUserSshKey:getUserSshKey":0,"aws:iam/getUsers:getUsers":0,"aws:identitystore/getGroup:getGroup":0,"aws:identitystore/getGroups:getGroups":1,"aws:identitystore/getUser:getUser":0,"aws:imagebuilder/getComponent:getComponent":0,"aws:imagebuilder/getComponents:getComponents":0,"aws:imagebuilder/getContainerRecipe:getContainerRecipe":0,"aws:imagebuilder/getContainerRecipes:getContainerRecipes":0,"aws:imagebuilder/getDistributionConfiguration:getDistributionConfiguration":0,"aws:imagebuilder/getDistributionConfigurations:getDistributionConfigurations":0,"aws:imagebuilder/getImage:getImage":0,"aws:imagebuilder/getImagePipeline:getImagePipeline":0,"aws:imagebuilder/getImagePipelines:getImagePipelines":0,"aws:imagebuilder/getImageRecipe:getImageRecipe":0,"aws:imagebuilder/getImageRecipes:getImageRecipes":0,"aws:imagebuilder/getInfrastructureConfiguration:getInfrastructureConfiguration":0,"aws:imagebuilder/getInfrastructureConfigurations:getInfrastructureConfigurations":0,"aws:index/getArn:getArn":1,"aws:index/getAvailabilityZone:getAvailabilityZone":0,"aws:index/getAvailabilityZones:getAvailabilityZones":0,"aws:index/getBillingServiceAccount:getBillingServiceAccount":1,"aws:index/getCallerIdentity:getCallerIdentity":1,"aws:index/getDefaultTags:getDefaultTags":1,"aws:index/getIpRanges:getIpRanges":1,"aws:index/getPartition:getPartition":1,"aws:index/getRegion:getRegion":1,"aws:index/getRegions:getRegions":1,"aws:index/getService:getService":1,"aws:inspector/getRulesPackages:getRulesPackages":0,"aws:iot/getEndpoint:getEndpoint":0,"aws:iot/getRegistrationCode:getRegistrationCode":0,"aws:ivs/getStreamKey:getStreamKey":0,"aws:kendra/getExperience:getExperience":0,"aws:kendra/getFaq:getFaq":0,"aws:kendra/getIndex:getIndex":0,"aws:kendra/getQuerySuggestionsBlockList:getQuerySuggestionsBlockList":0,"aws:kendra/getThesaurus:getThesaurus":0,"aws:kinesis/getFirehoseDeliveryStream:getFirehoseDeliveryStream":0,"aws:kinesis/getStream:getStream":0,"aws:kinesis/getStreamConsumer:getStreamConsumer":0,"aws:kms/getAlias:getAlias":0,"aws:kms/getCipherText:getCipherText":0,"aws:kms/getCustomKeyStore:getCustomKeyStore":0,"aws:kms/getKey:getKey":0,"aws:kms/getPublicKey:getPublicKey":0,"aws:kms/getSecret:getSecret":0,"aws:kms/getSecrets:getSecrets":0,"aws:lakeformation/getDataLakeSettings:getDataLakeSettings":0,"aws:lakeformation/getPermissions:getPermissions":0,"aws:lakeformation/getResource:getResource":0,"aws:lambda/getAlias:getAlias":0,"aws:lambda/getCodeSigningConfig:getCodeSigningConfig":0,"aws:lambda/getFunction:getFunction":0,"aws:lambda/getFunctionUrl:getFunctionUrl":0,"aws:lambda/getFunctions:getFunctions":0,"aws:lambda/getInvocation:getInvocation":0,"aws:lambda/getLayerVersion:getLayerVersion":0,"aws:lb/getHostedZoneId:getHostedZoneId":0,"aws:lb/getLbs:getLbs":0,"aws:lb/getListener:getListener":0,"aws:lb/getLoadBalancer:getLoadBalancer":0,"aws:lb/getTargetGroup:getTargetGroup":0,"aws:lb/getTrustStore:getTrustStore":0,"aws:lex/getBot:getBot":0,"aws:lex/getBotAlias:getBotAlias":0,"aws:lex/getIntent:getIntent":0,"aws:lex/getSlotType:getSlotType":0,"aws:licensemanager/getLicenseGrants:getLicenseGrants":0,"aws:licensemanager/getReceivedLicense:getReceivedLicense":0,"aws:licensemanager/getReceivedLicenses:getReceivedLicenses":0,"aws:location/getGeofenceCollection:getGeofenceCollection":0,"aws:location/getMap:getMap":0,"aws:location/getPlaceIndex:getPlaceIndex":0,"aws:location/getRouteCalculator:getRouteCalculator":0,"aws:location/getTracker:getTracker":0,"aws:location/getTrackerAssociation:getTrackerAssociation":0,"aws:location/getTrackerAssociations:getTrackerAssociations":0,"aws:mediaconvert/getQueue:getQueue":0,"aws:medialive/getInput:getInput":1,"aws:memorydb/getAcl:getAcl":0,"aws:memorydb/getCluster:getCluster":0,"aws:memorydb/getParameterGroup:getParameterGroup":0,"aws:memorydb/getSnapshot:getSnapshot":0,"aws:memorydb/getSubnetGroup:getSubnetGroup":0,"aws:memorydb/getUser:getUser":0,"aws:mq/getBroker:getBroker":0,"aws:mq/getBrokerEngineTypes:getBrokerEngineTypes":0,"aws:mq/getInstanceTypeOfferings:getInstanceTypeOfferings":0,"aws:msk/getBootstrapBrokers:getBootstrapBrokers":0,"aws:msk/getBrokerNodes:getBrokerNodes":0,"aws:msk/getCluster:getCluster":0,"aws:msk/getConfiguration:getConfiguration":0,"aws:msk/getKafkaVersion:getKafkaVersion":0,"aws:msk/getVpcConnection:getVpcConnection":0,"aws:mskconnect/getConnector:getConnector":0,"aws:mskconnect/getCustomPlugin:getCustomPlugin":0,"aws:mskconnect/getWorkerConfiguration:getWorkerConfiguration":0,"aws:neptune/getEngineVersion:getEngineVersion":0,"aws:neptune/getOrderableDbInstance:getOrderableDbInstance":0,"aws:networkfirewall/getFirewall:getFirewall":0,"aws:networkfirewall/getFirewallPolicy:getFirewallPolicy":0,"aws:networkfirewall/getResourcePolicy:getResourcePolicy":0,"aws:networkmanager/getConnection:getConnection":0,"aws:networkmanager/getConnections:getConnections":0,"aws:networkmanager/getCoreNetworkPolicyDocument:getCoreNetworkPolicyDocument":0,"aws:networkmanager/getDevice:getDevice":0,"aws:networkmanager/getDevices:getDevices":0,"aws:networkmanager/getGlobalNetwork:getGlobalNetwork":0,"aws:networkmanager/getGlobalNetworks:getGlobalNetworks":0,"aws:networkmanager/getLink:getLink":0,"aws:networkmanager/getLinks:getLinks":0,"aws:networkmanager/getSite:getSite":0,"aws:networkmanager/getSites:getSites":0,"aws:oam/getLink:getLink":0,"aws:oam/getLinks:getLinks":0,"aws:oam/getSink:getSink":0,"aws:oam/getSinks:getSinks":0,"aws:opensearch/getDomain:getDomain":0,"aws:opensearch/getServerlessAccessPolicy:getServerlessAccessPolicy":1,"aws:opensearch/getServerlessCollection:getServerlessCollection":1,"aws:opensearch/getServerlessLifecyclePolicy:getServerlessLifecyclePolicy":1,"aws:opensearch/getServerlessSecurityConfig:getServerlessSecurityConfig":1,"aws:opensearch/getServerlessSecurityPolicy:getServerlessSecurityPolicy":0,"aws:opensearch/getServerlessVpcEndpoint:getServerlessVpcEndpoint":0,"aws:organizations/getDelegatedAdministrators:getDelegatedAdministrators":0,"aws:organizations/getDelegatedServices:getDelegatedServices":0,"aws:organizations/getOrganization:getOrganization":0,"aws:organizations/getOrganizationalUnit:getOrganizationalUnit":0,"aws:organizations/getOrganizationalUnitChildAccounts:getOrganizationalUnitChildAccounts":0,"aws:organizations/getOrganizationalUnitDescendantAccounts:getOrganizationalUnitDescendantAccounts":0,"aws:organizations/getOrganizationalUnits:getOrganizationalUnits":0,"aws:organizations/getPolicies:getPolicies":0,"aws:organizations/getPoliciesForTarget:getPoliciesForTarget":0,"aws:organizations/getPolicy:getPolicy":0,"aws:organizations/getResourceTags:getResourceTags":0,"aws:outposts/getAsset:getAsset":0,"aws:outposts/getAssets:getAssets":0,"aws:outposts/getOutpost:getOutpost":0,"aws:outposts/getOutpostInstanceType:getOutpostInstanceType":0,"aws:outposts/getOutpostInstanceTypes:getOutpostInstanceTypes":0,"aws:outposts/getOutposts:getOutposts":0,"aws:outposts/getSite:getSite":0,"aws:outposts/getSites:getSites":0,"aws:polly/getVoices:getVoices":1,"aws:pricing/getProduct:getProduct":0,"aws:qldb/getLedger:getLedger":0,"aws:quicksight/getDataSet:getDataSet":0,"aws:quicksight/getQuicksightGroup:getQuicksightGroup":0,"aws:quicksight/getQuicksightUser:getQuicksightUser":0,"aws:quicksight/getTheme:getTheme":0,"aws:ram/getResourceShare:getResourceShare":0,"aws:rds/getCertificate:getCertificate":0,"aws:rds/getCluster:getCluster":0,"aws:rds/getClusterSnapshot:getClusterSnapshot":0,"aws:rds/getClusters:getClusters":0,"aws:rds/getEngineVersion:getEngineVersion":0,"aws:rds/getEventCategories:getEventCategories":0,"aws:rds/getInstance:getInstance":0,"aws:rds/getInstances:getInstances":0,"aws:rds/getOrderableDbInstance:getOrderableDbInstance":0,"aws:rds/getParameterGroup:getParameterGroup":0,"aws:rds/getProxy:getProxy":0,"aws:rds/getReservedInstanceOffering:getReservedInstanceOffering":0,"aws:rds/getSnapshot:getSnapshot":0,"aws:rds/getSubnetGroup:getSubnetGroup":0,"aws:redshift/getCluster:getCluster":0,"aws:redshift/getClusterCredentials:getClusterCredentials":0,"aws:redshift/getDataShares:getDataShares":1,"aws:redshift/getOrderableCluster:getOrderableCluster":0,"aws:redshift/getProducerDataShares:getProducerDataShares":1,"aws:redshift/getServiceAccount:getServiceAccount":0,"aws:redshift/getSubnetGroup:getSubnetGroup":0,"aws:redshiftserverless/getCredentials:getCredentials":0,"aws:redshiftserverless/getNamespace:getNamespace":0,"aws:redshiftserverless/getWorkgroup:getWorkgroup":0,"aws:resourceexplorer/search:Search":1,"aws:resourcegroupstaggingapi/getResources:getResources":0,"aws:route53/getDelegationSet:getDelegationSet":0,"aws:route53/getQueryLogConfig:getQueryLogConfig":0,"aws:route53/getResolverEndpoint:getResolverEndpoint":0,"aws:route53/getResolverFirewallConfig:getResolverFirewallConfig":0,"aws:route53/getResolverFirewallDomainList:getResolverFirewallDomainList":0,"aws:route53/getResolverFirewallRuleGroup:getResolverFirewallRuleGroup":0,"aws:route53/getResolverFirewallRuleGroupAssociation:getResolverFirewallRuleGroupAssociation":0,"aws:route53/getResolverFirewallRules:getResolverFirewallRules":0,"aws:route53/getResolverRule:getResolverRule":0,"aws:route53/getResolverRules:getResolverRules":0,"aws:route53/getTrafficPolicyDocument:getTrafficPolicyDocument":0,"aws:route53/getZone:getZone":0,"aws:s3/getAccountPublicAccessBlock:getAccountPublicAccessBlock":0,"aws:s3/getBucket:getBucket":0,"aws:s3/getBucketObject:getBucketObject":0,"aws:s3/getBucketObjects:getBucketObjects":0,"aws:s3/getBucketPolicy:getBucketPolicy":0,"aws:s3/getCanonicalUserId:getCanonicalUserId":0,"aws:s3/getDirectoryBuckets:getDirectoryBuckets":1,"aws:s3/getObject:getObject":0,"aws:s3/getObjects:getObjects":0,"aws:s3control/getMultiRegionAccessPoint:getMultiRegionAccessPoint":0,"aws:sagemaker/getPrebuiltEcrImage:getPrebuiltEcrImage":0,"aws:secretsmanager/getRandomPassword:getRandomPassword":0,"aws:secretsmanager/getSecret:getSecret":0,"aws:secretsmanager/getSecretRotation:getSecretRotation":0,"aws:secretsmanager/getSecretVersion:getSecretVersion":0,"aws:secretsmanager/getSecrets:getSecrets":0,"aws:serverlessrepository/getApplication:getApplication":0,"aws:servicecatalog/getAppregistryApplication:getAppregistryApplication":1,"aws:servicecatalog/getConstraint:getConstraint":0,"aws:servicecatalog/getLaunchPaths:getLaunchPaths":0,"aws:servicecatalog/getPortfolio:getPortfolio":0,"aws:servicecatalog/getPortfolioConstraints:getPortfolioConstraints":0,"aws:servicecatalog/getProduct:getProduct":0,"aws:servicecatalog/getProvisioningArtifacts:getProvisioningArtifacts":0,"aws:servicediscovery/getDnsNamespace:getDnsNamespace":0,"aws:servicediscovery/getHttpNamespace:getHttpNamespace":0,"aws:servicediscovery/getService:getService":0,"aws:servicequotas/getService:getService":0,"aws:servicequotas/getServiceQuota:getServiceQuota":0,"aws:servicequotas/getTemplates:getTemplates":1,"aws:ses/getActiveReceiptRuleSet:getActiveReceiptRuleSet":0,"aws:ses/getDomainIdentity:getDomainIdentity":0,"aws:ses/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getConfigurationSet:getConfigurationSet":0,"aws:sesv2/getDedicatedIpPool:getDedicatedIpPool":0,"aws:sesv2/getEmailIdentity:getEmailIdentity":0,"aws:sesv2/getEmailIdentityMailFromAttributes:getEmailIdentityMailFromAttributes":0,"aws:sfn/getActivity:getActivity":0,"aws:sfn/getAlias:getAlias":0,"aws:sfn/getStateMachine:getStateMachine":0,"aws:sfn/getStateMachineVersions:getStateMachineVersions":0,"aws:signer/getSigningJob:getSigningJob":0,"aws:signer/getSigningProfile:getSigningProfile":0,"aws:sns/getTopic:getTopic":0,"aws:sqs/getQueue:getQueue":0,"aws:sqs/getQueues:getQueues":0,"aws:ssm/getContactsRotation:getContactsRotation":1,"aws:ssm/getDocument:getDocument":0,"aws:ssm/getInstances:getInstances":0,"aws:ssm/getMaintenanceWindows:getMaintenanceWindows":0,"aws:ssm/getParameter:getParameter":0,"aws:ssm/getParametersByPath:getParametersByPath":0,"aws:ssm/getPatchBaseline:getPatchBaseline":0,"aws:ssmcontacts/getContact:getContact":0,"aws:ssmcontacts/getContactChannel:getContactChannel":0,"aws:ssmcontacts/getPlan:getPlan":0,"aws:ssmincidents/getReplicationSet:getReplicationSet":0,"aws:ssmincidents/getResponsePlan:getResponsePlan":0,"aws:ssoadmin/getApplication:getApplication":1,"aws:ssoadmin/getApplicationAssignments:getApplicationAssignments":1,"aws:ssoadmin/getApplicationProviders:getApplicationProviders":1,"aws:ssoadmin/getInstances:getInstances":0,"aws:ssoadmin/getPermissionSet:getPermissionSet":0,"aws:ssoadmin/getPrincipalApplicationAssignments:getPrincipalApplicationAssignments":1,"aws:storagegateway/getLocalDisk:getLocalDisk":0,"aws:transfer/getServer:getServer":0,"aws:verifiedpermissions/getPolicyStore:getPolicyStore":1,"aws:vpc/getSecurityGroupRule:getSecurityGroupRule":1,"aws:vpc/getSecurityGroupRules:getSecurityGroupRules":1,"aws:vpclattice/getAuthPolicy:getAuthPolicy":0,"aws:vpclattice/getListener:getListener":0,"aws:vpclattice/getResourcePolicy:getResourcePolicy":0,"aws:vpclattice/getService:getService":0,"aws:vpclattice/getServiceNetwork:getServiceNetwork":0,"aws:waf/getIpset:getIpset":0,"aws:waf/getRateBasedRule:getRateBasedRule":0,"aws:waf/getRule:getRule":0,"aws:waf/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:waf/getWebAcl:getWebAcl":0,"aws:wafregional/getIpset:getIpset":0,"aws:wafregional/getRateBasedMod:getRateBasedMod":0,"aws:wafregional/getRule:getRule":0,"aws:wafregional/getSubscribedRuleGroup:getSubscribedRuleGroup":0,"aws:wafregional/getWebAcl:getWebAcl":0,"aws:wafv2/getIpSet:getIpSet":0,"aws:wafv2/getRegexPatternSet:getRegexPatternSet":0,"aws:wafv2/getRuleGroup:getRuleGroup":0,"aws:wafv2/getWebAcl:getWebAcl":0,"aws:workspaces/getBundle:getBundle":0,"aws:workspaces/getDirectory:getDirectory":0,"aws:workspaces/getImage:getImage":0,"aws:workspaces/getWorkspace:getWorkspace":0}}} \ No newline at end of file diff --git a/provider/cmd/pulumi-resource-aws/schema.json b/provider/cmd/pulumi-resource-aws/schema.json index 7a84c793e54..3e4d890b67e 100644 --- a/provider/cmd/pulumi-resource-aws/schema.json +++ b/provider/cmd/pulumi-resource-aws/schema.json @@ -44,6 +44,7 @@ "aws": "Aws", "backup": "Backup", "batch": "Batch", + "bcmdata": "BcmData", "bedrock": "Bedrock", "bedrockfoundation": "BedrockFoundation", "bedrockmodel": "BedrockModel", @@ -6283,6 +6284,10 @@ "egressFilter": { "$ref": "#/types/aws:appmesh/MeshSpecEgressFilter:MeshSpecEgressFilter", "description": "Egress filter rules for the service mesh.\n" + }, + "serviceDiscovery": { + "$ref": "#/types/aws:appmesh/MeshSpecServiceDiscovery:MeshSpecServiceDiscovery", + "description": "The service discovery information for the service mesh.\n" } }, "type": "object" @@ -6290,8 +6295,15 @@ "aws:appmesh/MeshSpecEgressFilter:MeshSpecEgressFilter": { "properties": { "type": { - "type": "string", - "description": "Egress filter type. By default, the type is `DROP_ALL`.\nValid values are `ALLOW_ALL` and `DROP_ALL`.\n" + "type": "string" + } + }, + "type": "object" + }, + "aws:appmesh/MeshSpecServiceDiscovery:MeshSpecServiceDiscovery": { + "properties": { + "ipPreference": { + "type": "string" } }, "type": "object" @@ -9982,11 +9994,18 @@ "items": { "$ref": "#/types/aws:appmesh/getMeshSpecEgressFilter:getMeshSpecEgressFilter" } + }, + "serviceDiscoveries": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getMeshSpecServiceDiscovery:getMeshSpecServiceDiscovery" + } } }, "type": "object", "required": [ - "egressFilters" + "egressFilters", + "serviceDiscoveries" ], "language": { "nodejs": { @@ -10010,6 +10029,22 @@ } } }, + "aws:appmesh/getMeshSpecServiceDiscovery:getMeshSpecServiceDiscovery": { + "properties": { + "ipPreference": { + "type": "string" + } + }, + "type": "object", + "required": [ + "ipPreference" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:appmesh/getRouteSpec:getRouteSpec": { "properties": { "grpcRoutes": { @@ -18890,7 +18925,7 @@ "properties": { "action": { "type": "string", - "description": "Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`.\n" + "description": "Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`.\n" }, "onExitCode": { "type": "string", @@ -19169,6 +19204,525 @@ } } }, + "aws:bcmdata/ExportExport:ExportExport": { + "properties": { + "dataQueries": { + "type": "array", + "items": { + "$ref": "#/types/aws:bcmdata/ExportExportDataQuery:ExportExportDataQuery" + }, + "description": "Data query for this specific data export. See the `data_query` argument reference below.\n" + }, + "description": { + "type": "string", + "description": "Description for this specific data export.\n" + }, + "destinationConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws:bcmdata/ExportExportDestinationConfiguration:ExportExportDestinationConfiguration" + }, + "description": "Destination configuration for this specific data export. See the `destination_configurations` argument reference below.\n" + }, + "exportArn": { + "type": "string", + "description": "Amazon Resource Name (ARN) for this export.\n" + }, + "name": { + "type": "string", + "description": "Name of this specific data export.\n" + }, + "refreshCadences": { + "type": "array", + "items": { + "$ref": "#/types/aws:bcmdata/ExportExportRefreshCadence:ExportExportRefreshCadence" + }, + "description": "Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refresh_cadence` argument reference below.\n" + } + }, + "type": "object", + "required": [ + "name" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "exportArn", + "name" + ] + } + } + }, + "aws:bcmdata/ExportExportDataQuery:ExportExportDataQuery": { + "properties": { + "queryStatement": { + "type": "string", + "description": "Query statement.\n" + }, + "tableConfigurations": { + "type": "object", + "additionalProperties": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + } + }, + "description": "Table configuration.\n" + } + }, + "type": "object", + "required": [ + "queryStatement" + ] + }, + "aws:bcmdata/ExportExportDestinationConfiguration:ExportExportDestinationConfiguration": { + "properties": { + "s3Destinations": { + "type": "array", + "items": { + "$ref": "#/types/aws:bcmdata/ExportExportDestinationConfigurationS3Destination:ExportExportDestinationConfigurationS3Destination" + }, + "description": "Object that describes the destination of the data exports file. See the `s3_destination` argument reference below.\n" + } + }, + "type": "object" + }, + "aws:bcmdata/ExportExportDestinationConfigurationS3Destination:ExportExportDestinationConfigurationS3Destination": { + "properties": { + "s3Bucket": { + "type": "string", + "description": "Name of the Amazon S3 bucket used as the destination of a data export file.\n" + }, + "s3OutputConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws:bcmdata/ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration:ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration" + }, + "description": "Output configuration for the data export. See the `s3_output_configurations` argument reference below.\n" + }, + "s3Prefix": { + "type": "string", + "description": "S3 path prefix you want prepended to the name of your data export.\n" + }, + "s3Region": { + "type": "string", + "description": "S3 bucket region.\n" + } + }, + "type": "object", + "required": [ + "s3Bucket", + "s3Prefix", + "s3Region" + ] + }, + "aws:bcmdata/ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration:ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration": { + "properties": { + "compression": { + "type": "string", + "description": "Compression type for the data export. Valid values `GZIP`, `PARQUET`.\n" + }, + "format": { + "type": "string", + "description": "File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`.\n" + }, + "outputType": { + "type": "string", + "description": "Output type for the data export. Valid value `CUSTOM`.\n" + }, + "overwrite": { + "type": "string", + "description": "The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`.\n" + } + }, + "type": "object", + "required": [ + "compression", + "format", + "outputType", + "overwrite" + ] + }, + "aws:bcmdata/ExportExportRefreshCadence:ExportExportRefreshCadence": { + "properties": { + "frequency": { + "type": "string", + "description": "Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`.\n" + } + }, + "type": "object", + "required": [ + "frequency" + ] + }, + "aws:bcmdata/ExportTimeouts:ExportTimeouts": { + "properties": { + "create": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + }, + "delete": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n" + }, + "update": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + } + }, + "type": "object" + }, + "aws:bedrock/AgentAgentActionGroupActionGroupExecutor:AgentAgentActionGroupActionGroupExecutor": { + "properties": { + "lambda": { + "type": "string", + "description": "ARN of the Lambda that defines the business logic for the action group.\n" + } + }, + "type": "object" + }, + "aws:bedrock/AgentAgentActionGroupApiSchema:AgentAgentActionGroupApiSchema": { + "properties": { + "payload": { + "type": "string", + "description": "YAML or JSON OpenAPI Schema.\n" + }, + "s3": { + "$ref": "#/types/aws:bedrock/AgentAgentActionGroupApiSchemaS3:AgentAgentActionGroupApiSchemaS3", + "description": "Configuration of S3 schema location\n" + } + }, + "type": "object" + }, + "aws:bedrock/AgentAgentActionGroupApiSchemaS3:AgentAgentActionGroupApiSchemaS3": { + "properties": { + "s3BucketName": { + "type": "string", + "description": "The S3 bucket name that contains the OpenAPI Schema.\n" + }, + "s3ObjectKey": { + "type": "string", + "description": "The S3 Object Key for the OpenAPI Schema in the S3 Bucket.\n\nThe following arguments are optional:\n" + } + }, + "type": "object" + }, + "aws:bedrock/AgentAgentAliasRoutingConfiguration:AgentAgentAliasRoutingConfiguration": { + "properties": { + "agentVersion": { + "type": "string", + "description": "Version of the agent the alias routes to.\n" + } + }, + "type": "object", + "required": [ + "agentVersion" + ] + }, + "aws:bedrock/AgentAgentAliasTimeouts:AgentAgentAliasTimeouts": { + "properties": { + "create": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + }, + "delete": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n" + }, + "update": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + } + }, + "type": "object" + }, + "aws:bedrock/AgentAgentPromptOverrideConfiguration:AgentAgentPromptOverrideConfiguration": { + "properties": { + "overrideLambda": { + "type": "string", + "description": "ARN of Lambda to use when parsing the raw foundation model output.\n" + }, + "promptConfigurations": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "List of prompt configurations.\n\nThe following arguments are optional:\n" + } + }, + "type": "object", + "required": [ + "overrideLambda", + "promptConfigurations" + ] + }, + "aws:bedrock/AgentAgentTimeouts:AgentAgentTimeouts": { + "properties": { + "create": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + }, + "delete": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n" + }, + "update": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + } + }, + "type": "object" + }, + "aws:bedrock/AgentKnowledgeBaseKnowledgeBaseConfiguration:AgentKnowledgeBaseKnowledgeBaseConfiguration": { + "properties": { + "type": { + "type": "string", + "description": "The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS\n" + }, + "vectorKnowledgeBaseConfiguration": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration:AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration", + "description": "Contains details about the embeddings model that'sused to convert the data source.\n" + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "aws:bedrock/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration:AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration": { + "properties": { + "embeddingModelArn": { + "type": "string", + "description": "The ARN of the model used to create vector embeddings for the knowledge base.\n" + } + }, + "type": "object", + "required": [ + "embeddingModelArn" + ] + }, + "aws:bedrock/AgentKnowledgeBaseStorageConfiguration:AgentKnowledgeBaseStorageConfiguration": { + "properties": { + "opensearchServerlessConfiguration": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration:AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration", + "description": "Contains the storage configuration of the knowledge base in Amazon OpenSearch Service.\n" + }, + "pineconeConfiguration": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseStorageConfigurationPineconeConfiguration:AgentKnowledgeBaseStorageConfigurationPineconeConfiguration", + "description": "Contains the storage configuration of the knowledge base in Pinecone.\n" + }, + "rdsConfiguration": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseStorageConfigurationRdsConfiguration:AgentKnowledgeBaseStorageConfigurationRdsConfiguration", + "description": "Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS.\n" + }, + "redisEnterpriseCloudConfiguration": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration:AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration", + "description": "Contains the storage configuration of the knowledge base in Redis Enterprise Cloud.\n" + }, + "type": { + "type": "string", + "description": "The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS\n" + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "aws:bedrock/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration:AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration": { + "properties": { + "collectionArn": { + "type": "string", + "description": "The ARN of the OpenSearch Service vector store.\n" + }, + "fieldMapping": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping:AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping", + "description": "Contains the names of the fields to which to map information about the vector store.\n" + }, + "vectorIndexName": { + "type": "string", + "description": "The name of the vector store.\n" + } + }, + "type": "object", + "required": [ + "collectionArn", + "vectorIndexName" + ] + }, + "aws:bedrock/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping:AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping": { + "properties": { + "metadataField": { + "type": "string", + "description": "The name of the field in which Amazon Bedrock stores metadata about the vector store.\n" + }, + "textField": { + "type": "string", + "description": "The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.\n" + }, + "vectorField": { + "type": "string", + "description": "The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources.\n" + } + }, + "type": "object" + }, + "aws:bedrock/AgentKnowledgeBaseStorageConfigurationPineconeConfiguration:AgentKnowledgeBaseStorageConfigurationPineconeConfiguration": { + "properties": { + "connectionString": { + "type": "string", + "description": "The endpoint URL for your index management page.\n" + }, + "credentialsSecretArn": { + "type": "string", + "description": "The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database.\n" + }, + "fieldMapping": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping:AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping", + "description": "Contains the names of the fields to which to map information about the vector store.\n" + }, + "namespace": { + "type": "string", + "description": "The namespace to be used to write new data to your database.\n" + } + }, + "type": "object", + "required": [ + "connectionString", + "credentialsSecretArn" + ] + }, + "aws:bedrock/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping:AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping": { + "properties": { + "metadataField": { + "type": "string", + "description": "The name of the field in which Amazon Bedrock stores metadata about the vector store.\n" + }, + "textField": { + "type": "string", + "description": "The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.\n" + } + }, + "type": "object" + }, + "aws:bedrock/AgentKnowledgeBaseStorageConfigurationRdsConfiguration:AgentKnowledgeBaseStorageConfigurationRdsConfiguration": { + "properties": { + "credentialsSecretArn": { + "type": "string", + "description": "The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database.\n" + }, + "databaseName": { + "type": "string", + "description": "The name of your Amazon RDS database.\n" + }, + "fieldMapping": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping:AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping", + "description": "Contains the names of the fields to which to map information about the vector store.\n" + }, + "resourceArn": { + "type": "string", + "description": "The namespace to be used to write new data to your database.\n" + }, + "tableName": { + "type": "string", + "description": "The name of the table in the database.\n" + } + }, + "type": "object", + "required": [ + "credentialsSecretArn", + "databaseName", + "resourceArn", + "tableName" + ] + }, + "aws:bedrock/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping:AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping": { + "properties": { + "metadataField": { + "type": "string", + "description": "The name of the field in which Amazon Bedrock stores metadata about the vector store.\n" + }, + "primaryKeyField": { + "type": "string", + "description": "The name of the field in which Amazon Bedrock stores the ID for each entry.\n" + }, + "textField": { + "type": "string", + "description": "The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.\n" + }, + "vectorField": { + "type": "string", + "description": "The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources.\n" + } + }, + "type": "object", + "required": [ + "metadataField", + "primaryKeyField", + "textField", + "vectorField" + ] + }, + "aws:bedrock/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration:AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration": { + "properties": { + "credentialsSecretArn": { + "type": "string", + "description": "The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database.\n" + }, + "endpoint": { + "type": "string", + "description": "The endpoint URL of the Redis Enterprise Cloud database.\n" + }, + "fieldMapping": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping:AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping", + "description": "Contains the names of the fields to which to map information about the vector store.\n" + }, + "vectorIndexName": { + "type": "string", + "description": "The name of the vector store.\n" + } + }, + "type": "object", + "required": [ + "credentialsSecretArn", + "endpoint", + "vectorIndexName" + ] + }, + "aws:bedrock/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping:AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping": { + "properties": { + "metadataField": { + "type": "string", + "description": "The name of the field in which Amazon Bedrock stores metadata about the vector store.\n" + }, + "textField": { + "type": "string", + "description": "The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose.\n" + }, + "vectorField": { + "type": "string", + "description": "The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources.\n" + } + }, + "type": "object" + }, + "aws:bedrock/AgentKnowledgeBaseTimeouts:AgentKnowledgeBaseTimeouts": { + "properties": { + "create": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + }, + "delete": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n" + }, + "update": { + "type": "string", + "description": "A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n" + } + }, + "type": "object" + }, "aws:bedrock/CustomModelOutputDataConfig:CustomModelOutputDataConfig": { "properties": { "s3Uri": { @@ -29087,6 +29641,10 @@ "type": "string", "description": "Use this to override the default service endpoint URL\n" }, + "route53profiles": { + "type": "string", + "description": "Use this to override the default service endpoint URL\n" + }, "route53recoverycontrolconfig": { "type": "string", "description": "Use this to override the default service endpoint URL\n" @@ -31489,12 +32047,27 @@ }, "aws:costexplorer/CostCategoryRuleRuleAnd:CostCategoryRuleRuleAnd": { "properties": { + "ands": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleAndAnd:CostCategoryRuleRuleAndAnd" + } + }, "costCategory": { "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleAndCostCategory:CostCategoryRuleRuleAndCostCategory" }, "dimension": { "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleAndDimension:CostCategoryRuleRuleAndDimension" }, + "not": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleAndNot:CostCategoryRuleRuleAndNot" + }, + "ors": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleAndOr:CostCategoryRuleRuleAndOr" + } + }, "tags": { "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleAndTags:CostCategoryRuleRuleAndTags", "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" @@ -31502,6 +32075,90 @@ }, "type": "object" }, + "aws:costexplorer/CostCategoryRuleRuleAndAnd:CostCategoryRuleRuleAndAnd": { + "properties": { + "costCategory": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleAndAndCostCategory:CostCategoryRuleRuleAndAndCostCategory" + }, + "dimension": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleAndAndDimension:CostCategoryRuleRuleAndAndDimension" + }, + "tags": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleAndAndTags:CostCategoryRuleRuleAndAndTags", + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleAndAndCostCategory:CostCategoryRuleRuleAndAndCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleAndAndDimension:CostCategoryRuleRuleAndAndDimension": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleAndAndTags:CostCategoryRuleRuleAndAndTags": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, "aws:costexplorer/CostCategoryRuleRuleAndCostCategory:CostCategoryRuleRuleAndCostCategory": { "properties": { "key": { @@ -31548,6 +32205,174 @@ }, "type": "object" }, + "aws:costexplorer/CostCategoryRuleRuleAndNot:CostCategoryRuleRuleAndNot": { + "properties": { + "costCategory": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleAndNotCostCategory:CostCategoryRuleRuleAndNotCostCategory" + }, + "dimension": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleAndNotDimension:CostCategoryRuleRuleAndNotDimension" + }, + "tags": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleAndNotTags:CostCategoryRuleRuleAndNotTags", + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleAndNotCostCategory:CostCategoryRuleRuleAndNotCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleAndNotDimension:CostCategoryRuleRuleAndNotDimension": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleAndNotTags:CostCategoryRuleRuleAndNotTags": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleAndOr:CostCategoryRuleRuleAndOr": { + "properties": { + "costCategory": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleAndOrCostCategory:CostCategoryRuleRuleAndOrCostCategory" + }, + "dimension": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleAndOrDimension:CostCategoryRuleRuleAndOrDimension" + }, + "tags": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleAndOrTags:CostCategoryRuleRuleAndOrTags", + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleAndOrCostCategory:CostCategoryRuleRuleAndOrCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleAndOrDimension:CostCategoryRuleRuleAndOrDimension": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleAndOrTags:CostCategoryRuleRuleAndOrTags": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, "aws:costexplorer/CostCategoryRuleRuleAndTags:CostCategoryRuleRuleAndTags": { "properties": { "key": { @@ -31619,12 +32444,27 @@ }, "aws:costexplorer/CostCategoryRuleRuleNot:CostCategoryRuleRuleNot": { "properties": { + "ands": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleNotAnd:CostCategoryRuleRuleNotAnd" + } + }, "costCategory": { "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleNotCostCategory:CostCategoryRuleRuleNotCostCategory" }, "dimension": { "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleNotDimension:CostCategoryRuleRuleNotDimension" }, + "not": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleNotNot:CostCategoryRuleRuleNotNot" + }, + "ors": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleNotOr:CostCategoryRuleRuleNotOr" + } + }, "tags": { "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleNotTags:CostCategoryRuleRuleNotTags", "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" @@ -31632,7 +32472,91 @@ }, "type": "object" }, - "aws:costexplorer/CostCategoryRuleRuleNotCostCategory:CostCategoryRuleRuleNotCostCategory": { + "aws:costexplorer/CostCategoryRuleRuleNotAnd:CostCategoryRuleRuleNotAnd": { + "properties": { + "costCategory": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleNotAndCostCategory:CostCategoryRuleRuleNotAndCostCategory" + }, + "dimension": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleNotAndDimension:CostCategoryRuleRuleNotAndDimension" + }, + "tags": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleNotAndTags:CostCategoryRuleRuleNotAndTags", + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleNotAndCostCategory:CostCategoryRuleRuleNotAndCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleNotAndDimension:CostCategoryRuleRuleNotAndDimension": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleNotAndTags:CostCategoryRuleRuleNotAndTags": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleNotCostCategory:CostCategoryRuleRuleNotCostCategory": { "properties": { "key": { "type": "string", @@ -31678,6 +32602,174 @@ }, "type": "object" }, + "aws:costexplorer/CostCategoryRuleRuleNotNot:CostCategoryRuleRuleNotNot": { + "properties": { + "costCategory": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleNotNotCostCategory:CostCategoryRuleRuleNotNotCostCategory" + }, + "dimension": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleNotNotDimension:CostCategoryRuleRuleNotNotDimension" + }, + "tags": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleNotNotTags:CostCategoryRuleRuleNotNotTags", + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleNotNotCostCategory:CostCategoryRuleRuleNotNotCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleNotNotDimension:CostCategoryRuleRuleNotNotDimension": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleNotNotTags:CostCategoryRuleRuleNotNotTags": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleNotOr:CostCategoryRuleRuleNotOr": { + "properties": { + "costCategory": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleNotOrCostCategory:CostCategoryRuleRuleNotOrCostCategory" + }, + "dimension": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleNotOrDimension:CostCategoryRuleRuleNotOrDimension" + }, + "tags": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleNotOrTags:CostCategoryRuleRuleNotOrTags", + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleNotOrCostCategory:CostCategoryRuleRuleNotOrCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleNotOrDimension:CostCategoryRuleRuleNotOrDimension": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleNotOrTags:CostCategoryRuleRuleNotOrTags": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, "aws:costexplorer/CostCategoryRuleRuleNotTags:CostCategoryRuleRuleNotTags": { "properties": { "key": { @@ -31703,12 +32795,27 @@ }, "aws:costexplorer/CostCategoryRuleRuleOr:CostCategoryRuleRuleOr": { "properties": { + "ands": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleOrAnd:CostCategoryRuleRuleOrAnd" + } + }, "costCategory": { "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleOrCostCategory:CostCategoryRuleRuleOrCostCategory" }, "dimension": { "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleOrDimension:CostCategoryRuleRuleOrDimension" }, + "not": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleOrNot:CostCategoryRuleRuleOrNot" + }, + "ors": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleOrOr:CostCategoryRuleRuleOrOr" + } + }, "tags": { "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleOrTags:CostCategoryRuleRuleOrTags", "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" @@ -31716,6 +32823,90 @@ }, "type": "object" }, + "aws:costexplorer/CostCategoryRuleRuleOrAnd:CostCategoryRuleRuleOrAnd": { + "properties": { + "costCategory": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleOrAndCostCategory:CostCategoryRuleRuleOrAndCostCategory" + }, + "dimension": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleOrAndDimension:CostCategoryRuleRuleOrAndDimension" + }, + "tags": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleOrAndTags:CostCategoryRuleRuleOrAndTags", + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleOrAndCostCategory:CostCategoryRuleRuleOrAndCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleOrAndDimension:CostCategoryRuleRuleOrAndDimension": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleOrAndTags:CostCategoryRuleRuleOrAndTags": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, "aws:costexplorer/CostCategoryRuleRuleOrCostCategory:CostCategoryRuleRuleOrCostCategory": { "properties": { "key": { @@ -31762,6 +32953,174 @@ }, "type": "object" }, + "aws:costexplorer/CostCategoryRuleRuleOrNot:CostCategoryRuleRuleOrNot": { + "properties": { + "costCategory": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleOrNotCostCategory:CostCategoryRuleRuleOrNotCostCategory" + }, + "dimension": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleOrNotDimension:CostCategoryRuleRuleOrNotDimension" + }, + "tags": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleOrNotTags:CostCategoryRuleRuleOrNotTags", + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleOrNotCostCategory:CostCategoryRuleRuleOrNotCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleOrNotDimension:CostCategoryRuleRuleOrNotDimension": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleOrNotTags:CostCategoryRuleRuleOrNotTags": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleOrOr:CostCategoryRuleRuleOrOr": { + "properties": { + "costCategory": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleOrOrCostCategory:CostCategoryRuleRuleOrOrCostCategory" + }, + "dimension": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleOrOrDimension:CostCategoryRuleRuleOrOrDimension" + }, + "tags": { + "$ref": "#/types/aws:costexplorer/CostCategoryRuleRuleOrOrTags:CostCategoryRuleRuleOrOrTags", + "description": "Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleOrOrCostCategory:CostCategoryRuleRuleOrOrCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleOrOrDimension:CostCategoryRuleRuleOrOrDimension": { + "properties": { + "key": { + "type": "string", + "description": "Unique name of the Cost Category.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, + "aws:costexplorer/CostCategoryRuleRuleOrOrTags:CostCategoryRuleRuleOrOrTags": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Specific value of the Cost Category.\n" + } + }, + "type": "object" + }, "aws:costexplorer/CostCategoryRuleRuleOrTags:CostCategoryRuleRuleOrTags": { "properties": { "key": { @@ -31978,6 +33337,13 @@ }, "aws:costexplorer/getCostCategoryRuleRuleAnd:getCostCategoryRuleRuleAnd": { "properties": { + "ands": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleAndAnd:getCostCategoryRuleRuleAndAnd" + }, + "description": "Return results that match both `Dimension` objects.\n" + }, "costCategories": { "type": "array", "items": { @@ -31992,6 +33358,20 @@ }, "description": "Configuration block for the specific `Dimension` to use for `Expression`. See below.\n" }, + "nots": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleAndNot:getCostCategoryRuleRuleAndNot" + }, + "description": "Return results that do not match the `Dimension` object.\n" + }, + "ors": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleAndOr:getCostCategoryRuleRuleAndOr" + }, + "description": "Return results that match either `Dimension` object.\n" + }, "tags": { "type": "array", "items": { @@ -32002,8 +33382,11 @@ }, "type": "object", "required": [ + "ands", "costCategories", "dimensions", + "nots", + "ors", "tags" ], "language": { @@ -32012,6 +33395,141 @@ } } }, + "aws:costexplorer/getCostCategoryRuleRuleAndAnd:getCostCategoryRuleRuleAndAnd": { + "properties": { + "costCategories": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleAndAndCostCategory:getCostCategoryRuleRuleAndAndCostCategory" + }, + "description": "Configuration block for the filter that's based on `CostCategory` values. See below.\n" + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleAndAndDimension:getCostCategoryRuleRuleAndAndDimension" + }, + "description": "Configuration block for the specific `Dimension` to use for `Expression`. See below.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleAndAndTag:getCostCategoryRuleRuleAndAndTag" + }, + "description": "Configuration block for the specific `Tag` to use for `Expression`. See below.\n" + } + }, + "type": "object", + "required": [ + "costCategories", + "dimensions", + "tags" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleAndAndCostCategory:getCostCategoryRuleRuleAndAndCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleAndAndDimension:getCostCategoryRuleRuleAndAndDimension": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleAndAndTag:getCostCategoryRuleRuleAndAndTag": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:costexplorer/getCostCategoryRuleRuleAndCostCategory:getCostCategoryRuleRuleAndCostCategory": { "properties": { "key": { @@ -32078,6 +33596,276 @@ } } }, + "aws:costexplorer/getCostCategoryRuleRuleAndNot:getCostCategoryRuleRuleAndNot": { + "properties": { + "costCategories": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleAndNotCostCategory:getCostCategoryRuleRuleAndNotCostCategory" + }, + "description": "Configuration block for the filter that's based on `CostCategory` values. See below.\n" + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleAndNotDimension:getCostCategoryRuleRuleAndNotDimension" + }, + "description": "Configuration block for the specific `Dimension` to use for `Expression`. See below.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleAndNotTag:getCostCategoryRuleRuleAndNotTag" + }, + "description": "Configuration block for the specific `Tag` to use for `Expression`. See below.\n" + } + }, + "type": "object", + "required": [ + "costCategories", + "dimensions", + "tags" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleAndNotCostCategory:getCostCategoryRuleRuleAndNotCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleAndNotDimension:getCostCategoryRuleRuleAndNotDimension": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleAndNotTag:getCostCategoryRuleRuleAndNotTag": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleAndOr:getCostCategoryRuleRuleAndOr": { + "properties": { + "costCategories": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleAndOrCostCategory:getCostCategoryRuleRuleAndOrCostCategory" + }, + "description": "Configuration block for the filter that's based on `CostCategory` values. See below.\n" + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleAndOrDimension:getCostCategoryRuleRuleAndOrDimension" + }, + "description": "Configuration block for the specific `Dimension` to use for `Expression`. See below.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleAndOrTag:getCostCategoryRuleRuleAndOrTag" + }, + "description": "Configuration block for the specific `Tag` to use for `Expression`. See below.\n" + } + }, + "type": "object", + "required": [ + "costCategories", + "dimensions", + "tags" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleAndOrCostCategory:getCostCategoryRuleRuleAndOrCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleAndOrDimension:getCostCategoryRuleRuleAndOrDimension": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleAndOrTag:getCostCategoryRuleRuleAndOrTag": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:costexplorer/getCostCategoryRuleRuleAndTag:getCostCategoryRuleRuleAndTag": { "properties": { "key": { @@ -32179,6 +33967,13 @@ }, "aws:costexplorer/getCostCategoryRuleRuleNot:getCostCategoryRuleRuleNot": { "properties": { + "ands": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleNotAnd:getCostCategoryRuleRuleNotAnd" + }, + "description": "Return results that match both `Dimension` objects.\n" + }, "costCategories": { "type": "array", "items": { @@ -32193,6 +33988,20 @@ }, "description": "Configuration block for the specific `Dimension` to use for `Expression`. See below.\n" }, + "nots": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleNotNot:getCostCategoryRuleRuleNotNot" + }, + "description": "Return results that do not match the `Dimension` object.\n" + }, + "ors": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleNotOr:getCostCategoryRuleRuleNotOr" + }, + "description": "Return results that match either `Dimension` object.\n" + }, "tags": { "type": "array", "items": { @@ -32202,6 +34011,45 @@ } }, "type": "object", + "required": [ + "ands", + "costCategories", + "dimensions", + "nots", + "ors", + "tags" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleNotAnd:getCostCategoryRuleRuleNotAnd": { + "properties": { + "costCategories": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleNotAndCostCategory:getCostCategoryRuleRuleNotAndCostCategory" + }, + "description": "Configuration block for the filter that's based on `CostCategory` values. See below.\n" + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleNotAndDimension:getCostCategoryRuleRuleNotAndDimension" + }, + "description": "Configuration block for the specific `Dimension` to use for `Expression`. See below.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleNotAndTag:getCostCategoryRuleRuleNotAndTag" + }, + "description": "Configuration block for the specific `Tag` to use for `Expression`. See below.\n" + } + }, + "type": "object", "required": [ "costCategories", "dimensions", @@ -32213,6 +34061,105 @@ } } }, + "aws:costexplorer/getCostCategoryRuleRuleNotAndCostCategory:getCostCategoryRuleRuleNotAndCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleNotAndDimension:getCostCategoryRuleRuleNotAndDimension": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleNotAndTag:getCostCategoryRuleRuleNotAndTag": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:costexplorer/getCostCategoryRuleRuleNotCostCategory:getCostCategoryRuleRuleNotCostCategory": { "properties": { "key": { @@ -32279,6 +34226,276 @@ } } }, + "aws:costexplorer/getCostCategoryRuleRuleNotNot:getCostCategoryRuleRuleNotNot": { + "properties": { + "costCategories": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleNotNotCostCategory:getCostCategoryRuleRuleNotNotCostCategory" + }, + "description": "Configuration block for the filter that's based on `CostCategory` values. See below.\n" + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleNotNotDimension:getCostCategoryRuleRuleNotNotDimension" + }, + "description": "Configuration block for the specific `Dimension` to use for `Expression`. See below.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleNotNotTag:getCostCategoryRuleRuleNotNotTag" + }, + "description": "Configuration block for the specific `Tag` to use for `Expression`. See below.\n" + } + }, + "type": "object", + "required": [ + "costCategories", + "dimensions", + "tags" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleNotNotCostCategory:getCostCategoryRuleRuleNotNotCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleNotNotDimension:getCostCategoryRuleRuleNotNotDimension": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleNotNotTag:getCostCategoryRuleRuleNotNotTag": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleNotOr:getCostCategoryRuleRuleNotOr": { + "properties": { + "costCategories": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleNotOrCostCategory:getCostCategoryRuleRuleNotOrCostCategory" + }, + "description": "Configuration block for the filter that's based on `CostCategory` values. See below.\n" + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleNotOrDimension:getCostCategoryRuleRuleNotOrDimension" + }, + "description": "Configuration block for the specific `Dimension` to use for `Expression`. See below.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleNotOrTag:getCostCategoryRuleRuleNotOrTag" + }, + "description": "Configuration block for the specific `Tag` to use for `Expression`. See below.\n" + } + }, + "type": "object", + "required": [ + "costCategories", + "dimensions", + "tags" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleNotOrCostCategory:getCostCategoryRuleRuleNotOrCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleNotOrDimension:getCostCategoryRuleRuleNotOrDimension": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleNotOrTag:getCostCategoryRuleRuleNotOrTag": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:costexplorer/getCostCategoryRuleRuleNotTag:getCostCategoryRuleRuleNotTag": { "properties": { "key": { @@ -32314,6 +34531,13 @@ }, "aws:costexplorer/getCostCategoryRuleRuleOr:getCostCategoryRuleRuleOr": { "properties": { + "ands": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleOrAnd:getCostCategoryRuleRuleOrAnd" + }, + "description": "Return results that match both `Dimension` objects.\n" + }, "costCategories": { "type": "array", "items": { @@ -32328,6 +34552,20 @@ }, "description": "Configuration block for the specific `Dimension` to use for `Expression`. See below.\n" }, + "nots": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleOrNot:getCostCategoryRuleRuleOrNot" + }, + "description": "Return results that do not match the `Dimension` object.\n" + }, + "ors": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleOrOr:getCostCategoryRuleRuleOrOr" + }, + "description": "Return results that match either `Dimension` object.\n" + }, "tags": { "type": "array", "items": { @@ -32337,6 +34575,45 @@ } }, "type": "object", + "required": [ + "ands", + "costCategories", + "dimensions", + "nots", + "ors", + "tags" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleOrAnd:getCostCategoryRuleRuleOrAnd": { + "properties": { + "costCategories": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleOrAndCostCategory:getCostCategoryRuleRuleOrAndCostCategory" + }, + "description": "Configuration block for the filter that's based on `CostCategory` values. See below.\n" + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleOrAndDimension:getCostCategoryRuleRuleOrAndDimension" + }, + "description": "Configuration block for the specific `Dimension` to use for `Expression`. See below.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleOrAndTag:getCostCategoryRuleRuleOrAndTag" + }, + "description": "Configuration block for the specific `Tag` to use for `Expression`. See below.\n" + } + }, + "type": "object", "required": [ "costCategories", "dimensions", @@ -32348,6 +34625,105 @@ } } }, + "aws:costexplorer/getCostCategoryRuleRuleOrAndCostCategory:getCostCategoryRuleRuleOrAndCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleOrAndDimension:getCostCategoryRuleRuleOrAndDimension": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleOrAndTag:getCostCategoryRuleRuleOrAndTag": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:costexplorer/getCostCategoryRuleRuleOrCostCategory:getCostCategoryRuleRuleOrCostCategory": { "properties": { "key": { @@ -32414,6 +34790,276 @@ } } }, + "aws:costexplorer/getCostCategoryRuleRuleOrNot:getCostCategoryRuleRuleOrNot": { + "properties": { + "costCategories": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleOrNotCostCategory:getCostCategoryRuleRuleOrNotCostCategory" + }, + "description": "Configuration block for the filter that's based on `CostCategory` values. See below.\n" + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleOrNotDimension:getCostCategoryRuleRuleOrNotDimension" + }, + "description": "Configuration block for the specific `Dimension` to use for `Expression`. See below.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleOrNotTag:getCostCategoryRuleRuleOrNotTag" + }, + "description": "Configuration block for the specific `Tag` to use for `Expression`. See below.\n" + } + }, + "type": "object", + "required": [ + "costCategories", + "dimensions", + "tags" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleOrNotCostCategory:getCostCategoryRuleRuleOrNotCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleOrNotDimension:getCostCategoryRuleRuleOrNotDimension": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleOrNotTag:getCostCategoryRuleRuleOrNotTag": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleOrOr:getCostCategoryRuleRuleOrOr": { + "properties": { + "costCategories": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleOrOrCostCategory:getCostCategoryRuleRuleOrOrCostCategory" + }, + "description": "Configuration block for the filter that's based on `CostCategory` values. See below.\n" + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleOrOrDimension:getCostCategoryRuleRuleOrOrDimension" + }, + "description": "Configuration block for the specific `Dimension` to use for `Expression`. See below.\n" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/types/aws:costexplorer/getCostCategoryRuleRuleOrOrTag:getCostCategoryRuleRuleOrOrTag" + }, + "description": "Configuration block for the specific `Tag` to use for `Expression`. See below.\n" + } + }, + "type": "object", + "required": [ + "costCategories", + "dimensions", + "tags" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleOrOrCostCategory:getCostCategoryRuleRuleOrOrCostCategory": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleOrOrDimension:getCostCategoryRuleRuleOrOrDimension": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:costexplorer/getCostCategoryRuleRuleOrOrTag:getCostCategoryRuleRuleOrOrTag": { + "properties": { + "key": { + "type": "string", + "description": "Key for the tag.\n" + }, + "matchOptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Parameter values.\n" + } + }, + "type": "object", + "required": [ + "key", + "matchOptions", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:costexplorer/getCostCategoryRuleRuleOrTag:getCostCategoryRuleRuleOrTag": { "properties": { "key": { @@ -61878,6 +64524,19 @@ } } }, + "aws:globalaccelerator/CrossAccountAttachmentResource:CrossAccountAttachmentResource": { + "properties": { + "endpointId": { + "type": "string", + "description": "The endpoint ID for the endpoint that is specified as a AWS resource.\n" + }, + "region": { + "type": "string", + "description": "The AWS Region where a shared endpoint resource is located.\n" + } + }, + "type": "object" + }, "aws:globalaccelerator/CustomRoutingAcceleratorAttributes:CustomRoutingAcceleratorAttributes": { "properties": { "flowLogsEnabled": { @@ -69844,6 +72503,46 @@ "attributeValue" ] }, + "aws:identitystore/getGroupsGroup:getGroupsGroup": { + "properties": { + "description": { + "type": "string", + "description": "Description of the specified group.\n" + }, + "displayName": { + "type": "string", + "description": "Group's display name.\n" + }, + "externalIds": { + "type": "array", + "items": { + "$ref": "pulumi.json#/Any" + }, + "description": "List of identifiers issued to this resource by an external identity provider.\n" + }, + "groupId": { + "type": "string", + "description": "Identifier of the group in the Identity Store.\n" + }, + "identityStoreId": { + "type": "string", + "description": "Identity Store ID associated with the Single Sign-On (SSO) Instance.\n" + } + }, + "type": "object", + "required": [ + "description", + "displayName", + "externalIds", + "groupId", + "identityStoreId" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:identitystore/getUserAddress:getUserAddress": { "properties": { "country": { @@ -72942,6 +75641,10 @@ "type": "string", "description": "Use this to override the default service endpoint URL\n" }, + "route53profiles": { + "type": "string", + "description": "Use this to override the default service endpoint URL\n" + }, "route53recoverycontrolconfig": { "type": "string", "description": "Use this to override the default service endpoint URL\n" @@ -78753,7 +81456,332 @@ } } }, - "aws:kinesis/FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationCloudwatchLoggingOptions": { + "aws:kinesis/FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationCloudwatchLoggingOptions": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Enables or disables the logging. Defaults to `false`.\n" + }, + "logGroupName": { + "type": "string", + "description": "The CloudWatch group name for logging. This value is required if `enabled` is true.\n" + }, + "logStreamName": { + "type": "string", + "description": "The CloudWatch log stream name for logging. This value is required if `enabled` is true.\n" + } + }, + "type": "object" + }, + "aws:kinesis/FirehoseDeliveryStreamOpensearchserverlessConfigurationVpcConfig:FirehoseDeliveryStreamOpensearchserverlessConfigurationVpcConfig": { + "properties": { + "roleArn": { + "type": "string", + "description": "The ARN of the IAM role to be assumed by Firehose for calling the Amazon EC2 configuration API and for creating network interfaces. Make sure role has necessary [IAM permissions](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-es-vpc)\n", + "willReplaceOnChanges": true + }, + "securityGroupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of security group IDs to associate with Kinesis Firehose.\n", + "willReplaceOnChanges": true + }, + "subnetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of subnet IDs to associate with Kinesis Firehose.\n", + "willReplaceOnChanges": true + }, + "vpcId": { + "type": "string" + } + }, + "type": "object", + "required": [ + "roleArn", + "securityGroupIds", + "subnetIds" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "roleArn", + "securityGroupIds", + "subnetIds", + "vpcId" + ] + } + } + }, + "aws:kinesis/FirehoseDeliveryStreamRedshiftConfiguration:FirehoseDeliveryStreamRedshiftConfiguration": { + "properties": { + "cloudwatchLoggingOptions": { + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamRedshiftConfigurationCloudwatchLoggingOptions", + "description": "The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details.\n" + }, + "clusterJdbcurl": { + "type": "string", + "description": "The jdbcurl of the redshift cluster.\n" + }, + "copyOptions": { + "type": "string", + "description": "Copy options for copying the data from the s3 intermediate bucket into redshift, for example to change the default delimiter. For valid values, see the [AWS documentation](http://docs.aws.amazon.com/firehose/latest/APIReference/API_CopyCommand.html)\n" + }, + "dataTableColumns": { + "type": "string", + "description": "The data table columns that will be targeted by the copy command.\n" + }, + "dataTableName": { + "type": "string", + "description": "The name of the table in the redshift cluster that the s3 bucket will copy to.\n" + }, + "password": { + "type": "string", + "description": "The password for the username above.\n", + "secret": true + }, + "processingConfiguration": { + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationProcessingConfiguration:FirehoseDeliveryStreamRedshiftConfigurationProcessingConfiguration", + "description": "The data processing configuration. See `processing_configuration` block below for details.\n" + }, + "retryDuration": { + "type": "integer", + "description": "The length of time during which Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Firehose does not retry if the value of DurationInSeconds is 0 (zero) or if the first delivery attempt takes longer than the current value.\n" + }, + "roleArn": { + "type": "string", + "description": "The arn of the role the stream assumes.\n" + }, + "s3BackupConfiguration": { + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfiguration:FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfiguration", + "description": "The configuration for backup in Amazon S3. Required if `s3_backup_mode` is `Enabled`. Supports the same fields as `s3_configuration` object.\n" + }, + "s3BackupMode": { + "type": "string", + "description": "The Amazon S3 backup mode. Valid values are `Disabled` and `Enabled`. Default value is `Disabled`.\n" + }, + "s3Configuration": { + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3Configuration:FirehoseDeliveryStreamRedshiftConfigurationS3Configuration", + "description": "The S3 Configuration. See s3_configuration below for details.\n" + }, + "username": { + "type": "string", + "description": "The username that the firehose delivery stream will assume. It is strongly recommended that the username and password provided is used exclusively for Amazon Kinesis Firehose purposes, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.\n" + } + }, + "type": "object", + "required": [ + "clusterJdbcurl", + "dataTableName", + "password", + "roleArn", + "s3Configuration", + "username" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "cloudwatchLoggingOptions", + "clusterJdbcurl", + "dataTableName", + "password", + "roleArn", + "s3Configuration", + "username" + ] + } + } + }, + "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamRedshiftConfigurationCloudwatchLoggingOptions": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Enables or disables the logging. Defaults to `false`.\n" + }, + "logGroupName": { + "type": "string", + "description": "The CloudWatch group name for logging. This value is required if `enabled` is true.\n" + }, + "logStreamName": { + "type": "string", + "description": "The CloudWatch log stream name for logging. This value is required if `enabled` is true.\n" + } + }, + "type": "object" + }, + "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationProcessingConfiguration:FirehoseDeliveryStreamRedshiftConfigurationProcessingConfiguration": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Enables or disables data processing.\n" + }, + "processors": { + "type": "array", + "items": { + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessor:FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessor" + }, + "description": "Specifies the data processors as multiple blocks. See `processors` block below for details.\n" + } + }, + "type": "object" + }, + "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessor:FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessor": { + "properties": { + "parameters": { + "type": "array", + "items": { + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessorParameter:FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessorParameter" + }, + "description": "Specifies the processor parameters as multiple blocks. See `parameters` block below for details.\n" + }, + "type": { + "type": "string", + "description": "The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work.\n" + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessorParameter:FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessorParameter": { + "properties": { + "parameterName": { + "type": "string", + "description": "Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work.\n" + }, + "parameterValue": { + "type": "string", + "description": "Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well.\n\n\u003e **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values.\n" + } + }, + "type": "object", + "required": [ + "parameterName", + "parameterValue" + ] + }, + "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfiguration:FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfiguration": { + "properties": { + "bucketArn": { + "type": "string" + }, + "bufferingInterval": { + "type": "integer" + }, + "bufferingSize": { + "type": "integer" + }, + "cloudwatchLoggingOptions": { + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationCloudwatchLoggingOptions" + }, + "compressionFormat": { + "type": "string" + }, + "errorOutputPrefix": { + "type": "string" + }, + "kmsKeyArn": { + "type": "string" + }, + "prefix": { + "type": "string" + }, + "roleArn": { + "type": "string" + } + }, + "type": "object", + "required": [ + "bucketArn", + "roleArn" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "bucketArn", + "cloudwatchLoggingOptions", + "roleArn" + ] + } + } + }, + "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationCloudwatchLoggingOptions": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Enables or disables the logging. Defaults to `false`.\n" + }, + "logGroupName": { + "type": "string", + "description": "The CloudWatch group name for logging. This value is required if `enabled` is true.\n" + }, + "logStreamName": { + "type": "string", + "description": "The CloudWatch log stream name for logging. This value is required if `enabled` is true.\n" + } + }, + "type": "object" + }, + "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3Configuration:FirehoseDeliveryStreamRedshiftConfigurationS3Configuration": { + "properties": { + "bucketArn": { + "type": "string", + "description": "The ARN of the S3 bucket\n" + }, + "bufferingInterval": { + "type": "integer", + "description": "Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300.\n" + }, + "bufferingSize": { + "type": "integer", + "description": "Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5.\nWe recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher.\n" + }, + "cloudwatchLoggingOptions": { + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationCloudwatchLoggingOptions", + "description": "The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details.\n" + }, + "compressionFormat": { + "type": "string", + "description": "The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, \u0026 `HADOOP_SNAPPY`.\n" + }, + "errorOutputPrefix": { + "type": "string", + "description": "Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html).\n" + }, + "kmsKeyArn": { + "type": "string", + "description": "Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will\nbe used.\n" + }, + "prefix": { + "type": "string", + "description": "The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket\n" + }, + "roleArn": { + "type": "string", + "description": "The ARN of the AWS credentials.\n" + } + }, + "type": "object", + "required": [ + "bucketArn", + "roleArn" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "bucketArn", + "cloudwatchLoggingOptions", + "roleArn" + ] + } + } + }, + "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationCloudwatchLoggingOptions": { "properties": { "enabled": { "type": "boolean", @@ -78770,130 +81798,128 @@ }, "type": "object" }, - "aws:kinesis/FirehoseDeliveryStreamOpensearchserverlessConfigurationVpcConfig:FirehoseDeliveryStreamOpensearchserverlessConfigurationVpcConfig": { + "aws:kinesis/FirehoseDeliveryStreamServerSideEncryption:FirehoseDeliveryStreamServerSideEncryption": { "properties": { - "roleArn": { - "type": "string", - "description": "The ARN of the IAM role to be assumed by Firehose for calling the Amazon EC2 configuration API and for creating network interfaces. Make sure role has necessary [IAM permissions](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-es-vpc)\n", - "willReplaceOnChanges": true - }, - "securityGroupIds": { - "type": "array", - "items": { - "type": "string" - }, - "description": "A list of security group IDs to associate with Kinesis Firehose.\n", - "willReplaceOnChanges": true + "enabled": { + "type": "boolean", + "description": "Whether to enable encryption at rest. Default is `false`.\n" }, - "subnetIds": { - "type": "array", - "items": { - "type": "string" - }, - "description": "A list of subnet IDs to associate with Kinesis Firehose.\n", - "willReplaceOnChanges": true + "keyArn": { + "type": "string", + "description": "Amazon Resource Name (ARN) of the encryption key. Required when `key_type` is `CUSTOMER_MANAGED_CMK`.\n" }, - "vpcId": { - "type": "string" + "keyType": { + "type": "string", + "description": "Type of encryption key. Default is `AWS_OWNED_CMK`. Valid values are `AWS_OWNED_CMK` and `CUSTOMER_MANAGED_CMK`\n" } }, - "type": "object", - "required": [ - "roleArn", - "securityGroupIds", - "subnetIds" - ], - "language": { - "nodejs": { - "requiredOutputs": [ - "roleArn", - "securityGroupIds", - "subnetIds", - "vpcId" - ] - } - } + "type": "object" }, - "aws:kinesis/FirehoseDeliveryStreamRedshiftConfiguration:FirehoseDeliveryStreamRedshiftConfiguration": { + "aws:kinesis/FirehoseDeliveryStreamSnowflakeConfiguration:FirehoseDeliveryStreamSnowflakeConfiguration": { "properties": { + "accountUrl": { + "type": "string", + "description": "The URL of the Snowflake account. Format: https://[account_identifier].snowflakecomputing.com.\n" + }, "cloudwatchLoggingOptions": { - "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamRedshiftConfigurationCloudwatchLoggingOptions", + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions", "description": "The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details.\n" }, - "clusterJdbcurl": { + "contentColumnName": { "type": "string", - "description": "The jdbcurl of the redshift cluster.\n" + "description": "The name of the content column.\n" }, - "copyOptions": { + "dataLoadingOption": { "type": "string", - "description": "Copy options for copying the data from the s3 intermediate bucket into redshift, for example to change the default delimiter. For valid values, see the [AWS documentation](http://docs.aws.amazon.com/firehose/latest/APIReference/API_CopyCommand.html)\n" + "description": "The data loading option.\n" }, - "dataTableColumns": { + "database": { "type": "string", - "description": "The data table columns that will be targeted by the copy command.\n" + "description": "The Snowflake database name.\n" }, - "dataTableName": { + "keyPassphrase": { "type": "string", - "description": "The name of the table in the redshift cluster that the s3 bucket will copy to.\n" + "description": "The passphrase for the private key.\n", + "secret": true }, - "password": { + "metadataColumnName": { "type": "string", - "description": "The password for the username above.\n", + "description": "The name of the metadata column.\n" + }, + "privateKey": { + "type": "string", + "description": "The private key for authentication.\n", "secret": true }, "processingConfiguration": { - "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationProcessingConfiguration:FirehoseDeliveryStreamRedshiftConfigurationProcessingConfiguration", - "description": "The data processing configuration. See `processing_configuration` block below for details.\n" + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration:FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration", + "description": "The processing configuration. See `processing_configuration` block below for details.\n" }, "retryDuration": { "type": "integer", - "description": "The length of time during which Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Firehose does not retry if the value of DurationInSeconds is 0 (zero) or if the first delivery attempt takes longer than the current value.\n" + "description": "After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0.\n" }, "roleArn": { "type": "string", - "description": "The arn of the role the stream assumes.\n" - }, - "s3BackupConfiguration": { - "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfiguration:FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfiguration", - "description": "The configuration for backup in Amazon S3. Required if `s3_backup_mode` is `Enabled`. Supports the same fields as `s3_configuration` object.\n" + "description": "The ARN of the IAM role.\n" }, "s3BackupMode": { "type": "string", - "description": "The Amazon S3 backup mode. Valid values are `Disabled` and `Enabled`. Default value is `Disabled`.\n" + "description": "The S3 backup mode.\n" }, "s3Configuration": { - "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3Configuration:FirehoseDeliveryStreamRedshiftConfigurationS3Configuration", - "description": "The S3 Configuration. See s3_configuration below for details.\n" + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration:FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration", + "description": "The S3 configuration. See `s3_configuration` block below for details.\n" }, - "username": { + "schema": { "type": "string", - "description": "The username that the firehose delivery stream will assume. It is strongly recommended that the username and password provided is used exclusively for Amazon Kinesis Firehose purposes, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.\n" + "description": "The Snowflake schema name.\n" + }, + "snowflakeRoleConfiguration": { + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration:FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration", + "description": "The configuration for Snowflake role.\n" + }, + "snowflakeVpcConfiguration": { + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration:FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration", + "description": "The VPC configuration for Snowflake.\n" + }, + "table": { + "type": "string", + "description": "The Snowflake table name.\n" + }, + "user": { + "type": "string", + "description": "The user for authentication.\n" } }, "type": "object", "required": [ - "clusterJdbcurl", - "dataTableName", - "password", + "accountUrl", + "database", + "privateKey", "roleArn", "s3Configuration", - "username" + "schema", + "table", + "user" ], "language": { "nodejs": { "requiredOutputs": [ + "accountUrl", "cloudwatchLoggingOptions", - "clusterJdbcurl", - "dataTableName", - "password", + "database", + "privateKey", "roleArn", "s3Configuration", - "username" + "schema", + "table", + "user" ] } } }, - "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamRedshiftConfigurationCloudwatchLoggingOptions": { + "aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions": { "properties": { "enabled": { "type": "boolean", @@ -78910,7 +81936,7 @@ }, "type": "object" }, - "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationProcessingConfiguration:FirehoseDeliveryStreamRedshiftConfigurationProcessingConfiguration": { + "aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration:FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration": { "properties": { "enabled": { "type": "boolean", @@ -78919,19 +81945,19 @@ "processors": { "type": "array", "items": { - "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessor:FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessor" + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor:FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor" }, "description": "Specifies the data processors as multiple blocks. See `processors` block below for details.\n" } }, "type": "object" }, - "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessor:FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessor": { + "aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor:FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor": { "properties": { "parameters": { "type": "array", "items": { - "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessorParameter:FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessorParameter" + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter:FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter" }, "description": "Specifies the processor parameters as multiple blocks. See `parameters` block below for details.\n" }, @@ -78945,7 +81971,7 @@ "type" ] }, - "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessorParameter:FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessorParameter": { + "aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter:FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter": { "properties": { "parameterName": { "type": "string", @@ -78962,69 +81988,7 @@ "parameterValue" ] }, - "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfiguration:FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfiguration": { - "properties": { - "bucketArn": { - "type": "string" - }, - "bufferingInterval": { - "type": "integer" - }, - "bufferingSize": { - "type": "integer" - }, - "cloudwatchLoggingOptions": { - "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationCloudwatchLoggingOptions" - }, - "compressionFormat": { - "type": "string" - }, - "errorOutputPrefix": { - "type": "string" - }, - "kmsKeyArn": { - "type": "string" - }, - "prefix": { - "type": "string" - }, - "roleArn": { - "type": "string" - } - }, - "type": "object", - "required": [ - "bucketArn", - "roleArn" - ], - "language": { - "nodejs": { - "requiredOutputs": [ - "bucketArn", - "cloudwatchLoggingOptions", - "roleArn" - ] - } - } - }, - "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationCloudwatchLoggingOptions": { - "properties": { - "enabled": { - "type": "boolean", - "description": "Enables or disables the logging. Defaults to `false`.\n" - }, - "logGroupName": { - "type": "string", - "description": "The CloudWatch group name for logging. This value is required if `enabled` is true.\n" - }, - "logStreamName": { - "type": "string", - "description": "The CloudWatch log stream name for logging. This value is required if `enabled` is true.\n" - } - }, - "type": "object" - }, - "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3Configuration:FirehoseDeliveryStreamRedshiftConfigurationS3Configuration": { + "aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration:FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration": { "properties": { "bucketArn": { "type": "string", @@ -79039,7 +82003,7 @@ "description": "Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5.\nWe recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher.\n" }, "cloudwatchLoggingOptions": { - "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationCloudwatchLoggingOptions", + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions", "description": "The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details.\n" }, "compressionFormat": { @@ -79078,7 +82042,7 @@ } } }, - "aws:kinesis/FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationCloudwatchLoggingOptions": { + "aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions:FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions": { "properties": { "enabled": { "type": "boolean", @@ -79095,23 +82059,31 @@ }, "type": "object" }, - "aws:kinesis/FirehoseDeliveryStreamServerSideEncryption:FirehoseDeliveryStreamServerSideEncryption": { + "aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration:FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration": { "properties": { "enabled": { "type": "boolean", - "description": "Whether to enable encryption at rest. Default is `false`.\n" + "description": "Whether the Snowflake role is enabled.\n" }, - "keyArn": { - "type": "string", - "description": "Amazon Resource Name (ARN) of the encryption key. Required when `key_type` is `CUSTOMER_MANAGED_CMK`.\n" - }, - "keyType": { + "snowflakeRole": { "type": "string", - "description": "Type of encryption key. Default is `AWS_OWNED_CMK`. Valid values are `AWS_OWNED_CMK` and `CUSTOMER_MANAGED_CMK`\n" + "description": "The Snowflake role.\n" } }, "type": "object" }, + "aws:kinesis/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration:FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration": { + "properties": { + "privateLinkVpceId": { + "type": "string", + "description": "The VPCE ID for Firehose to privately connect with Snowflake.\n" + } + }, + "type": "object", + "required": [ + "privateLinkVpceId" + ] + }, "aws:kinesis/FirehoseDeliveryStreamSplunkConfiguration:FirehoseDeliveryStreamSplunkConfiguration": { "properties": { "bufferingInterval": { @@ -107460,31 +110432,29 @@ "properties": { "passwordCount": { "type": "integer", - "description": "The number of passwords belonging to the user.\n" + "description": "Number of passwords belonging to the user if `type` is set to `password`.\n" }, "passwords": { "type": "array", "items": { "type": "string" }, - "description": "The set of passwords used for authentication. You can create up to two passwords for each user.\n", + "description": "Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user.\n", "secret": true }, "type": { "type": "string", - "description": "Indicates whether the user requires a password to authenticate. Must be set to `password`.\n" + "description": "Specifies the authentication type. Valid values are: `password` or `iam`.\n" } }, "type": "object", "required": [ - "passwords", "type" ], "language": { "nodejs": { "requiredOutputs": [ "passwordCount", - "passwords", "type" ] } @@ -107706,11 +110676,11 @@ "properties": { "passwordCount": { "type": "integer", - "description": "The number of passwords belonging to the user.\n" + "description": "Number of passwords belonging to the user if `type` is set to `password`.\n" }, "type": { "type": "string", - "description": "Whether the user requires a password to authenticate.\n" + "description": "Type of authentication configured.\n" } }, "type": "object", @@ -126392,11 +129362,71 @@ } } }, + "aws:sagemaker/AppImageConfigCodeEditorAppImageConfig:AppImageConfigCodeEditorAppImageConfig": { + "properties": { + "containerConfig": { + "$ref": "#/types/aws:sagemaker/AppImageConfigCodeEditorAppImageConfigContainerConfig:AppImageConfigCodeEditorAppImageConfigContainerConfig", + "description": "The configuration used to run the application image container. See Container Config details below.\n" + }, + "fileSystemConfig": { + "$ref": "#/types/aws:sagemaker/AppImageConfigCodeEditorAppImageConfigFileSystemConfig:AppImageConfigCodeEditorAppImageConfigFileSystemConfig", + "description": "The URL where the Git repository is located. See File System Config details below.\n" + } + }, + "type": "object" + }, + "aws:sagemaker/AppImageConfigCodeEditorAppImageConfigContainerConfig:AppImageConfigCodeEditorAppImageConfigContainerConfig": { + "properties": { + "containerArguments": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The arguments for the container when you're running the application.\n" + }, + "containerEntrypoints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The entrypoint used to run the application in the container.\n" + }, + "containerEnvironmentVariables": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The environment variables to set in the container.\n" + } + }, + "type": "object" + }, + "aws:sagemaker/AppImageConfigCodeEditorAppImageConfigFileSystemConfig:AppImageConfigCodeEditorAppImageConfigFileSystemConfig": { + "properties": { + "defaultGid": { + "type": "integer", + "description": "The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`.\n" + }, + "defaultUid": { + "type": "integer", + "description": "The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`.\n" + }, + "mountPath": { + "type": "string", + "description": "The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`.\n\n\u003e **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`].\n" + } + }, + "type": "object" + }, "aws:sagemaker/AppImageConfigJupyterLabImageConfig:AppImageConfigJupyterLabImageConfig": { "properties": { "containerConfig": { "$ref": "#/types/aws:sagemaker/AppImageConfigJupyterLabImageConfigContainerConfig:AppImageConfigJupyterLabImageConfigContainerConfig", "description": "The configuration used to run the application image container. See Container Config details below.\n" + }, + "fileSystemConfig": { + "$ref": "#/types/aws:sagemaker/AppImageConfigJupyterLabImageConfigFileSystemConfig:AppImageConfigJupyterLabImageConfigFileSystemConfig", + "description": "The URL where the Git repository is located. See File System Config details below.\n" } }, "type": "object" @@ -126427,6 +129457,23 @@ }, "type": "object" }, + "aws:sagemaker/AppImageConfigJupyterLabImageConfigFileSystemConfig:AppImageConfigJupyterLabImageConfigFileSystemConfig": { + "properties": { + "defaultGid": { + "type": "integer", + "description": "The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`.\n" + }, + "defaultUid": { + "type": "integer", + "description": "The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`.\n" + }, + "mountPath": { + "type": "string", + "description": "The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`.\n\n\u003e **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`].\n" + } + }, + "type": "object" + }, "aws:sagemaker/AppImageConfigKernelGatewayImageConfig:AppImageConfigKernelGatewayImageConfig": { "properties": { "fileSystemConfig": { @@ -139632,6 +142679,89 @@ "clientSecret" ] }, + "aws:verifiedpermissions/PolicyDefinition:PolicyDefinition": { + "properties": { + "static": { + "$ref": "#/types/aws:verifiedpermissions/PolicyDefinitionStatic:PolicyDefinitionStatic", + "description": "The static policy statement. See Static below.\n" + }, + "templateLinked": { + "$ref": "#/types/aws:verifiedpermissions/PolicyDefinitionTemplateLinked:PolicyDefinitionTemplateLinked", + "description": "The template linked policy. See Template Linked below.\n" + } + }, + "type": "object" + }, + "aws:verifiedpermissions/PolicyDefinitionStatic:PolicyDefinitionStatic": { + "properties": { + "description": { + "type": "string", + "description": "The description of the static policy.\n" + }, + "statement": { + "type": "string", + "description": "The statement of the static policy.\n" + } + }, + "type": "object", + "required": [ + "statement" + ] + }, + "aws:verifiedpermissions/PolicyDefinitionTemplateLinked:PolicyDefinitionTemplateLinked": { + "properties": { + "policyTemplateId": { + "type": "string", + "description": "The ID of the template.\n" + }, + "principal": { + "$ref": "#/types/aws:verifiedpermissions/PolicyDefinitionTemplateLinkedPrincipal:PolicyDefinitionTemplateLinkedPrincipal", + "description": "The principal of the template linked policy.\n" + }, + "resource": { + "$ref": "#/types/aws:verifiedpermissions/PolicyDefinitionTemplateLinkedResource:PolicyDefinitionTemplateLinkedResource", + "description": "The resource of the template linked policy.\n" + } + }, + "type": "object", + "required": [ + "policyTemplateId" + ] + }, + "aws:verifiedpermissions/PolicyDefinitionTemplateLinkedPrincipal:PolicyDefinitionTemplateLinkedPrincipal": { + "properties": { + "entityId": { + "type": "string", + "description": "The entity ID of the principal.\n" + }, + "entityType": { + "type": "string", + "description": "The entity type of the principal.\n" + } + }, + "type": "object", + "required": [ + "entityId", + "entityType" + ] + }, + "aws:verifiedpermissions/PolicyDefinitionTemplateLinkedResource:PolicyDefinitionTemplateLinkedResource": { + "properties": { + "entityId": { + "type": "string", + "description": "The entity ID of the resource.\n" + }, + "entityType": { + "type": "string", + "description": "The entity type of the resource.\n" + } + }, + "type": "object", + "required": [ + "entityId", + "entityType" + ] + }, "aws:verifiedpermissions/PolicyStoreValidationSettings:PolicyStoreValidationSettings": { "properties": { "mode": { @@ -174604,7 +177734,7 @@ }, "containerProperties": { "type": "string", - "description": "A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html)\nprovided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`.\n" + "description": "A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`.\n" }, "deregisterOnNewRevision": { "type": "boolean", @@ -174620,7 +177750,7 @@ }, "nodeProperties": { "type": "string", - "description": "A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html)\nprovided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`.\n" + "description": "A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`.\n" }, "parameters": { "type": "object", @@ -174642,7 +177772,7 @@ }, "retryStrategy": { "$ref": "#/types/aws:batch/JobDefinitionRetryStrategy:JobDefinitionRetryStrategy", - "description": "Specifies the retry strategy to use for failed jobs that are submitted with this job definition.\nMaximum number of `retry_strategy` is `1`. Defined below.\n" + "description": "Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below.\n" }, "revision": { "type": "integer", @@ -174687,7 +177817,7 @@ "inputProperties": { "containerProperties": { "type": "string", - "description": "A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html)\nprovided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`.\n" + "description": "A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`.\n" }, "deregisterOnNewRevision": { "type": "boolean", @@ -174704,7 +177834,7 @@ }, "nodeProperties": { "type": "string", - "description": "A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html)\nprovided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`.\n" + "description": "A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`.\n" }, "parameters": { "type": "object", @@ -174726,7 +177856,7 @@ }, "retryStrategy": { "$ref": "#/types/aws:batch/JobDefinitionRetryStrategy:JobDefinitionRetryStrategy", - "description": "Specifies the retry strategy to use for failed jobs that are submitted with this job definition.\nMaximum number of `retry_strategy` is `1`. Defined below.\n" + "description": "Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below.\n" }, "schedulingPriority": { "type": "integer", @@ -174764,7 +177894,7 @@ }, "containerProperties": { "type": "string", - "description": "A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html)\nprovided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`.\n" + "description": "A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`.\n" }, "deregisterOnNewRevision": { "type": "boolean", @@ -174781,7 +177911,7 @@ }, "nodeProperties": { "type": "string", - "description": "A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html)\nprovided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`.\n" + "description": "A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`.\n" }, "parameters": { "type": "object", @@ -174803,7 +177933,7 @@ }, "retryStrategy": { "$ref": "#/types/aws:batch/JobDefinitionRetryStrategy:JobDefinitionRetryStrategy", - "description": "Specifies the retry strategy to use for failed jobs that are submitted with this job definition.\nMaximum number of `retry_strategy` is `1`. Defined below.\n" + "description": "Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below.\n" }, "revision": { "type": "integer", @@ -175097,6 +178227,717 @@ "type": "object" } }, + "aws:bcmdata/export:Export": { + "description": "Resource for managing an AWS BCM Data Exports Export.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.bcmdata.Export(\"test\", {\"export\": {\n name: \"testexample\",\n dataQueries: [{\n queryStatement: \"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\",\n tableConfigurations: {\n COST_AND_USAGE_REPORT: {\n TIME_GRANULARITY: \"HOURLY\",\n INCLUDE_RESOURCES: \"FALSE\",\n INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY: \"FALSE\",\n INCLUDE_SPLIT_COST_ALLOCATION_DATA: \"FALSE\",\n },\n },\n }],\n destinationConfigurations: [{\n s3Destinations: [{\n s3Bucket: testAwsS3Bucket.bucket,\n s3Prefix: testAwsS3Bucket.bucketPrefix,\n s3Region: testAwsS3Bucket.region,\n s3OutputConfigurations: [{\n overwrite: \"OVERWRITE_REPORT\",\n format: \"TEXT_OR_CSV\",\n compression: \"GZIP\",\n outputType: \"CUSTOM\",\n }],\n }],\n }],\n refreshCadences: [{\n frequency: \"SYNCHRONOUS\",\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bcmdata.Export(\"test\", export=aws.bcmdata.ExportExportArgs(\n name=\"testexample\",\n data_queries=[aws.bcmdata.ExportExportDataQueryArgs(\n query_statement=\"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\",\n table_configurations={\n \"COST_AND_USAGE_REPORT\": {\n \"TIME_GRANULARITY\": \"HOURLY\",\n \"INCLUDE_RESOURCES\": \"FALSE\",\n \"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\": \"FALSE\",\n \"INCLUDE_SPLIT_COST_ALLOCATION_DATA\": \"FALSE\",\n },\n },\n )],\n destination_configurations=[aws.bcmdata.ExportExportDestinationConfigurationArgs(\n s3_destinations=[aws.bcmdata.ExportExportDestinationConfigurationS3DestinationArgs(\n s3_bucket=test_aws_s3_bucket[\"bucket\"],\n s3_prefix=test_aws_s3_bucket[\"bucketPrefix\"],\n s3_region=test_aws_s3_bucket[\"region\"],\n s3_output_configurations=[aws.bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs(\n overwrite=\"OVERWRITE_REPORT\",\n format=\"TEXT_OR_CSV\",\n compression=\"GZIP\",\n output_type=\"CUSTOM\",\n )],\n )],\n )],\n refresh_cadences=[aws.bcmdata.ExportExportRefreshCadenceArgs(\n frequency=\"SYNCHRONOUS\",\n )],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.BcmData.Export(\"test\", new()\n {\n Export = new Aws.BcmData.Inputs.ExportExportArgs\n {\n Name = \"testexample\",\n DataQueries = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDataQueryArgs\n {\n QueryStatement = \"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\",\n TableConfigurations = \n {\n { \"COST_AND_USAGE_REPORT\", \n {\n { \"TIME_GRANULARITY\", \"HOURLY\" },\n { \"INCLUDE_RESOURCES\", \"FALSE\" },\n { \"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\", \"FALSE\" },\n { \"INCLUDE_SPLIT_COST_ALLOCATION_DATA\", \"FALSE\" },\n } },\n },\n },\n },\n DestinationConfigurations = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDestinationConfigurationArgs\n {\n S3Destinations = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDestinationConfigurationS3DestinationArgs\n {\n S3Bucket = testAwsS3Bucket.Bucket,\n S3Prefix = testAwsS3Bucket.BucketPrefix,\n S3Region = testAwsS3Bucket.Region,\n S3OutputConfigurations = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs\n {\n Overwrite = \"OVERWRITE_REPORT\",\n Format = \"TEXT_OR_CSV\",\n Compression = \"GZIP\",\n OutputType = \"CUSTOM\",\n },\n },\n },\n },\n },\n },\n RefreshCadences = new[]\n {\n new Aws.BcmData.Inputs.ExportExportRefreshCadenceArgs\n {\n Frequency = \"SYNCHRONOUS\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bcmdata\"\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 := bcmdata.NewExport(ctx, \"test\", \u0026bcmdata.ExportArgs{\n\t\t\tExport: \u0026bcmdata.ExportExportArgs{\n\t\t\t\tName: pulumi.String(\"testexample\"),\n\t\t\t\tDataQueries: bcmdata.ExportExportDataQueryArray{\n\t\t\t\t\t\u0026bcmdata.ExportExportDataQueryArgs{\n\t\t\t\t\t\tQueryStatement: pulumi.String(\"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\"),\n\t\t\t\t\t\tTableConfigurations: pulumi.MapMap{\n\t\t\t\t\t\t\t\"COST_AND_USAGE_REPORT\": pulumi.Map{\n\t\t\t\t\t\t\t\t\"TIME_GRANULARITY\": pulumi.Any(\"HOURLY\"),\n\t\t\t\t\t\t\t\t\"INCLUDE_RESOURCES\": pulumi.Any(\"FALSE\"),\n\t\t\t\t\t\t\t\t\"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\": pulumi.Any(\"FALSE\"),\n\t\t\t\t\t\t\t\t\"INCLUDE_SPLIT_COST_ALLOCATION_DATA\": pulumi.Any(\"FALSE\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDestinationConfigurations: bcmdata.ExportExportDestinationConfigurationArray{\n\t\t\t\t\t\u0026bcmdata.ExportExportDestinationConfigurationArgs{\n\t\t\t\t\t\tS3Destinations: bcmdata.ExportExportDestinationConfigurationS3DestinationArray{\n\t\t\t\t\t\t\t\u0026bcmdata.ExportExportDestinationConfigurationS3DestinationArgs{\n\t\t\t\t\t\t\t\tS3Bucket: pulumi.Any(testAwsS3Bucket.Bucket),\n\t\t\t\t\t\t\t\tS3Prefix: pulumi.Any(testAwsS3Bucket.BucketPrefix),\n\t\t\t\t\t\t\t\tS3Region: pulumi.Any(testAwsS3Bucket.Region),\n\t\t\t\t\t\t\t\tS3OutputConfigurations: bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArray{\n\t\t\t\t\t\t\t\t\t\u0026bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs{\n\t\t\t\t\t\t\t\t\t\tOverwrite: pulumi.String(\"OVERWRITE_REPORT\"),\n\t\t\t\t\t\t\t\t\t\tFormat: pulumi.String(\"TEXT_OR_CSV\"),\n\t\t\t\t\t\t\t\t\t\tCompression: pulumi.String(\"GZIP\"),\n\t\t\t\t\t\t\t\t\t\tOutputType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRefreshCadences: bcmdata.ExportExportRefreshCadenceArray{\n\t\t\t\t\t\u0026bcmdata.ExportExportRefreshCadenceArgs{\n\t\t\t\t\t\tFrequency: pulumi.String(\"SYNCHRONOUS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bcmdata.Export;\nimport com.pulumi.aws.bcmdata.ExportArgs;\nimport com.pulumi.aws.bcmdata.inputs.ExportExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Export(\"test\", ExportArgs.builder() \n .export(ExportExportArgs.builder()\n .name(\"testexample\")\n .dataQueries(ExportExportDataQueryArgs.builder()\n .queryStatement(\"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\")\n .tableConfigurations(Map.of(\"COST_AND_USAGE_REPORT\", Map.ofEntries(\n Map.entry(\"TIME_GRANULARITY\", \"HOURLY\"),\n Map.entry(\"INCLUDE_RESOURCES\", \"FALSE\"),\n Map.entry(\"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\", \"FALSE\"),\n Map.entry(\"INCLUDE_SPLIT_COST_ALLOCATION_DATA\", \"FALSE\")\n )))\n .build())\n .destinationConfigurations(ExportExportDestinationConfigurationArgs.builder()\n .s3Destinations(ExportExportDestinationConfigurationS3DestinationArgs.builder()\n .s3Bucket(testAwsS3Bucket.bucket())\n .s3Prefix(testAwsS3Bucket.bucketPrefix())\n .s3Region(testAwsS3Bucket.region())\n .s3OutputConfigurations(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs.builder()\n .overwrite(\"OVERWRITE_REPORT\")\n .format(\"TEXT_OR_CSV\")\n .compression(\"GZIP\")\n .outputType(\"CUSTOM\")\n .build())\n .build())\n .build())\n .refreshCadences(ExportExportRefreshCadenceArgs.builder()\n .frequency(\"SYNCHRONOUS\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:bcmdata:Export\n properties:\n export:\n name: testexample\n dataQueries:\n - queryStatement: SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\n tableConfigurations:\n COST_AND_USAGE_REPORT:\n TIME_GRANULARITY: HOURLY\n INCLUDE_RESOURCES: FALSE\n INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY: FALSE\n INCLUDE_SPLIT_COST_ALLOCATION_DATA: FALSE\n destinationConfigurations:\n - s3Destinations:\n - s3Bucket: ${testAwsS3Bucket.bucket}\n s3Prefix: ${testAwsS3Bucket.bucketPrefix}\n s3Region: ${testAwsS3Bucket.region}\n s3OutputConfigurations:\n - overwrite: OVERWRITE_REPORT\n format: TEXT_OR_CSV\n compression: GZIP\n outputType: CUSTOM\n refreshCadences:\n - frequency: SYNCHRONOUS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import BCM Data Exports Export using the `export_arn`. For example:\n\n```sh\n$ pulumi import aws:bcmdata/export:Export example export-id-12345678\n```\n", + "properties": { + "export": { + "$ref": "#/types/aws:bcmdata/ExportExport:ExportExport", + "description": "The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:bcmdata/ExportTimeouts:ExportTimeouts" + } + }, + "required": [ + "tagsAll" + ], + "inputProperties": { + "export": { + "$ref": "#/types/aws:bcmdata/ExportExport:ExportExport", + "description": "The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "timeouts": { + "$ref": "#/types/aws:bcmdata/ExportTimeouts:ExportTimeouts" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering Export resources.\n", + "properties": { + "export": { + "$ref": "#/types/aws:bcmdata/ExportExport:ExportExport", + "description": "The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:bcmdata/ExportTimeouts:ExportTimeouts" + } + }, + "type": "object" + } + }, + "aws:bedrock/agentAgent:AgentAgent": { + "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst currentGetRegion = aws.getRegion({});\nconst exampleAgentTrust = Promise.all([current, currentGetRegion, current]).then(([current, currentGetRegion, current1]) =\u003e aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n identifiers: [\"bedrock.amazonaws.com\"],\n type: \"Service\",\n }],\n conditions: [\n {\n test: \"StringEquals\",\n values: [current.accountId],\n variable: \"aws:SourceAccount\",\n },\n {\n test: \"ArnLike\",\n values: [`arn:aws:bedrock:${currentGetRegion.name}:${current1.accountId}:agent/*`],\n variable: \"AWS:SourceArn\",\n },\n ],\n }],\n}));\nconst example = new aws.iam.Role(\"example\", {\n assumeRolePolicy: exampleAgentTrust.then(exampleAgentTrust =\u003e exampleAgentTrust.json),\n namePrefix: \"AmazonBedrockExecutionRoleForAgents_\",\n});\nconst exampleAgentPermissions = currentGetRegion.then(currentGetRegion =\u003e aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"bedrock:InvokeModel\"],\n resources: [`arn:aws:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2`],\n }],\n}));\nconst exampleRolePolicy = new aws.iam.RolePolicy(\"example\", {\n policy: exampleAgentPermissions.then(exampleAgentPermissions =\u003e exampleAgentPermissions.json),\n role: example.id,\n});\nconst test = new aws.bedrock.AgentAgent(\"test\", {\n agentName: \"my-agent-name\",\n agentResourceRoleArn: example.arn,\n idleSessionTtlInSeconds: 500,\n foundationModel: \"anthropic.claude-v2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\ncurrent_get_region = aws.get_region()\nexample_agent_trust = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"bedrock.amazonaws.com\"],\n type=\"Service\",\n )],\n conditions=[\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"StringEquals\",\n values=[current.account_id],\n variable=\"aws:SourceAccount\",\n ),\n aws.iam.GetPolicyDocumentStatementConditionArgs(\n test=\"ArnLike\",\n values=[f\"arn:aws:bedrock:{current_get_region.name}:{current.account_id}:agent/*\"],\n variable=\"AWS:SourceArn\",\n ),\n ],\n)])\nexample = aws.iam.Role(\"example\",\n assume_role_policy=example_agent_trust.json,\n name_prefix=\"AmazonBedrockExecutionRoleForAgents_\")\nexample_agent_permissions = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"bedrock:InvokeModel\"],\n resources=[f\"arn:aws:bedrock:{current_get_region.name}::foundation-model/anthropic.claude-v2\"],\n)])\nexample_role_policy = aws.iam.RolePolicy(\"example\",\n policy=example_agent_permissions.json,\n role=example.id)\ntest = aws.bedrock.AgentAgent(\"test\",\n agent_name=\"my-agent-name\",\n agent_resource_role_arn=example.arn,\n idle_session_ttl_in_seconds=500,\n foundation_model=\"anthropic.claude-v2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var currentGetRegion = Aws.GetRegion.Invoke();\n\n var exampleAgentTrust = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"bedrock.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n Conditions = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"StringEquals\",\n Values = new[]\n {\n current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n },\n Variable = \"aws:SourceAccount\",\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs\n {\n Test = \"ArnLike\",\n Values = new[]\n {\n $\"arn:aws:bedrock:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}:{current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId)}:agent/*\",\n },\n Variable = \"AWS:SourceArn\",\n },\n },\n },\n },\n });\n\n var example = new Aws.Iam.Role(\"example\", new()\n {\n AssumeRolePolicy = exampleAgentTrust.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n NamePrefix = \"AmazonBedrockExecutionRoleForAgents_\",\n });\n\n var exampleAgentPermissions = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"bedrock:InvokeModel\",\n },\n Resources = new[]\n {\n $\"arn:aws:bedrock:{currentGetRegion.Apply(getRegionResult =\u003e getRegionResult.Name)}::foundation-model/anthropic.claude-v2\",\n },\n },\n },\n });\n\n var exampleRolePolicy = new Aws.Iam.RolePolicy(\"example\", new()\n {\n Policy = exampleAgentPermissions.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = example.Id,\n });\n\n var test = new Aws.Bedrock.AgentAgent(\"test\", new()\n {\n AgentName = \"my-agent-name\",\n AgentResourceRoleArn = example.Arn,\n IdleSessionTtlInSeconds = 500,\n FoundationModel = \"anthropic.claude-v2\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\nfunc main() {\npulumi.Run(func(ctx *pulumi.Context) error {\ncurrent, err := aws.GetCallerIdentity(ctx, nil, nil);\nif err != nil {\nreturn err\n}\ncurrentGetRegion, err := aws.GetRegion(ctx, nil, nil);\nif err != nil {\nreturn err\n}\nexampleAgentTrust, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"sts:AssumeRole\",\n},\nPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n{\nIdentifiers: []string{\n\"bedrock.amazonaws.com\",\n},\nType: \"Service\",\n},\n},\nConditions: []iam.GetPolicyDocumentStatementCondition{\n{\nTest: \"StringEquals\",\nValues: interface{}{\ncurrent.AccountId,\n},\nVariable: \"aws:SourceAccount\",\n},\n{\nTest: \"ArnLike\",\nValues: []string{\nfmt.Sprintf(\"arn:aws:bedrock:%v:%v:agent/*\", currentGetRegion.Name, current.AccountId),\n},\nVariable: \"AWS:SourceArn\",\n},\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\nexample, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\nAssumeRolePolicy: pulumi.String(exampleAgentTrust.Json),\nNamePrefix: pulumi.String(\"AmazonBedrockExecutionRoleForAgents_\"),\n})\nif err != nil {\nreturn err\n}\nexampleAgentPermissions, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\nStatements: []iam.GetPolicyDocumentStatement{\n{\nActions: []string{\n\"bedrock:InvokeModel\",\n},\nResources: []string{\nfmt.Sprintf(\"arn:aws:bedrock:%v::foundation-model/anthropic.claude-v2\", currentGetRegion.Name),\n},\n},\n},\n}, nil);\nif err != nil {\nreturn err\n}\n_, err = iam.NewRolePolicy(ctx, \"example\", \u0026iam.RolePolicyArgs{\nPolicy: pulumi.String(exampleAgentPermissions.Json),\nRole: example.ID(),\n})\nif err != nil {\nreturn err\n}\n_, err = bedrock.NewAgentAgent(ctx, \"test\", \u0026bedrock.AgentAgentArgs{\nAgentName: pulumi.String(\"my-agent-name\"),\nAgentResourceRoleArn: example.Arn,\nIdleSessionTtlInSeconds: pulumi.Int(500),\nFoundationModel: pulumi.String(\"anthropic.claude-v2\"),\n})\nif err != nil {\nreturn err\n}\nreturn nil\n})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.bedrock.AgentAgent;\nimport com.pulumi.aws.bedrock.AgentAgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var exampleAgentTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"bedrock.amazonaws.com\")\n .type(\"Service\")\n .build())\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .values(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .variable(\"aws:SourceAccount\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnLike\")\n .values(String.format(\"arn:aws:bedrock:%s:%s:agent/*\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .variable(\"AWS:SourceArn\")\n .build())\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(exampleAgentTrust.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .namePrefix(\"AmazonBedrockExecutionRoleForAgents_\")\n .build());\n\n final var exampleAgentPermissions = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"bedrock:InvokeModel\")\n .resources(String.format(\"arn:aws:bedrock:%s::foundation-model/anthropic.claude-v2\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder() \n .policy(exampleAgentPermissions.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .role(example.id())\n .build());\n\n var test = new AgentAgent(\"test\", AgentAgentArgs.builder() \n .agentName(\"my-agent-name\")\n .agentResourceRoleArn(example.arn())\n .idleSessionTtlInSeconds(500)\n .foundationModel(\"anthropic.claude-v2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAgentTrust.json}\n namePrefix: AmazonBedrockExecutionRoleForAgents_\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n policy: ${exampleAgentPermissions.json}\n role: ${example.id}\n test:\n type: aws:bedrock:AgentAgent\n properties:\n agentName: my-agent-name\n agentResourceRoleArn: ${example.arn}\n idleSessionTtlInSeconds: 500\n foundationModel: anthropic.claude-v2\nvariables:\n exampleAgentTrust:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - bedrock.amazonaws.com\n type: Service\n conditions:\n - test: StringEquals\n values:\n - ${current.accountId}\n variable: aws:SourceAccount\n - test: ArnLike\n values:\n - arn:aws:bedrock:${currentGetRegion.name}:${current.accountId}:agent/*\n variable: AWS:SourceArn\n exampleAgentPermissions:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - bedrock:InvokeModel\n resources:\n - arn:aws:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent using the `abcdef1234`. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgent:AgentAgent example abcdef1234\n```\n", + "properties": { + "agentArn": { + "type": "string", + "description": "ARN of the Agent.\n" + }, + "agentId": { + "type": "string", + "description": "ID of the Agent.\n" + }, + "agentName": { + "type": "string", + "description": "Name for the agent.\n" + }, + "agentResourceRoleArn": { + "type": "string", + "description": "ARN of the Role for the agent.\n" + }, + "agentVersion": { + "type": "string", + "description": "Version of the Agent.\n" + }, + "customerEncryptionKeyArn": { + "type": "string", + "description": "ARN of customer manager key to use for encryption.\n" + }, + "description": { + "type": "string", + "description": "Description of the agent.\n" + }, + "foundationModel": { + "type": "string", + "description": "Foundation model for the agent to use.\n\nThe following arguments are optional:\n" + }, + "idleSessionTtlInSeconds": { + "type": "integer", + "description": "TTL in seconds for the agent to idle.\n" + }, + "instruction": { + "type": "string", + "description": "Instructions to tell agent what it should do.\n" + }, + "prepareAgent": { + "type": "boolean" + }, + "promptOverrideConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws:bedrock/AgentAgentPromptOverrideConfiguration:AgentAgentPromptOverrideConfiguration" + }, + "description": "Prompt Override Configuration\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:bedrock/AgentAgentTimeouts:AgentAgentTimeouts" + } + }, + "required": [ + "agentArn", + "agentId", + "agentName", + "agentResourceRoleArn", + "agentVersion", + "foundationModel", + "idleSessionTtlInSeconds", + "instruction", + "prepareAgent", + "promptOverrideConfigurations", + "tagsAll" + ], + "inputProperties": { + "agentName": { + "type": "string", + "description": "Name for the agent.\n" + }, + "agentResourceRoleArn": { + "type": "string", + "description": "ARN of the Role for the agent.\n" + }, + "customerEncryptionKeyArn": { + "type": "string", + "description": "ARN of customer manager key to use for encryption.\n" + }, + "description": { + "type": "string", + "description": "Description of the agent.\n" + }, + "foundationModel": { + "type": "string", + "description": "Foundation model for the agent to use.\n\nThe following arguments are optional:\n" + }, + "idleSessionTtlInSeconds": { + "type": "integer", + "description": "TTL in seconds for the agent to idle.\n" + }, + "instruction": { + "type": "string", + "description": "Instructions to tell agent what it should do.\n" + }, + "prepareAgent": { + "type": "boolean" + }, + "promptOverrideConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws:bedrock/AgentAgentPromptOverrideConfiguration:AgentAgentPromptOverrideConfiguration" + }, + "description": "Prompt Override Configuration\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value tags for the place index. 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:bedrock/AgentAgentTimeouts:AgentAgentTimeouts" + } + }, + "requiredInputs": [ + "agentName", + "agentResourceRoleArn", + "foundationModel" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AgentAgent resources.\n", + "properties": { + "agentArn": { + "type": "string", + "description": "ARN of the Agent.\n" + }, + "agentId": { + "type": "string", + "description": "ID of the Agent.\n" + }, + "agentName": { + "type": "string", + "description": "Name for the agent.\n" + }, + "agentResourceRoleArn": { + "type": "string", + "description": "ARN of the Role for the agent.\n" + }, + "agentVersion": { + "type": "string", + "description": "Version of the Agent.\n" + }, + "customerEncryptionKeyArn": { + "type": "string", + "description": "ARN of customer manager key to use for encryption.\n" + }, + "description": { + "type": "string", + "description": "Description of the agent.\n" + }, + "foundationModel": { + "type": "string", + "description": "Foundation model for the agent to use.\n\nThe following arguments are optional:\n" + }, + "idleSessionTtlInSeconds": { + "type": "integer", + "description": "TTL in seconds for the agent to idle.\n" + }, + "instruction": { + "type": "string", + "description": "Instructions to tell agent what it should do.\n" + }, + "prepareAgent": { + "type": "boolean" + }, + "promptOverrideConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws:bedrock/AgentAgentPromptOverrideConfiguration:AgentAgentPromptOverrideConfiguration" + }, + "description": "Prompt Override Configuration\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:bedrock/AgentAgentTimeouts:AgentAgentTimeouts" + } + }, + "type": "object" + } + }, + "aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup": { + "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent Action Group.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.bedrock.AgentAgentActionGroup(\"example\", {\n actionGroupName: \"example\",\n agentId: \"ABDJFOWER1\",\n agentVersion: \"DRAFT\",\n skipResourceInUseCheck: true,\n actionGroupExecutor: {\n lambda: \"arn:aws:lambda:us-east-1:123456789012:function:example-function\",\n },\n apiSchema: {\n s3: {\n s3BucketName: \"example-bucket\",\n s3ObjectKey: \"path/to/schema.json\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrock.AgentAgentActionGroup(\"example\",\n action_group_name=\"example\",\n agent_id=\"ABDJFOWER1\",\n agent_version=\"DRAFT\",\n skip_resource_in_use_check=True,\n action_group_executor=aws.bedrock.AgentAgentActionGroupActionGroupExecutorArgs(\n lambda_=\"arn:aws:lambda:us-east-1:123456789012:function:example-function\",\n ),\n api_schema=aws.bedrock.AgentAgentActionGroupApiSchemaArgs(\n s3=aws.bedrock.AgentAgentActionGroupApiSchemaS3Args(\n s3_bucket_name=\"example-bucket\",\n s3_object_key=\"path/to/schema.json\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Bedrock.AgentAgentActionGroup(\"example\", new()\n {\n ActionGroupName = \"example\",\n AgentId = \"ABDJFOWER1\",\n AgentVersion = \"DRAFT\",\n SkipResourceInUseCheck = true,\n ActionGroupExecutor = new Aws.Bedrock.Inputs.AgentAgentActionGroupActionGroupExecutorArgs\n {\n Lambda = \"arn:aws:lambda:us-east-1:123456789012:function:example-function\",\n },\n ApiSchema = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaArgs\n {\n S3 = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaS3Args\n {\n S3BucketName = \"example-bucket\",\n S3ObjectKey = \"path/to/schema.json\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := bedrock.NewAgentAgentActionGroup(ctx, \"example\", \u0026bedrock.AgentAgentActionGroupArgs{\n\t\t\tActionGroupName: pulumi.String(\"example\"),\n\t\t\tAgentId: pulumi.String(\"ABDJFOWER1\"),\n\t\t\tAgentVersion: pulumi.String(\"DRAFT\"),\n\t\t\tSkipResourceInUseCheck: pulumi.Bool(true),\n\t\t\tActionGroupExecutor: \u0026bedrock.AgentAgentActionGroupActionGroupExecutorArgs{\n\t\t\t\tLambda: pulumi.String(\"arn:aws:lambda:us-east-1:123456789012:function:example-function\"),\n\t\t\t},\n\t\t\tApiSchema: \u0026bedrock.AgentAgentActionGroupApiSchemaArgs{\n\t\t\t\tS3: \u0026bedrock.AgentAgentActionGroupApiSchemaS3Args{\n\t\t\t\t\tS3BucketName: pulumi.String(\"example-bucket\"),\n\t\t\t\t\tS3ObjectKey: pulumi.String(\"path/to/schema.json\"),\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.bedrock.AgentAgentActionGroup;\nimport com.pulumi.aws.bedrock.AgentAgentActionGroupArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupActionGroupExecutorArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaS3Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 AgentAgentActionGroup(\"example\", AgentAgentActionGroupArgs.builder() \n .actionGroupName(\"example\")\n .agentId(\"ABDJFOWER1\")\n .agentVersion(\"DRAFT\")\n .skipResourceInUseCheck(true)\n .actionGroupExecutor(AgentAgentActionGroupActionGroupExecutorArgs.builder()\n .lambda(\"arn:aws:lambda:us-east-1:123456789012:function:example-function\")\n .build())\n .apiSchema(AgentAgentActionGroupApiSchemaArgs.builder()\n .s3(AgentAgentActionGroupApiSchemaS3Args.builder()\n .s3BucketName(\"example-bucket\")\n .s3ObjectKey(\"path/to/schema.json\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:bedrock:AgentAgentActionGroup\n properties:\n actionGroupName: example\n agentId: ABDJFOWER1\n agentVersion: DRAFT\n skipResourceInUseCheck: true\n actionGroupExecutor:\n lambda: arn:aws:lambda:us-east-1:123456789012:function:example-function\n apiSchema:\n s3:\n s3BucketName: example-bucket\n s3ObjectKey: path/to/schema.json\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent Action Group using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup example ABDJFOWER1,HSKTNKANI4,DRAFT\n```\n", + "properties": { + "actionGroupExecutor": { + "$ref": "#/types/aws:bedrock/AgentAgentActionGroupActionGroupExecutor:AgentAgentActionGroupActionGroupExecutor", + "description": "Configuration of the executor for the Action Group.\n" + }, + "actionGroupId": { + "type": "string" + }, + "actionGroupName": { + "type": "string", + "description": "Name of the Agent Action Group.\n" + }, + "actionGroupState": { + "type": "string" + }, + "agentId": { + "type": "string", + "description": "Id of the Agent for the Action Group.\n" + }, + "agentVersion": { + "type": "string", + "description": "Version of the Agent to attach the Action Group to.\n" + }, + "apiSchema": { + "$ref": "#/types/aws:bedrock/AgentAgentActionGroupApiSchema:AgentAgentActionGroupApiSchema", + "description": "Configuration of the API Schema for the Action Group.\n" + }, + "description": { + "type": "string" + }, + "parentActionGroupSignature": { + "type": "string" + }, + "skipResourceInUseCheck": { + "type": "boolean" + } + }, + "required": [ + "actionGroupId", + "actionGroupName", + "actionGroupState", + "agentId", + "agentVersion", + "skipResourceInUseCheck" + ], + "inputProperties": { + "actionGroupExecutor": { + "$ref": "#/types/aws:bedrock/AgentAgentActionGroupActionGroupExecutor:AgentAgentActionGroupActionGroupExecutor", + "description": "Configuration of the executor for the Action Group.\n" + }, + "actionGroupName": { + "type": "string", + "description": "Name of the Agent Action Group.\n" + }, + "actionGroupState": { + "type": "string" + }, + "agentId": { + "type": "string", + "description": "Id of the Agent for the Action Group.\n" + }, + "agentVersion": { + "type": "string", + "description": "Version of the Agent to attach the Action Group to.\n" + }, + "apiSchema": { + "$ref": "#/types/aws:bedrock/AgentAgentActionGroupApiSchema:AgentAgentActionGroupApiSchema", + "description": "Configuration of the API Schema for the Action Group.\n" + }, + "description": { + "type": "string" + }, + "parentActionGroupSignature": { + "type": "string" + }, + "skipResourceInUseCheck": { + "type": "boolean" + } + }, + "requiredInputs": [ + "actionGroupName", + "agentId", + "agentVersion" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AgentAgentActionGroup resources.\n", + "properties": { + "actionGroupExecutor": { + "$ref": "#/types/aws:bedrock/AgentAgentActionGroupActionGroupExecutor:AgentAgentActionGroupActionGroupExecutor", + "description": "Configuration of the executor for the Action Group.\n" + }, + "actionGroupId": { + "type": "string" + }, + "actionGroupName": { + "type": "string", + "description": "Name of the Agent Action Group.\n" + }, + "actionGroupState": { + "type": "string" + }, + "agentId": { + "type": "string", + "description": "Id of the Agent for the Action Group.\n" + }, + "agentVersion": { + "type": "string", + "description": "Version of the Agent to attach the Action Group to.\n" + }, + "apiSchema": { + "$ref": "#/types/aws:bedrock/AgentAgentActionGroupApiSchema:AgentAgentActionGroupApiSchema", + "description": "Configuration of the API Schema for the Action Group.\n" + }, + "description": { + "type": "string" + }, + "parentActionGroupSignature": { + "type": "string" + }, + "skipResourceInUseCheck": { + "type": "boolean" + } + }, + "type": "object" + } + }, + "aws:bedrock/agentAgentAlias:AgentAgentAlias": { + "description": "Resource for managing an AWS Agents for Amazon Bedrock Agent Alias.\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.AwsFunctions;\nimport com.pulumi.aws.inputs.GetCallerIdentityArgs;\nimport com.pulumi.aws.inputs.GetRegionArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.bedrock.AgentAgent;\nimport com.pulumi.aws.bedrock.AgentAgentArgs;\nimport com.pulumi.aws.bedrock.AgentAgentAlias;\nimport com.pulumi.aws.bedrock.AgentAgentAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var currentGetRegion = AwsFunctions.getRegion();\n\n final var exampleAgentTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"bedrock.amazonaws.com\")\n .type(\"Service\")\n .build())\n .conditions( \n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"StringEquals\")\n .values(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .variable(\"aws:SourceAccount\")\n .build(),\n GetPolicyDocumentStatementConditionArgs.builder()\n .test(\"ArnLike\")\n .values(String.format(\"arn:aws:bedrock:%s:%s:agent/*\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name()),current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId())))\n .variable(\"AWS:SourceArn\")\n .build())\n .build())\n .build());\n\n var example = new Role(\"example\", RoleArgs.builder() \n .assumeRolePolicy(exampleAgentTrust.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .namePrefix(\"AmazonBedrockExecutionRoleForAgents_\")\n .build());\n\n final var exampleAgentPermissions = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"bedrock:InvokeModel\")\n .resources(String.format(\"arn:aws:bedrock:%s::foundation-model/anthropic.claude-v2\", currentGetRegion.applyValue(getRegionResult -\u003e getRegionResult.name())))\n .build())\n .build());\n\n var exampleRolePolicy = new RolePolicy(\"exampleRolePolicy\", RolePolicyArgs.builder() \n .policy(exampleAgentPermissions.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .role(example.id())\n .build());\n\n var test = new AgentAgent(\"test\", AgentAgentArgs.builder() \n .agentName(\"my-agent-name\")\n .agentResourceRoleArn(example.arn())\n .idleTtl(500)\n .foundationModel(\"anthropic.claude-v2\")\n .build());\n\n var exampleAgentAgentAlias = new AgentAgentAlias(\"exampleAgentAgentAlias\", AgentAgentAliasArgs.builder() \n .agentAliasName(\"my-agent-alias\")\n .agentId(test.agentId())\n .description(\"Test ALias\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:iam:Role\n properties:\n assumeRolePolicy: ${exampleAgentTrust.json}\n namePrefix: AmazonBedrockExecutionRoleForAgents_\n exampleRolePolicy:\n type: aws:iam:RolePolicy\n name: example\n properties:\n policy: ${exampleAgentPermissions.json}\n role: ${example.id}\n test:\n type: aws:bedrock:AgentAgent\n properties:\n agentName: my-agent-name\n agentResourceRoleArn: ${example.arn}\n idleTtl: 500\n foundationModel: anthropic.claude-v2\n exampleAgentAgentAlias:\n type: aws:bedrock:AgentAgentAlias\n name: example\n properties:\n agentAliasName: my-agent-alias\n agentId: ${test.agentId}\n description: Test ALias\nvariables:\n exampleAgentTrust:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - identifiers:\n - bedrock.amazonaws.com\n type: Service\n conditions:\n - test: StringEquals\n values:\n - ${current.accountId}\n variable: aws:SourceAccount\n - test: ArnLike\n values:\n - arn:aws:bedrock:${currentGetRegion.name}:${current.accountId}:agent/*\n variable: AWS:SourceArn\n exampleAgentPermissions:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - bedrock:InvokeModel\n resources:\n - arn:aws:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n currentGetRegion:\n fn::invoke:\n Function: aws:getRegion\n Arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Agent Alias using the `AGENT_ID,ALIAS_ID`. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentAgentAlias:AgentAgentAlias example AGENT_ID,ALIAS_ID\n```\n", + "properties": { + "agentAliasArn": { + "type": "string", + "description": "ARN of the Agent Alias.\n" + }, + "agentAliasId": { + "type": "string" + }, + "agentAliasName": { + "type": "string", + "description": "Name of the alias.\n" + }, + "agentId": { + "type": "string", + "description": "Identifier of the agent to create an alias for.\n" + }, + "description": { + "type": "string", + "description": "Description of the alias of the agent.\n" + }, + "routingConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws:bedrock/AgentAgentAliasRoutingConfiguration:AgentAgentAliasRoutingConfiguration" + }, + "description": "Routing configuration of the alias\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\nThe following arguments are optional:\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:bedrock/AgentAgentAliasTimeouts:AgentAgentAliasTimeouts" + } + }, + "required": [ + "agentAliasArn", + "agentAliasId", + "agentAliasName", + "agentId", + "routingConfigurations", + "tagsAll" + ], + "inputProperties": { + "agentAliasName": { + "type": "string", + "description": "Name of the alias.\n" + }, + "agentId": { + "type": "string", + "description": "Identifier of the agent to create an alias for.\n" + }, + "description": { + "type": "string", + "description": "Description of the alias of the agent.\n" + }, + "routingConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws:bedrock/AgentAgentAliasRoutingConfiguration:AgentAgentAliasRoutingConfiguration" + }, + "description": "Routing configuration of the alias\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\nThe following arguments are optional:\n" + }, + "timeouts": { + "$ref": "#/types/aws:bedrock/AgentAgentAliasTimeouts:AgentAgentAliasTimeouts" + } + }, + "requiredInputs": [ + "agentAliasName", + "agentId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AgentAgentAlias resources.\n", + "properties": { + "agentAliasArn": { + "type": "string", + "description": "ARN of the Agent Alias.\n" + }, + "agentAliasId": { + "type": "string" + }, + "agentAliasName": { + "type": "string", + "description": "Name of the alias.\n" + }, + "agentId": { + "type": "string", + "description": "Identifier of the agent to create an alias for.\n" + }, + "description": { + "type": "string", + "description": "Description of the alias of the agent.\n" + }, + "routingConfigurations": { + "type": "array", + "items": { + "$ref": "#/types/aws:bedrock/AgentAgentAliasRoutingConfiguration:AgentAgentAliasRoutingConfiguration" + }, + "description": "Routing configuration of the alias\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n\nThe following arguments are optional:\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:bedrock/AgentAgentAliasTimeouts:AgentAgentAliasTimeouts" + } + }, + "type": "object" + } + }, + "aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase": { + "description": "Resource for managing an AWS Agents for Amazon Bedrock Knowledge Base.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.bedrock.AgentKnowledgeBase(\"test\", {\n name: \"example\",\n roleArn: example.arn,\n knowledgeBaseConfiguration: {\n vectorKnowledgeBaseConfiguration: {\n embeddingModelArn: \"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\",\n },\n type: \"VECTOR\",\n },\n storageConfiguration: {\n type: \"OPENSEARCH_SERVERLESS\",\n opensearchServerlessConfiguration: {\n collectionArn: \"arn:aws:aoss:us-west-2:1234567890:collection/142bezjddq707i5stcrf\",\n vectorIndexName: \"bedrock-knowledge-base-default-index\",\n fieldMapping: {\n vectorField: \"bedrock-knowledge-base-default-vector\",\n textField: \"AMAZON_BEDROCK_TEXT_CHUNK\",\n metadataField: \"AMAZON_BEDROCK_METADATA\",\n },\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bedrock.AgentKnowledgeBase(\"test\",\n name=\"example\",\n role_arn=example[\"arn\"],\n knowledge_base_configuration=aws.bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs(\n vector_knowledge_base_configuration=aws.bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs(\n embedding_model_arn=\"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\",\n ),\n type=\"VECTOR\",\n ),\n storage_configuration=aws.bedrock.AgentKnowledgeBaseStorageConfigurationArgs(\n type=\"OPENSEARCH_SERVERLESS\",\n opensearch_serverless_configuration=aws.bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs(\n collection_arn=\"arn:aws:aoss:us-west-2:1234567890:collection/142bezjddq707i5stcrf\",\n vector_index_name=\"bedrock-knowledge-base-default-index\",\n field_mapping=aws.bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs(\n vector_field=\"bedrock-knowledge-base-default-vector\",\n text_field=\"AMAZON_BEDROCK_TEXT_CHUNK\",\n metadata_field=\"AMAZON_BEDROCK_METADATA\",\n ),\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Bedrock.AgentKnowledgeBase(\"test\", new()\n {\n Name = \"example\",\n RoleArn = example.Arn,\n KnowledgeBaseConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs\n {\n VectorKnowledgeBaseConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs\n {\n EmbeddingModelArn = \"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\",\n },\n Type = \"VECTOR\",\n },\n StorageConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseStorageConfigurationArgs\n {\n Type = \"OPENSEARCH_SERVERLESS\",\n OpensearchServerlessConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs\n {\n CollectionArn = \"arn:aws:aoss:us-west-2:1234567890:collection/142bezjddq707i5stcrf\",\n VectorIndexName = \"bedrock-knowledge-base-default-index\",\n FieldMapping = new Aws.Bedrock.Inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs\n {\n VectorField = \"bedrock-knowledge-base-default-vector\",\n TextField = \"AMAZON_BEDROCK_TEXT_CHUNK\",\n MetadataField = \"AMAZON_BEDROCK_METADATA\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := bedrock.NewAgentKnowledgeBase(ctx, \"test\", \u0026bedrock.AgentKnowledgeBaseArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(example.Arn),\n\t\t\tKnowledgeBaseConfiguration: \u0026bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs{\n\t\t\t\tVectorKnowledgeBaseConfiguration: \u0026bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs{\n\t\t\t\t\tEmbeddingModelArn: pulumi.String(\"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\"),\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"VECTOR\"),\n\t\t\t},\n\t\t\tStorageConfiguration: \u0026bedrock.AgentKnowledgeBaseStorageConfigurationArgs{\n\t\t\t\tType: pulumi.String(\"OPENSEARCH_SERVERLESS\"),\n\t\t\t\tOpensearchServerlessConfiguration: \u0026bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs{\n\t\t\t\t\tCollectionArn: pulumi.String(\"arn:aws:aoss:us-west-2:1234567890:collection/142bezjddq707i5stcrf\"),\n\t\t\t\t\tVectorIndexName: pulumi.String(\"bedrock-knowledge-base-default-index\"),\n\t\t\t\t\tFieldMapping: \u0026bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs{\n\t\t\t\t\t\tVectorField: pulumi.String(\"bedrock-knowledge-base-default-vector\"),\n\t\t\t\t\t\tTextField: pulumi.String(\"AMAZON_BEDROCK_TEXT_CHUNK\"),\n\t\t\t\t\t\tMetadataField: pulumi.String(\"AMAZON_BEDROCK_METADATA\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrock.AgentKnowledgeBase;\nimport com.pulumi.aws.bedrock.AgentKnowledgeBaseArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs;\nimport com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AgentKnowledgeBase(\"test\", AgentKnowledgeBaseArgs.builder() \n .name(\"example\")\n .roleArn(example.arn())\n .knowledgeBaseConfiguration(AgentKnowledgeBaseKnowledgeBaseConfigurationArgs.builder()\n .vectorKnowledgeBaseConfiguration(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs.builder()\n .embeddingModelArn(\"arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\")\n .build())\n .type(\"VECTOR\")\n .build())\n .storageConfiguration(AgentKnowledgeBaseStorageConfigurationArgs.builder()\n .type(\"OPENSEARCH_SERVERLESS\")\n .opensearchServerlessConfiguration(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs.builder()\n .collectionArn(\"arn:aws:aoss:us-west-2:1234567890:collection/142bezjddq707i5stcrf\")\n .vectorIndexName(\"bedrock-knowledge-base-default-index\")\n .fieldMapping(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs.builder()\n .vectorField(\"bedrock-knowledge-base-default-vector\")\n .textField(\"AMAZON_BEDROCK_TEXT_CHUNK\")\n .metadataField(\"AMAZON_BEDROCK_METADATA\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:bedrock:AgentKnowledgeBase\n properties:\n name: example\n roleArn: ${example.arn}\n knowledgeBaseConfiguration:\n vectorKnowledgeBaseConfiguration:\n embeddingModelArn: arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1\n type: VECTOR\n storageConfiguration:\n type: OPENSEARCH_SERVERLESS\n opensearchServerlessConfiguration:\n collectionArn: arn:aws:aoss:us-west-2:1234567890:collection/142bezjddq707i5stcrf\n vectorIndexName: bedrock-knowledge-base-default-index\n fieldMapping:\n vectorField: bedrock-knowledge-base-default-vector\n textField: AMAZON_BEDROCK_TEXT_CHUNK\n metadataField: AMAZON_BEDROCK_METADATA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Agents for Amazon Bedrock Knowledge Base using the `Q1IYMH6GQG`. For example:\n\n```sh\n$ pulumi import aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase example Q1IYMH6GQG\n```\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Knowledge Base. Do not begin the description with \"An\", \"The\", \"Defines\", \"Indicates\", or \"Specifies,\" as these are verbose. In other words, \"Indicates the amount of storage,\" can be rewritten as \"Amount of storage,\" without losing any information.\n" + }, + "createdAt": { + "type": "string" + }, + "description": { + "type": "string", + "description": "A description of the knowledge base.\n" + }, + "failureReasons": { + "type": "array", + "items": { + "type": "string" + } + }, + "knowledgeBaseConfiguration": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseKnowledgeBaseConfiguration:AgentKnowledgeBaseKnowledgeBaseConfiguration", + "description": "Contains details about the embeddings model used for the knowledge base.\n" + }, + "name": { + "type": "string", + "description": "A name for the knowledge base.\n" + }, + "roleArn": { + "type": "string", + "description": "The ARN of the IAM role with permissions to create the knowledge base.\n" + }, + "storageConfiguration": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseStorageConfiguration:AgentKnowledgeBaseStorageConfiguration", + "description": "Contains details about the configuration of the vector database used for the knowledge base.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseTimeouts:AgentKnowledgeBaseTimeouts" + }, + "updatedAt": { + "type": "string" + } + }, + "required": [ + "arn", + "createdAt", + "failureReasons", + "name", + "roleArn", + "tagsAll", + "updatedAt" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A description of the knowledge base.\n" + }, + "knowledgeBaseConfiguration": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseKnowledgeBaseConfiguration:AgentKnowledgeBaseKnowledgeBaseConfiguration", + "description": "Contains details about the embeddings model used for the knowledge base.\n" + }, + "name": { + "type": "string", + "description": "A name for the knowledge base.\n" + }, + "roleArn": { + "type": "string", + "description": "The ARN of the IAM role with permissions to create the knowledge base.\n" + }, + "storageConfiguration": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseStorageConfiguration:AgentKnowledgeBaseStorageConfiguration", + "description": "Contains details about the configuration of the vector database used for the knowledge base.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "timeouts": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseTimeouts:AgentKnowledgeBaseTimeouts" + } + }, + "requiredInputs": [ + "roleArn" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AgentKnowledgeBase resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Knowledge Base. Do not begin the description with \"An\", \"The\", \"Defines\", \"Indicates\", or \"Specifies,\" as these are verbose. In other words, \"Indicates the amount of storage,\" can be rewritten as \"Amount of storage,\" without losing any information.\n" + }, + "createdAt": { + "type": "string" + }, + "description": { + "type": "string", + "description": "A description of the knowledge base.\n" + }, + "failureReasons": { + "type": "array", + "items": { + "type": "string" + } + }, + "knowledgeBaseConfiguration": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseKnowledgeBaseConfiguration:AgentKnowledgeBaseKnowledgeBaseConfiguration", + "description": "Contains details about the embeddings model used for the knowledge base.\n" + }, + "name": { + "type": "string", + "description": "A name for the knowledge base.\n" + }, + "roleArn": { + "type": "string", + "description": "The ARN of the IAM role with permissions to create the knowledge base.\n" + }, + "storageConfiguration": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseStorageConfiguration:AgentKnowledgeBaseStorageConfiguration", + "description": "Contains details about the configuration of the vector database used for the knowledge base.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "deprecationMessage": "Please use `tags` instead." + }, + "timeouts": { + "$ref": "#/types/aws:bedrock/AgentKnowledgeBaseTimeouts:AgentKnowledgeBaseTimeouts" + }, + "updatedAt": { + "type": "string" + } + }, + "type": "object" + } + }, "aws:bedrock/customModel:CustomModel": { "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.bedrockfoundation.getModel({\n modelId: \"amazon.titan-text-express-v1\",\n});\nconst exampleCustomModel = new aws.bedrock.CustomModel(\"example\", {\n customModelName: \"example-model\",\n jobName: \"example-job-1\",\n baseModelIdentifier: example.then(example =\u003e example.modelArn),\n roleArn: exampleAwsIamRole.arn,\n hyperparameters: {\n epochCount: \"1\",\n batchSize: \"1\",\n learningRate: \"0.005\",\n learningRateWarmupSteps: \"0\",\n },\n outputDataConfig: {\n s3Uri: `s3://${output.id}/data/`,\n },\n trainingDataConfig: {\n s3Uri: `s3://${training.id}/data/train.jsonl`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.bedrockfoundation.get_model(model_id=\"amazon.titan-text-express-v1\")\nexample_custom_model = aws.bedrock.CustomModel(\"example\",\n custom_model_name=\"example-model\",\n job_name=\"example-job-1\",\n base_model_identifier=example.model_arn,\n role_arn=example_aws_iam_role[\"arn\"],\n hyperparameters={\n \"epochCount\": \"1\",\n \"batchSize\": \"1\",\n \"learningRate\": \"0.005\",\n \"learningRateWarmupSteps\": \"0\",\n },\n output_data_config=aws.bedrock.CustomModelOutputDataConfigArgs(\n s3_uri=f\"s3://{output['id']}/data/\",\n ),\n training_data_config=aws.bedrock.CustomModelTrainingDataConfigArgs(\n s3_uri=f\"s3://{training['id']}/data/train.jsonl\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.BedrockFoundation.GetModel.Invoke(new()\n {\n ModelId = \"amazon.titan-text-express-v1\",\n });\n\n var exampleCustomModel = new Aws.Bedrock.CustomModel(\"example\", new()\n {\n CustomModelName = \"example-model\",\n JobName = \"example-job-1\",\n BaseModelIdentifier = example.Apply(getModelResult =\u003e getModelResult.ModelArn),\n RoleArn = exampleAwsIamRole.Arn,\n Hyperparameters = \n {\n { \"epochCount\", \"1\" },\n { \"batchSize\", \"1\" },\n { \"learningRate\", \"0.005\" },\n { \"learningRateWarmupSteps\", \"0\" },\n },\n OutputDataConfig = new Aws.Bedrock.Inputs.CustomModelOutputDataConfigArgs\n {\n S3Uri = $\"s3://{output.Id}/data/\",\n },\n TrainingDataConfig = new Aws.Bedrock.Inputs.CustomModelTrainingDataConfigArgs\n {\n S3Uri = $\"s3://{training.Id}/data/train.jsonl\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrockfoundation\"\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 := bedrockfoundation.GetModel(ctx, \u0026bedrockfoundation.GetModelArgs{\n\t\t\tModelId: \"amazon.titan-text-express-v1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = bedrock.NewCustomModel(ctx, \"example\", \u0026bedrock.CustomModelArgs{\n\t\t\tCustomModelName: pulumi.String(\"example-model\"),\n\t\t\tJobName: pulumi.String(\"example-job-1\"),\n\t\t\tBaseModelIdentifier: pulumi.String(example.ModelArn),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\tHyperparameters: pulumi.StringMap{\n\t\t\t\t\"epochCount\": pulumi.String(\"1\"),\n\t\t\t\t\"batchSize\": pulumi.String(\"1\"),\n\t\t\t\t\"learningRate\": pulumi.String(\"0.005\"),\n\t\t\t\t\"learningRateWarmupSteps\": pulumi.String(\"0\"),\n\t\t\t},\n\t\t\tOutputDataConfig: \u0026bedrock.CustomModelOutputDataConfigArgs{\n\t\t\t\tS3Uri: pulumi.String(fmt.Sprintf(\"s3://%v/data/\", output.Id)),\n\t\t\t},\n\t\t\tTrainingDataConfig: \u0026bedrock.CustomModelTrainingDataConfigArgs{\n\t\t\t\tS3Uri: pulumi.String(fmt.Sprintf(\"s3://%v/data/train.jsonl\", training.Id)),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bedrockfoundation.BedrockfoundationFunctions;\nimport com.pulumi.aws.bedrockfoundation.inputs.GetModelArgs;\nimport com.pulumi.aws.bedrock.CustomModel;\nimport com.pulumi.aws.bedrock.CustomModelArgs;\nimport com.pulumi.aws.bedrock.inputs.CustomModelOutputDataConfigArgs;\nimport com.pulumi.aws.bedrock.inputs.CustomModelTrainingDataConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 = BedrockfoundationFunctions.getModel(GetModelArgs.builder()\n .modelId(\"amazon.titan-text-express-v1\")\n .build());\n\n var exampleCustomModel = new CustomModel(\"exampleCustomModel\", CustomModelArgs.builder() \n .customModelName(\"example-model\")\n .jobName(\"example-job-1\")\n .baseModelIdentifier(example.applyValue(getModelResult -\u003e getModelResult.modelArn()))\n .roleArn(exampleAwsIamRole.arn())\n .hyperparameters(Map.ofEntries(\n Map.entry(\"epochCount\", \"1\"),\n Map.entry(\"batchSize\", \"1\"),\n Map.entry(\"learningRate\", \"0.005\"),\n Map.entry(\"learningRateWarmupSteps\", \"0\")\n ))\n .outputDataConfig(CustomModelOutputDataConfigArgs.builder()\n .s3Uri(String.format(\"s3://%s/data/\", output.id()))\n .build())\n .trainingDataConfig(CustomModelTrainingDataConfigArgs.builder()\n .s3Uri(String.format(\"s3://%s/data/train.jsonl\", training.id()))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCustomModel:\n type: aws:bedrock:CustomModel\n name: example\n properties:\n customModelName: example-model\n jobName: example-job-1\n baseModelIdentifier: ${example.modelArn}\n roleArn: ${exampleAwsIamRole.arn}\n hyperparameters:\n epochCount: '1'\n batchSize: '1'\n learningRate: '0.005'\n learningRateWarmupSteps: '0'\n outputDataConfig:\n s3Uri: s3://${output.id}/data/\n trainingDataConfig:\n s3Uri: s3://${training.id}/data/train.jsonl\nvariables:\n example:\n fn::invoke:\n Function: aws:bedrockfoundation:getModel\n Arguments:\n modelId: amazon.titan-text-express-v1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Bedrock custom model using the `job_arn`. For example:\n\n```sh\n$ pulumi import aws:bedrock/customModel:CustomModel example arn:aws:bedrock:us-west-2:123456789012:model-customization-job/amazon.titan-text-express-v1:0:8k/1y5n57gh5y2e\n```\n", "properties": { @@ -179723,7 +183564,7 @@ } }, "aws:cloudformation/stackSet:StackSet": { - "description": "Manages a CloudFormation StackSet. StackSets allow CloudFormation templates to be easily deployed across multiple accounts and regions via StackSet Instances (`aws.cloudformation.StackSetInstance` resource). Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).\n\n\u003e **NOTE:** All template parameters, including those with a `Default`, must be configured or ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n\u003e **NOTE:** All `NoEcho` template parameters must be ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [\"cloudformation.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRole = new aws.iam.Role(\"AWSCloudFormationStackSetAdministrationRole\", {\n assumeRolePolicy: aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.then(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json),\n name: \"AWSCloudFormationStackSetAdministrationRole\",\n});\nconst example = new aws.cloudformation.StackSet(\"example\", {\n administrationRoleArn: aWSCloudFormationStackSetAdministrationRole.arn,\n name: \"example\",\n parameters: {\n VPCCidr: \"10.0.0.0/16\",\n },\n templateBody: JSON.stringify({\n Parameters: {\n VPCCidr: {\n Type: \"String\",\n Default: \"10.0.0.0/16\",\n Description: \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n Resources: {\n myVpc: {\n Type: \"AWS::EC2::VPC\",\n Properties: {\n CidrBlock: {\n Ref: \"VPCCidr\",\n },\n Tags: [{\n Key: \"Name\",\n Value: \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }),\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n resources: [pulumi.interpolate`arn:aws:iam::*:role/${example.executionRoleName}`],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", {\n name: \"ExecutionPolicy\",\n policy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.apply(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy =\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.json),\n role: aWSCloudFormationStackSetAdministrationRole.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_administration_role_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"cloudformation.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\na_ws_cloud_formation_stack_set_administration_role = aws.iam.Role(\"AWSCloudFormationStackSetAdministrationRole\",\n assume_role_policy=a_ws_cloud_formation_stack_set_administration_role_assume_role_policy.json,\n name=\"AWSCloudFormationStackSetAdministrationRole\")\nexample = aws.cloudformation.StackSet(\"example\",\n administration_role_arn=a_ws_cloud_formation_stack_set_administration_role.arn,\n name=\"example\",\n parameters={\n \"VPCCidr\": \"10.0.0.0/16\",\n },\n template_body=json.dumps({\n \"Parameters\": {\n \"VPCCidr\": {\n \"Type\": \"String\",\n \"Default\": \"10.0.0.0/16\",\n \"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n \"Resources\": {\n \"myVpc\": {\n \"Type\": \"AWS::EC2::VPC\",\n \"Properties\": {\n \"CidrBlock\": {\n \"Ref\": \"VPCCidr\",\n },\n \"Tags\": [{\n \"Key\": \"Name\",\n \"Value\": \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }))\na_ws_cloud_formation_stack_set_administration_role_execution_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n resources=[example.execution_role_name.apply(lambda execution_role_name: f\"arn:aws:iam::*:role/{execution_role_name}\")],\n)])\na_ws_cloud_formation_stack_set_administration_role_execution_policy_role_policy = aws.iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\",\n name=\"ExecutionPolicy\",\n policy=a_ws_cloud_formation_stack_set_administration_role_execution_policy.json,\n role=a_ws_cloud_formation_stack_set_administration_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"cloudformation.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRole = new Aws.Iam.Role(\"AWSCloudFormationStackSetAdministrationRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"AWSCloudFormationStackSetAdministrationRole\",\n });\n\n var example = new Aws.CloudFormation.StackSet(\"example\", new()\n {\n AdministrationRoleArn = aWSCloudFormationStackSetAdministrationRole.Arn,\n Name = \"example\",\n Parameters = \n {\n { \"VPCCidr\", \"10.0.0.0/16\" },\n },\n TemplateBody = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"VPCCidr\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n [\"Default\"] = \"10.0.0.0/16\",\n [\"Description\"] = \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"myVpc\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"AWS::EC2::VPC\",\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CidrBlock\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"VPCCidr\",\n },\n [\"Tags\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"Name\",\n [\"Value\"] = \"Primary_CF_VPC\",\n },\n },\n },\n },\n },\n }),\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n $\"arn:aws:iam::*:role/{example.ExecutionRoleName}\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", new()\n {\n Name = \"ExecutionPolicy\",\n Policy = aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetAdministrationRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cloudformation.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRole, err := iam.NewRole(ctx, \"AWSCloudFormationStackSetAdministrationRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Json),\n\t\t\tName: pulumi.String(\"AWSCloudFormationStackSetAdministrationRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\"VPCCidr\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\"Default\": \"10.0.0.0/16\",\n\t\t\t\t\t\"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\"myVpc\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"AWS::EC2::VPC\",\n\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\"CidrBlock\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Ref\": \"VPCCidr\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Tags\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"Key\": \"Name\",\n\t\t\t\t\t\t\t\t\"Value\": \"Primary_CF_VPC\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texample, err := cloudformation.NewStackSet(ctx, \"example\", \u0026cloudformation.StackSetArgs{\n\t\t\tAdministrationRoleArn: aWSCloudFormationStackSetAdministrationRole.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"VPCCidr\": pulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRoleExecutionPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sts:AssumeRole\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.ExecutionRoleName.ApplyT(func(executionRoleName string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:iam::*:role/%v\", executionRoleName), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"ExecutionPolicy\"),\n\t\t\tPolicy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.ApplyT(func(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tRole: aWSCloudFormationStackSetAdministrationRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cloudformation.StackSet;\nimport com.pulumi.aws.cloudformation.StackSetArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"cloudformation.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRole = new Role(\"aWSCloudFormationStackSetAdministrationRole\", RoleArgs.builder() \n .assumeRolePolicy(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"AWSCloudFormationStackSetAdministrationRole\")\n .build());\n\n var example = new StackSet(\"example\", StackSetArgs.builder() \n .administrationRoleArn(aWSCloudFormationStackSetAdministrationRole.arn())\n .name(\"example\")\n .parameters(Map.of(\"VPCCidr\", \"10.0.0.0/16\"))\n .templateBody(serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"VPCCidr\", jsonObject(\n jsonProperty(\"Type\", \"String\"),\n jsonProperty(\"Default\", \"10.0.0.0/16\"),\n jsonProperty(\"Description\", \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"myVpc\", jsonObject(\n jsonProperty(\"Type\", \"AWS::EC2::VPC\"),\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CidrBlock\", jsonObject(\n jsonProperty(\"Ref\", \"VPCCidr\")\n )),\n jsonProperty(\"Tags\", jsonArray(jsonObject(\n jsonProperty(\"Key\", \"Name\"),\n jsonProperty(\"Value\", \"Primary_CF_VPC\")\n )))\n ))\n ))\n ))\n )))\n .build());\n\n final var aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .resources(example.executionRoleName().applyValue(executionRoleName -\u003e String.format(\"arn:aws:iam::*:role/%s\", executionRoleName)))\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\", RolePolicyArgs.builder() \n .name(\"ExecutionPolicy\")\n .policy(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy -\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .role(aWSCloudFormationStackSetAdministrationRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetAdministrationRole:\n type: aws:iam:Role\n name: AWSCloudFormationStackSetAdministrationRole\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json}\n name: AWSCloudFormationStackSetAdministrationRole\n example:\n type: aws:cloudformation:StackSet\n properties:\n administrationRoleArn: ${aWSCloudFormationStackSetAdministrationRole.arn}\n name: example\n parameters:\n VPCCidr: 10.0.0.0/16\n templateBody:\n fn::toJSON:\n Parameters:\n VPCCidr:\n Type: String\n Default: 10.0.0.0/16\n Description: Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\n Resources:\n myVpc:\n Type: AWS::EC2::VPC\n Properties:\n CidrBlock:\n Ref: VPCCidr\n Tags:\n - Key: Name\n Value: Primary_CF_VPC\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\n properties:\n name: ExecutionPolicy\n policy: ${aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.json}\n role: ${aWSCloudFormationStackSetAdministrationRole.name}\nvariables:\n aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - cloudformation.amazonaws.com\n type: Service\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n resources:\n - arn:aws:iam::*:role/${example.executionRoleName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\nUsing `pulumi import`, import CloudFormation StackSets using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSet:StackSet example example\n```\nUsing `pulumi import`, import CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSet:StackSet example example,DELEGATED_ADMIN\n```\n", + "description": "Manages a CloudFormation StackSet. StackSets allow CloudFormation templates to be easily deployed across multiple accounts and regions via StackSet Instances (`aws.cloudformation.StackSetInstance` resource). Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).\n\n\u003e **NOTE:** All template parameters, including those with a `Default`, must be configured or ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n\u003e **NOTE:** All `NoEcho` template parameters must be ignored with the `lifecycle` configuration block `ignore_changes` argument.\n\n\u003e **NOTE:** When using a delegated administrator account, ensure that your IAM User or Role has the `organizations:ListDelegatedAdministrators` permission. Otherwise, you may get an error like `ValidationError: Account used is not a delegated administrator`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n principals: [{\n identifiers: [\"cloudformation.amazonaws.com\"],\n type: \"Service\",\n }],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRole = new aws.iam.Role(\"AWSCloudFormationStackSetAdministrationRole\", {\n assumeRolePolicy: aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.then(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy =\u003e aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json),\n name: \"AWSCloudFormationStackSetAdministrationRole\",\n});\nconst example = new aws.cloudformation.StackSet(\"example\", {\n administrationRoleArn: aWSCloudFormationStackSetAdministrationRole.arn,\n name: \"example\",\n parameters: {\n VPCCidr: \"10.0.0.0/16\",\n },\n templateBody: JSON.stringify({\n Parameters: {\n VPCCidr: {\n Type: \"String\",\n Default: \"10.0.0.0/16\",\n Description: \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n Resources: {\n myVpc: {\n Type: \"AWS::EC2::VPC\",\n Properties: {\n CidrBlock: {\n Ref: \"VPCCidr\",\n },\n Tags: [{\n Key: \"Name\",\n Value: \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }),\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = aws.iam.getPolicyDocumentOutput({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n effect: \"Allow\",\n resources: [pulumi.interpolate`arn:aws:iam::*:role/${example.executionRoleName}`],\n }],\n});\nconst aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new aws.iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", {\n name: \"ExecutionPolicy\",\n policy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.apply(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy =\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.json),\n role: aWSCloudFormationStackSetAdministrationRole.name,\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\na_ws_cloud_formation_stack_set_administration_role_assume_role_policy = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n identifiers=[\"cloudformation.amazonaws.com\"],\n type=\"Service\",\n )],\n)])\na_ws_cloud_formation_stack_set_administration_role = aws.iam.Role(\"AWSCloudFormationStackSetAdministrationRole\",\n assume_role_policy=a_ws_cloud_formation_stack_set_administration_role_assume_role_policy.json,\n name=\"AWSCloudFormationStackSetAdministrationRole\")\nexample = aws.cloudformation.StackSet(\"example\",\n administration_role_arn=a_ws_cloud_formation_stack_set_administration_role.arn,\n name=\"example\",\n parameters={\n \"VPCCidr\": \"10.0.0.0/16\",\n },\n template_body=json.dumps({\n \"Parameters\": {\n \"VPCCidr\": {\n \"Type\": \"String\",\n \"Default\": \"10.0.0.0/16\",\n \"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n \"Resources\": {\n \"myVpc\": {\n \"Type\": \"AWS::EC2::VPC\",\n \"Properties\": {\n \"CidrBlock\": {\n \"Ref\": \"VPCCidr\",\n },\n \"Tags\": [{\n \"Key\": \"Name\",\n \"Value\": \"Primary_CF_VPC\",\n }],\n },\n },\n },\n }))\na_ws_cloud_formation_stack_set_administration_role_execution_policy = aws.iam.get_policy_document_output(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n effect=\"Allow\",\n resources=[example.execution_role_name.apply(lambda execution_role_name: f\"arn:aws:iam::*:role/{execution_role_name}\")],\n)])\na_ws_cloud_formation_stack_set_administration_role_execution_policy_role_policy = aws.iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\",\n name=\"ExecutionPolicy\",\n policy=a_ws_cloud_formation_stack_set_administration_role_execution_policy.json,\n role=a_ws_cloud_formation_stack_set_administration_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Identifiers = new[]\n {\n \"cloudformation.amazonaws.com\",\n },\n Type = \"Service\",\n },\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRole = new Aws.Iam.Role(\"AWSCloudFormationStackSetAdministrationRole\", new()\n {\n AssumeRolePolicy = aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Name = \"AWSCloudFormationStackSetAdministrationRole\",\n });\n\n var example = new Aws.CloudFormation.StackSet(\"example\", new()\n {\n AdministrationRoleArn = aWSCloudFormationStackSetAdministrationRole.Arn,\n Name = \"example\",\n Parameters = \n {\n { \"VPCCidr\", \"10.0.0.0/16\" },\n },\n TemplateBody = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Parameters\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"VPCCidr\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"String\",\n [\"Default\"] = \"10.0.0.0/16\",\n [\"Description\"] = \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n },\n },\n [\"Resources\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"myVpc\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Type\"] = \"AWS::EC2::VPC\",\n [\"Properties\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"CidrBlock\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Ref\"] = \"VPCCidr\",\n },\n [\"Tags\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"Key\"] = \"Name\",\n [\"Value\"] = \"Primary_CF_VPC\",\n },\n },\n },\n },\n },\n }),\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Effect = \"Allow\",\n Resources = new[]\n {\n $\"arn:aws:iam::*:role/{example.ExecutionRoleName}\",\n },\n },\n },\n });\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new Aws.Iam.RolePolicy(\"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", new()\n {\n Name = \"ExecutionPolicy\",\n Policy = aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n Role = aWSCloudFormationStackSetAdministrationRole.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudformation\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"cloudformation.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRole, err := iam.NewRole(ctx, \"AWSCloudFormationStackSetAdministrationRole\", \u0026iam.RoleArgs{\n\t\t\tAssumeRolePolicy: pulumi.String(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Json),\n\t\t\tName: pulumi.String(\"AWSCloudFormationStackSetAdministrationRole\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Parameters\": map[string]interface{}{\n\t\t\t\t\"VPCCidr\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"String\",\n\t\t\t\t\t\"Default\": \"10.0.0.0/16\",\n\t\t\t\t\t\"Description\": \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Resources\": map[string]interface{}{\n\t\t\t\t\"myVpc\": map[string]interface{}{\n\t\t\t\t\t\"Type\": \"AWS::EC2::VPC\",\n\t\t\t\t\t\"Properties\": map[string]interface{}{\n\t\t\t\t\t\t\"CidrBlock\": map[string]interface{}{\n\t\t\t\t\t\t\t\"Ref\": \"VPCCidr\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"Tags\": []map[string]interface{}{\n\t\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\t\"Key\": \"Name\",\n\t\t\t\t\t\t\t\t\"Value\": \"Primary_CF_VPC\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\texample, err := cloudformation.NewStackSet(ctx, \"example\", \u0026cloudformation.StackSetArgs{\n\t\t\tAdministrationRoleArn: aWSCloudFormationStackSetAdministrationRole.Arn,\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tParameters: pulumi.StringMap{\n\t\t\t\t\"VPCCidr\": pulumi.String(\"10.0.0.0/16\"),\n\t\t\t},\n\t\t\tTemplateBody: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\taWSCloudFormationStackSetAdministrationRoleExecutionPolicy := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"sts:AssumeRole\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\texample.ExecutionRoleName.ApplyT(func(executionRoleName string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:iam::*:role/%v\", executionRoleName), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"ExecutionPolicy\"),\n\t\t\tPolicy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.ApplyT(func(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t\tRole: aWSCloudFormationStackSetAdministrationRole.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.cloudformation.StackSet;\nimport com.pulumi.aws.cloudformation.StackSetArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .identifiers(\"cloudformation.amazonaws.com\")\n .type(\"Service\")\n .build())\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRole = new Role(\"aWSCloudFormationStackSetAdministrationRole\", RoleArgs.builder() \n .assumeRolePolicy(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .name(\"AWSCloudFormationStackSetAdministrationRole\")\n .build());\n\n var example = new StackSet(\"example\", StackSetArgs.builder() \n .administrationRoleArn(aWSCloudFormationStackSetAdministrationRole.arn())\n .name(\"example\")\n .parameters(Map.of(\"VPCCidr\", \"10.0.0.0/16\"))\n .templateBody(serializeJson(\n jsonObject(\n jsonProperty(\"Parameters\", jsonObject(\n jsonProperty(\"VPCCidr\", jsonObject(\n jsonProperty(\"Type\", \"String\"),\n jsonProperty(\"Default\", \"10.0.0.0/16\"),\n jsonProperty(\"Description\", \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\")\n ))\n )),\n jsonProperty(\"Resources\", jsonObject(\n jsonProperty(\"myVpc\", jsonObject(\n jsonProperty(\"Type\", \"AWS::EC2::VPC\"),\n jsonProperty(\"Properties\", jsonObject(\n jsonProperty(\"CidrBlock\", jsonObject(\n jsonProperty(\"Ref\", \"VPCCidr\")\n )),\n jsonProperty(\"Tags\", jsonArray(jsonObject(\n jsonProperty(\"Key\", \"Name\"),\n jsonProperty(\"Value\", \"Primary_CF_VPC\")\n )))\n ))\n ))\n ))\n )))\n .build());\n\n final var aWSCloudFormationStackSetAdministrationRoleExecutionPolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .effect(\"Allow\")\n .resources(example.executionRoleName().applyValue(executionRoleName -\u003e String.format(\"arn:aws:iam::*:role/%s\", executionRoleName)))\n .build())\n .build());\n\n var aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new RolePolicy(\"aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy\", RolePolicyArgs.builder() \n .name(\"ExecutionPolicy\")\n .policy(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult).applyValue(aWSCloudFormationStackSetAdministrationRoleExecutionPolicy -\u003e aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json())))\n .role(aWSCloudFormationStackSetAdministrationRole.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n aWSCloudFormationStackSetAdministrationRole:\n type: aws:iam:Role\n name: AWSCloudFormationStackSetAdministrationRole\n properties:\n assumeRolePolicy: ${aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json}\n name: AWSCloudFormationStackSetAdministrationRole\n example:\n type: aws:cloudformation:StackSet\n properties:\n administrationRoleArn: ${aWSCloudFormationStackSetAdministrationRole.arn}\n name: example\n parameters:\n VPCCidr: 10.0.0.0/16\n templateBody:\n fn::toJSON:\n Parameters:\n VPCCidr:\n Type: String\n Default: 10.0.0.0/16\n Description: Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\n Resources:\n myVpc:\n Type: AWS::EC2::VPC\n Properties:\n CidrBlock:\n Ref: VPCCidr\n Tags:\n - Key: Name\n Value: Primary_CF_VPC\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy:\n type: aws:iam:RolePolicy\n name: AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy\n properties:\n name: ExecutionPolicy\n policy: ${aWSCloudFormationStackSetAdministrationRoleExecutionPolicy.json}\n role: ${aWSCloudFormationStackSetAdministrationRole.name}\nvariables:\n aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n principals:\n - identifiers:\n - cloudformation.amazonaws.com\n type: Service\n aWSCloudFormationStackSetAdministrationRoleExecutionPolicy:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n effect: Allow\n resources:\n - arn:aws:iam::*:role/${example.executionRoleName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImport CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\nUsing `pulumi import`, import CloudFormation StackSets using the `name`. For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSet:StackSet example example\n```\nUsing `pulumi import`, import CloudFormation StackSets when acting a delegated administrator in a member account using the `name` and `call_as` values separated by a comma (`,`). For example:\n\n```sh\n$ pulumi import aws:cloudformation/stackSet:StackSet example example,DELEGATED_ADMIN\n```\n", "properties": { "administrationRoleArn": { "type": "string", @@ -187368,7 +191209,7 @@ }, "kmsKeyId": { "type": "string", - "description": "The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used.\n" + "description": "The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used.\n" }, "repositoryId": { "type": "string", @@ -187414,7 +191255,7 @@ }, "kmsKeyId": { "type": "string", - "description": "The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used.\n" + "description": "The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used.\n" }, "repositoryName": { "type": "string", @@ -187456,7 +191297,7 @@ }, "kmsKeyId": { "type": "string", - "description": "The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used.\n" + "description": "The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used.\n" }, "repositoryId": { "type": "string", @@ -213160,6 +217001,9 @@ "type": "string", "description": "ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.\n" }, + "arn": { + "type": "string" + }, "associateWithPrivateIp": { "type": "string", "description": "User-specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.\n" @@ -213243,6 +217087,7 @@ }, "required": [ "allocationId", + "arn", "associationId", "carrierIp", "customerOwnedIp", @@ -213322,6 +217167,9 @@ "type": "string", "description": "ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.\n" }, + "arn": { + "type": "string" + }, "associateWithPrivateIp": { "type": "string", "description": "User-specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.\n" @@ -234905,7 +238753,11 @@ }, "transitEncryptionEnabled": { "type": "boolean", - "description": "Whether to enable encryption in transit.\n" + "description": "Whether to enable encryption in transit.\nChanging this argument with an `engine_version` \u003c `7.0.5` will force a replacement.\nEngine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group.\n" + }, + "transitEncryptionMode": { + "type": "string", + "description": "A setting that enables clients to migrate to in-transit encryption with no downtime.\nValid values are `preferred` and `required`.\nWhen enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply.\nSee the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details.\n" }, "userGroupIds": { "type": "array", @@ -234944,7 +238796,8 @@ "snapshotWindow", "subnetGroupName", "tagsAll", - "transitEncryptionEnabled" + "transitEncryptionEnabled", + "transitEncryptionMode" ], "inputProperties": { "applyImmediately": { @@ -235120,8 +238973,11 @@ }, "transitEncryptionEnabled": { "type": "boolean", - "description": "Whether to enable encryption in transit.\n", - "willReplaceOnChanges": true + "description": "Whether to enable encryption in transit.\nChanging this argument with an `engine_version` \u003c `7.0.5` will force a replacement.\nEngine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group.\n" + }, + "transitEncryptionMode": { + "type": "string", + "description": "A setting that enables clients to migrate to in-transit encryption with no downtime.\nValid values are `preferred` and `required`.\nWhen enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply.\nSee the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details.\n" }, "userGroupIds": { "type": "array", @@ -235346,8 +239202,11 @@ }, "transitEncryptionEnabled": { "type": "boolean", - "description": "Whether to enable encryption in transit.\n", - "willReplaceOnChanges": true + "description": "Whether to enable encryption in transit.\nChanging this argument with an `engine_version` \u003c `7.0.5` will force a replacement.\nEngine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group.\n" + }, + "transitEncryptionMode": { + "type": "string", + "description": "A setting that enables clients to migrate to in-transit encryption with no downtime.\nValid values are `preferred` and `required`.\nWhen enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply.\nSee the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details.\n" }, "userGroupIds": { "type": "array", @@ -247868,6 +251727,141 @@ "type": "object" } }, + "aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment": { + "description": "Resource for managing an AWS Global Accelerator Cross Account Attachment.\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.globalaccelerator.CrossAccountAttachment(\"example\", {name: \"example-cross-account-attachment\"});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.CrossAccountAttachment(\"example\", name=\"example-cross-account-attachment\")\n```\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.GlobalAccelerator.CrossAccountAttachment(\"example\", new()\n {\n Name = \"example-cross-account-attachment\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\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 := globalaccelerator.NewCrossAccountAttachment(ctx, \"example\", \u0026globalaccelerator.CrossAccountAttachmentArgs{\n\t\t\tName: pulumi.String(\"example-cross-account-attachment\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.globalaccelerator.CrossAccountAttachment;\nimport com.pulumi.aws.globalaccelerator.CrossAccountAttachmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 CrossAccountAttachment(\"example\", CrossAccountAttachmentArgs.builder() \n .name(\"example-cross-account-attachment\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:CrossAccountAttachment\n properties:\n name: example-cross-account-attachment\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Usage with Optional Arguments\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.globalaccelerator.CrossAccountAttachment(\"example\", {\n name: \"example-cross-account-attachment\",\n principals: [\"123456789012\"],\n resources: [{\n endpointId: \"arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\",\n region: \"us-west-2\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.CrossAccountAttachment(\"example\",\n name=\"example-cross-account-attachment\",\n principals=[\"123456789012\"],\n resources=[aws.globalaccelerator.CrossAccountAttachmentResourceArgs(\n endpoint_id=\"arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\",\n region=\"us-west-2\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.CrossAccountAttachment(\"example\", new()\n {\n Name = \"example-cross-account-attachment\",\n Principals = new[]\n {\n \"123456789012\",\n },\n Resources = new[]\n {\n new Aws.GlobalAccelerator.Inputs.CrossAccountAttachmentResourceArgs\n {\n EndpointId = \"arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\",\n Region = \"us-west-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\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 := globalaccelerator.NewCrossAccountAttachment(ctx, \"example\", \u0026globalaccelerator.CrossAccountAttachmentArgs{\n\t\t\tName: pulumi.String(\"example-cross-account-attachment\"),\n\t\t\tPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"123456789012\"),\n\t\t\t},\n\t\t\tResources: globalaccelerator.CrossAccountAttachmentResourceArray{\n\t\t\t\t\u0026globalaccelerator.CrossAccountAttachmentResourceArgs{\n\t\t\t\t\tEndpointId: pulumi.String(\"arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\"),\n\t\t\t\t\tRegion: pulumi.String(\"us-west-2\"),\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.globalaccelerator.CrossAccountAttachment;\nimport com.pulumi.aws.globalaccelerator.CrossAccountAttachmentArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.CrossAccountAttachmentResourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 CrossAccountAttachment(\"example\", CrossAccountAttachmentArgs.builder() \n .name(\"example-cross-account-attachment\")\n .principals(\"123456789012\")\n .resources(CrossAccountAttachmentResourceArgs.builder()\n .endpointId(\"arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\")\n .region(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:CrossAccountAttachment\n properties:\n name: example-cross-account-attachment\n principals:\n - '123456789012'\n resources:\n - endpointId: arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188\n region: us-west-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator Cross Account Attachment using the `example_id_arg`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment example arn:aws:globalaccelerator::012345678910:attachment/01234567-abcd-8910-efgh-123456789012\n```\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Cross Account Attachment.\n" + }, + "createdTime": { + "type": "string", + "description": "Creation Time when the Cross Account Attachment.\n" + }, + "lastModifiedTime": { + "type": "string", + "description": "Last modified time of the Cross Account Attachment.\n" + }, + "name": { + "type": "string", + "description": "Name of the Cross Account Attachment.\n\nThe following arguments are optional:\n" + }, + "principals": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of AWS account IDs that are allowed to associate resources with the accelerator.\n" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/types/aws:globalaccelerator/CrossAccountAttachmentResource:CrossAccountAttachmentResource" + }, + "description": "List of resources to be associated with the accelerator.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." + } + }, + "required": [ + "arn", + "createdTime", + "lastModifiedTime", + "name", + "tagsAll" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "Name of the Cross Account Attachment.\n\nThe following arguments are optional:\n" + }, + "principals": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of AWS account IDs that are allowed to associate resources with the accelerator.\n" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/types/aws:globalaccelerator/CrossAccountAttachmentResource:CrossAccountAttachmentResource" + }, + "description": "List of resources to be associated with the accelerator.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering CrossAccountAttachment resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the Cross Account Attachment.\n" + }, + "createdTime": { + "type": "string", + "description": "Creation Time when the Cross Account Attachment.\n" + }, + "lastModifiedTime": { + "type": "string", + "description": "Last modified time of the Cross Account Attachment.\n" + }, + "name": { + "type": "string", + "description": "Name of the Cross Account Attachment.\n\nThe following arguments are optional:\n" + }, + "principals": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of AWS account IDs that are allowed to associate resources with the accelerator.\n" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/types/aws:globalaccelerator/CrossAccountAttachmentResource:CrossAccountAttachmentResource" + }, + "description": "List of resources to be associated with the accelerator.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n", + "deprecationMessage": "Please use `tags` instead." + } + }, + "type": "object" + } + }, "aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator": { "description": "Creates a Global Accelerator custom routing accelerator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.globalaccelerator.CustomRoutingAccelerator(\"example\", {\n name: \"Example\",\n ipAddressType: \"IPV4\",\n ipAddresses: [\"1.2.3.4\"],\n enabled: true,\n attributes: {\n flowLogsEnabled: true,\n flowLogsS3Bucket: \"example-bucket\",\n flowLogsS3Prefix: \"flow-logs/\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.globalaccelerator.CustomRoutingAccelerator(\"example\",\n name=\"Example\",\n ip_address_type=\"IPV4\",\n ip_addresses=[\"1.2.3.4\"],\n enabled=True,\n attributes=aws.globalaccelerator.CustomRoutingAcceleratorAttributesArgs(\n flow_logs_enabled=True,\n flow_logs_s3_bucket=\"example-bucket\",\n flow_logs_s3_prefix=\"flow-logs/\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.GlobalAccelerator.CustomRoutingAccelerator(\"example\", new()\n {\n Name = \"Example\",\n IpAddressType = \"IPV4\",\n IpAddresses = new[]\n {\n \"1.2.3.4\",\n },\n Enabled = true,\n Attributes = new Aws.GlobalAccelerator.Inputs.CustomRoutingAcceleratorAttributesArgs\n {\n FlowLogsEnabled = true,\n FlowLogsS3Bucket = \"example-bucket\",\n FlowLogsS3Prefix = \"flow-logs/\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator\"\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 := globalaccelerator.NewCustomRoutingAccelerator(ctx, \"example\", \u0026globalaccelerator.CustomRoutingAcceleratorArgs{\n\t\t\tName: pulumi.String(\"Example\"),\n\t\t\tIpAddressType: pulumi.String(\"IPV4\"),\n\t\t\tIpAddresses: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"1.2.3.4\"),\n\t\t\t},\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tAttributes: \u0026globalaccelerator.CustomRoutingAcceleratorAttributesArgs{\n\t\t\t\tFlowLogsEnabled: pulumi.Bool(true),\n\t\t\t\tFlowLogsS3Bucket: pulumi.String(\"example-bucket\"),\n\t\t\t\tFlowLogsS3Prefix: pulumi.String(\"flow-logs/\"),\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.globalaccelerator.CustomRoutingAccelerator;\nimport com.pulumi.aws.globalaccelerator.CustomRoutingAcceleratorArgs;\nimport com.pulumi.aws.globalaccelerator.inputs.CustomRoutingAcceleratorAttributesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 CustomRoutingAccelerator(\"example\", CustomRoutingAcceleratorArgs.builder() \n .name(\"Example\")\n .ipAddressType(\"IPV4\")\n .ipAddresses(\"1.2.3.4\")\n .enabled(true)\n .attributes(CustomRoutingAcceleratorAttributesArgs.builder()\n .flowLogsEnabled(true)\n .flowLogsS3Bucket(\"example-bucket\")\n .flowLogsS3Prefix(\"flow-logs/\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:globalaccelerator:CustomRoutingAccelerator\n properties:\n name: Example\n ipAddressType: IPV4\n ipAddresses:\n - 1.2.3.4\n enabled: true\n attributes:\n flowLogsEnabled: true\n flowLogsS3Bucket: example-bucket\n flowLogsS3Prefix: flow-logs/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Global Accelerator custom routing accelerators using the `arn`. For example:\n\n```sh\n$ pulumi import aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator example arn:aws:globalaccelerator::111111111111:accelerator/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n```\n", "properties": { @@ -263759,7 +267753,7 @@ } }, "aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream": { - "description": "Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 and Amazon Redshift.\n\nFor more details, see the [Amazon Kinesis Firehose Documentation](https://aws.amazon.com/documentation/firehose/).\n\n## Example Usage\n\n### Extended S3 Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"tf-test-bucket\"});\nconst firehoseAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst firehoseRole = new aws.iam.Role(\"firehose_role\", {\n name: \"firehose_test_role\",\n assumeRolePolicy: firehoseAssumeRole.then(firehoseAssumeRole =\u003e firehoseAssumeRole.json),\n});\nconst lambdaAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst lambdaIam = new aws.iam.Role(\"lambda_iam\", {\n name: \"lambda_iam\",\n assumeRolePolicy: lambdaAssumeRole.then(lambdaAssumeRole =\u003e lambdaAssumeRole.json),\n});\nconst lambdaProcessor = new aws.lambda.Function(\"lambda_processor\", {\n code: new pulumi.asset.FileArchive(\"lambda.zip\"),\n name: \"firehose_lambda_processor\",\n role: lambdaIam.arn,\n handler: \"exports.handler\",\n runtime: aws.lambda.Runtime.NodeJS16dX,\n});\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: pulumi.interpolate`${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"tf-test-bucket\")\nfirehose_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"firehose.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nfirehose_role = aws.iam.Role(\"firehose_role\",\n name=\"firehose_test_role\",\n assume_role_policy=firehose_assume_role.json)\nlambda_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nlambda_iam = aws.iam.Role(\"lambda_iam\",\n name=\"lambda_iam\",\n assume_role_policy=lambda_assume_role.json)\nlambda_processor = aws.lambda_.Function(\"lambda_processor\",\n code=pulumi.FileArchive(\"lambda.zip\"),\n name=\"firehose_lambda_processor\",\n role=lambda_iam.arn,\n handler=\"exports.handler\",\n runtime=aws.lambda_.Runtime.NODE_JS16D_X)\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_role.arn,\n bucket_arn=bucket.arn,\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=lambda_processor.arn.apply(lambda arn: f\"{arn}:$LATEST\"),\n )],\n )],\n ),\n ))\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"tf-test-bucket\",\n });\n\n var firehoseAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var firehoseRole = new Aws.Iam.Role(\"firehose_role\", new()\n {\n Name = \"firehose_test_role\",\n AssumeRolePolicy = firehoseAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var lambdaIam = new Aws.Iam.Role(\"lambda_iam\", new()\n {\n Name = \"lambda_iam\",\n AssumeRolePolicy = lambdaAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaProcessor = new Aws.Lambda.Function(\"lambda_processor\", new()\n {\n Code = new FileArchive(\"lambda.zip\"),\n Name = \"firehose_lambda_processor\",\n Role = lambdaIam.Arn,\n Handler = \"exports.handler\",\n Runtime = Aws.Lambda.Runtime.NodeJS16dX,\n });\n\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = lambdaProcessor.Arn.Apply(arn =\u003e $\"{arn}:$LATEST\"),\n },\n },\n },\n },\n },\n },\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseRole, err := iam.NewRole(ctx, \"firehose_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"firehose_test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(firehoseAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaIam, err := iam.NewRole(ctx, \"lambda_iam\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"lambda_iam\"),\n\t\t\tAssumeRolePolicy: pulumi.String(lambdaAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaProcessor, err := lambda.NewFunction(ctx, \"lambda_processor\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda.zip\"),\n\t\t\tName: pulumi.String(\"firehose_lambda_processor\"),\n\t\t\tRole: lambdaIam.Arn,\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS16dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: firehoseRole.Arn,\n\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: lambdaProcessor.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:$LATEST\", arn), nil\n\t\t\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bucket = new BucketV2(\"bucket\", BucketV2Args.builder() \n .bucket(\"tf-test-bucket\")\n .build());\n\n final var firehoseAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var firehoseRole = new Role(\"firehoseRole\", RoleArgs.builder() \n .name(\"firehose_test_role\")\n .assumeRolePolicy(firehoseAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var lambdaAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var lambdaIam = new Role(\"lambdaIam\", RoleArgs.builder() \n .name(\"lambda_iam\")\n .assumeRolePolicy(lambdaAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var lambdaProcessor = new Function(\"lambdaProcessor\", FunctionArgs.builder() \n .code(new FileArchive(\"lambda.zip\"))\n .name(\"firehose_lambda_processor\")\n .role(lambdaIam.arn())\n .handler(\"exports.handler\")\n .runtime(\"nodejs16.x\")\n .build());\n\n var extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(lambdaProcessor.arn().applyValue(arn -\u003e String.format(\"%s:$LATEST\", arn)))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder() \n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n firehoseRole:\n type: aws:iam:Role\n name: firehose_role\n properties:\n name: firehose_test_role\n assumeRolePolicy: ${firehoseAssumeRole.json}\n lambdaIam:\n type: aws:iam:Role\n name: lambda_iam\n properties:\n name: lambda_iam\n assumeRolePolicy: ${lambdaAssumeRole.json}\n lambdaProcessor:\n type: aws:lambda:Function\n name: lambda_processor\n properties:\n code:\n fn::FileArchive: lambda.zip\n name: firehose_lambda_processor\n role: ${lambdaIam.arn}\n handler: exports.handler\n runtime: nodejs16.x\nvariables:\n firehoseAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n lambdaAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Extended S3 Destination with dynamic partitioning\n\nThese examples use built-in Firehose functionality, rather than requiring a lambda.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 64,\n dynamicPartitioningConfiguration: {\n enabled: true,\n },\n prefix: \"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n errorOutputPrefix: \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processingConfiguration: {\n enabled: true,\n processors: [\n {\n type: \"RecordDeAggregation\",\n parameters: [{\n parameterName: \"SubRecordType\",\n parameterValue: \"JSON\",\n }],\n },\n {\n type: \"AppendDelimiterToRecord\",\n },\n {\n type: \"MetadataExtraction\",\n parameters: [\n {\n parameterName: \"JsonParsingEngine\",\n parameterValue: \"JQ-1.6\",\n },\n {\n parameterName: \"MetadataExtractionQuery\",\n parameterValue: \"{customer_id:.customer_id}\",\n },\n ],\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=64,\n dynamic_partitioning_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs(\n enabled=True,\n ),\n prefix=\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n error_output_prefix=\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"RecordDeAggregation\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"SubRecordType\",\n parameter_value=\"JSON\",\n )],\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"AppendDelimiterToRecord\",\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"MetadataExtraction\",\n parameters=[\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"JsonParsingEngine\",\n parameter_value=\"JQ-1.6\",\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"MetadataExtractionQuery\",\n parameter_value=\"{customer_id:.customer_id}\",\n ),\n ],\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 64,\n DynamicPartitioningConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs\n {\n Enabled = true,\n },\n Prefix = \"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n ErrorOutputPrefix = \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"RecordDeAggregation\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"SubRecordType\",\n ParameterValue = \"JSON\",\n },\n },\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"AppendDelimiterToRecord\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"MetadataExtraction\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"JsonParsingEngine\",\n ParameterValue = \"JQ-1.6\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"MetadataExtractionQuery\",\n ParameterValue = \"{customer_id:.customer_id}\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\tBufferingSize: pulumi.Int(64),\n\t\t\t\tDynamicPartitioningConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tPrefix: pulumi.String(\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\"),\n\t\t\t\tErrorOutputPrefix: pulumi.String(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\"),\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"RecordDeAggregation\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"SubRecordType\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JSON\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AppendDelimiterToRecord\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"MetadataExtraction\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"JsonParsingEngine\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JQ-1.6\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"MetadataExtractionQuery\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"{customer_id:.customer_id}\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(64)\n .dynamicPartitioningConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs.builder()\n .enabled(\"true\")\n .build())\n .prefix(\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\")\n .errorOutputPrefix(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\")\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"RecordDeAggregation\")\n .parameters(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"SubRecordType\")\n .parameterValue(\"JSON\")\n .build())\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"AppendDelimiterToRecord\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"MetadataExtraction\")\n .parameters( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"JsonParsingEngine\")\n .parameterValue(\"JQ-1.6\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"MetadataExtractionQuery\")\n .parameterValue(\"{customer_id:.customer_id}\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 64\n dynamicPartitioningConfiguration:\n enabled: 'true'\n prefix: data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\n errorOutputPrefix: errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: RecordDeAggregation\n parameters:\n - parameterName: SubRecordType\n parameterValue: JSON\n - type: AppendDelimiterToRecord\n - type: MetadataExtraction\n parameters:\n - parameterName: JsonParsingEngine\n parameterValue: JQ-1.6\n - parameterName: MetadataExtractionQuery\n parameterValue: '{customer_id:.customer_id}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nMultiple Dynamic Partitioning Keys (maximum of 50) can be added by comma separating the `parameter_value`.\n\nThe following example adds the Dynamic Partitioning Keys: `store_id` and `customer_id` to the S3 prefix.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 64,\n dynamicPartitioningConfiguration: {\n enabled: true,\n },\n prefix: \"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n errorOutputPrefix: \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"MetadataExtraction\",\n parameters: [\n {\n parameterName: \"JsonParsingEngine\",\n parameterValue: \"JQ-1.6\",\n },\n {\n parameterName: \"MetadataExtractionQuery\",\n parameterValue: \"{store_id:.store_id,customer_id:.customer_id}\",\n },\n ],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=64,\n dynamic_partitioning_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs(\n enabled=True,\n ),\n prefix=\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n error_output_prefix=\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"MetadataExtraction\",\n parameters=[\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"JsonParsingEngine\",\n parameter_value=\"JQ-1.6\",\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"MetadataExtractionQuery\",\n parameter_value=\"{store_id:.store_id,customer_id:.customer_id}\",\n ),\n ],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 64,\n DynamicPartitioningConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs\n {\n Enabled = true,\n },\n Prefix = \"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n ErrorOutputPrefix = \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"MetadataExtraction\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"JsonParsingEngine\",\n ParameterValue = \"JQ-1.6\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"MetadataExtractionQuery\",\n ParameterValue = \"{store_id:.store_id,customer_id:.customer_id}\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\tBufferingSize: pulumi.Int(64),\n\t\t\t\tDynamicPartitioningConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tPrefix: pulumi.String(\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\"),\n\t\t\t\tErrorOutputPrefix: pulumi.String(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\"),\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"MetadataExtraction\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"JsonParsingEngine\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JQ-1.6\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"MetadataExtractionQuery\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"{store_id:.store_id,customer_id:.customer_id}\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(64)\n .dynamicPartitioningConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs.builder()\n .enabled(\"true\")\n .build())\n .prefix(\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\")\n .errorOutputPrefix(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\")\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"MetadataExtraction\")\n .parameters( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"JsonParsingEngine\")\n .parameterValue(\"JQ-1.6\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"MetadataExtractionQuery\")\n .parameterValue(\"{store_id:.store_id,customer_id:.customer_id}\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 64\n dynamicPartitioningConfiguration:\n enabled: 'true'\n prefix: data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\n errorOutputPrefix: errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: MetadataExtraction\n parameters:\n - parameterName: JsonParsingEngine\n parameterValue: JQ-1.6\n - parameterName: MetadataExtractionQuery\n parameterValue: '{store_id:.store_id,customer_id:.customer_id}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redshift Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.redshift.Cluster(\"test_cluster\", {\n clusterIdentifier: \"tf-redshift-cluster\",\n databaseName: \"test\",\n masterUsername: \"testuser\",\n masterPassword: \"T3stPass\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"redshift\",\n redshiftConfiguration: {\n roleArn: firehoseRole.arn,\n clusterJdbcurl: pulumi.interpolate`jdbc:redshift://${testCluster.endpoint}/${testCluster.databaseName}`,\n username: \"testuser\",\n password: \"T3stPass\",\n dataTableName: \"test-table\",\n copyOptions: \"delimiter '|'\",\n dataTableColumns: \"test-col\",\n s3BackupMode: \"Enabled\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n s3BackupConfiguration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 15,\n bufferingInterval: 300,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.redshift.Cluster(\"test_cluster\",\n cluster_identifier=\"tf-redshift-cluster\",\n database_name=\"test\",\n master_username=\"testuser\",\n master_password=\"T3stPass\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"redshift\",\n redshift_configuration=aws.kinesis.FirehoseDeliveryStreamRedshiftConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n cluster_jdbcurl=pulumi.Output.all(test_cluster.endpoint, test_cluster.database_name).apply(lambda endpoint, database_name: f\"jdbc:redshift://{endpoint}/{database_name}\"),\n username=\"testuser\",\n password=\"T3stPass\",\n data_table_name=\"test-table\",\n copy_options=\"delimiter '|'\",\n data_table_columns=\"test-col\",\n s3_backup_mode=\"Enabled\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n s3_backup_configuration=aws.kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=15,\n buffering_interval=300,\n compression_format=\"GZIP\",\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 testCluster = new Aws.RedShift.Cluster(\"test_cluster\", new()\n {\n ClusterIdentifier = \"tf-redshift-cluster\",\n DatabaseName = \"test\",\n MasterUsername = \"testuser\",\n MasterPassword = \"T3stPass\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"redshift\",\n RedshiftConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n ClusterJdbcurl = Output.Tuple(testCluster.Endpoint, testCluster.DatabaseName).Apply(values =\u003e\n {\n var endpoint = values.Item1;\n var databaseName = values.Item2;\n return $\"jdbc:redshift://{endpoint}/{databaseName}\";\n }),\n Username = \"testuser\",\n Password = \"T3stPass\",\n DataTableName = \"test-table\",\n CopyOptions = \"delimiter '|'\",\n DataTableColumns = \"test-col\",\n S3BackupMode = \"Enabled\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n S3BackupConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 15,\n BufferingInterval = 300,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := redshift.NewCluster(ctx, \"test_cluster\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift-cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tMasterUsername: pulumi.String(\"testuser\"),\n\t\t\tMasterPassword: pulumi.String(\"T3stPass\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"redshift\"),\n\t\t\tRedshiftConfiguration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tClusterJdbcurl: pulumi.All(testCluster.Endpoint, testCluster.DatabaseName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\tendpoint := _args[0].(string)\n\t\t\t\t\tdatabaseName := _args[1].(string)\n\t\t\t\t\treturn fmt.Sprintf(\"jdbc:redshift://%v/%v\", endpoint, databaseName), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tUsername: pulumi.String(\"testuser\"),\n\t\t\t\tPassword: pulumi.String(\"T3stPass\"),\n\t\t\t\tDataTableName: pulumi.String(\"test-table\"),\n\t\t\t\tCopyOptions: pulumi.String(\"delimiter '|'\"),\n\t\t\t\tDataTableColumns: pulumi.String(\"test-col\"),\n\t\t\t\tS3BackupMode: pulumi.String(\"Enabled\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tS3BackupConfiguration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(15),\n\t\t\t\t\tBufferingInterval: pulumi.Int(300),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .clusterIdentifier(\"tf-redshift-cluster\")\n .databaseName(\"test\")\n .masterUsername(\"testuser\")\n .masterPassword(\"T3stPass\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"redshift\")\n .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .clusterJdbcurl(Output.tuple(testCluster.endpoint(), testCluster.databaseName()).applyValue(values -\u003e {\n var endpoint = values.t1;\n var databaseName = values.t2;\n return String.format(\"jdbc:redshift://%s/%s\", endpoint,databaseName);\n }))\n .username(\"testuser\")\n .password(\"T3stPass\")\n .dataTableName(\"test-table\")\n .copyOptions(\"delimiter '|'\")\n .dataTableColumns(\"test-col\")\n .s3BackupMode(\"Enabled\")\n .s3Configuration(FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .s3BackupConfiguration(FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(15)\n .bufferingInterval(300)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:redshift:Cluster\n name: test_cluster\n properties:\n clusterIdentifier: tf-redshift-cluster\n databaseName: test\n masterUsername: testuser\n masterPassword: T3stPass\n nodeType: dc1.large\n clusterType: single-node\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: redshift\n redshiftConfiguration:\n roleArn: ${firehoseRole.arn}\n clusterJdbcurl: jdbc:redshift://${testCluster.endpoint}/${testCluster.databaseName}\n username: testuser\n password: T3stPass\n dataTableName: test-table\n copyOptions: delimiter '|'\n dataTableColumns: test-col\n s3BackupMode: Enabled\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n s3BackupConfiguration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 15\n bufferingInterval: 300\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticsearch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.elasticsearch.Domain(\"test_cluster\", {domainName: \"firehose-es-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"elasticsearch\",\n elasticsearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n typeName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.elasticsearch.Domain(\"test_cluster\", domain_name=\"firehose-es-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"elasticsearch\",\n elasticsearch_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose_role[\"arn\"],\n index_name=\"test\",\n type_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=f\"{lambda_processor['arn']}:$LATEST\",\n )],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.ElasticSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"firehose-es-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"elasticsearch\",\n ElasticsearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n TypeName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := elasticsearch.NewDomain(ctx, \"test_cluster\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"firehose-es-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"elasticsearch\"),\n\t\t\tElasticsearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tTypeName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(fmt.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn)),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCluster = new Domain(\"testCluster\", DomainArgs.builder() \n .domainName(\"firehose-es-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"elasticsearch\")\n .elasticsearchConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .typeName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:elasticsearch:Domain\n name: test_cluster\n properties:\n domainName: firehose-es-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: elasticsearch\n elasticsearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehoseRole.arn}\n indexName: test\n typeName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticsearch Destination With VPC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.elasticsearch.Domain(\"test_cluster\", {\n domainName: \"es-test\",\n clusterConfig: {\n instanceCount: 2,\n zoneAwarenessEnabled: true,\n instanceType: \"t2.small.elasticsearch\",\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n vpcOptions: {\n securityGroupIds: [first.id],\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n },\n});\nconst firehose-elasticsearch = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"es:*\"],\n resources: [\n testCluster.arn,\n pulumi.interpolate`${testCluster.arn}/*`,\n ],\n },\n {\n effect: \"Allow\",\n actions: [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n ],\n resources: [\"*\"],\n },\n ],\n});\nconst firehose_elasticsearchRolePolicy = new aws.iam.RolePolicy(\"firehose-elasticsearch\", {\n name: \"elasticsearch\",\n role: firehose.id,\n policy: firehose_elasticsearch.apply(firehose_elasticsearch =\u003e firehose_elasticsearch.json),\n});\nconst test = new aws.kinesis.FirehoseDeliveryStream(\"test\", {\n name: \"kinesis-firehose-es\",\n destination: \"elasticsearch\",\n elasticsearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehose.arn,\n indexName: \"test\",\n typeName: \"test\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n },\n vpcConfig: {\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n securityGroupIds: [first.id],\n roleArn: firehose.arn,\n },\n },\n}, {\n dependsOn: [firehose_elasticsearchRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.elasticsearch.Domain(\"test_cluster\",\n domain_name=\"es-test\",\n cluster_config=aws.elasticsearch.DomainClusterConfigArgs(\n instance_count=2,\n zone_awareness_enabled=True,\n instance_type=\"t2.small.elasticsearch\",\n ),\n ebs_options=aws.elasticsearch.DomainEbsOptionsArgs(\n ebs_enabled=True,\n volume_size=10,\n ),\n vpc_options=aws.elasticsearch.DomainVpcOptionsArgs(\n security_group_ids=[first[\"id\"]],\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n ))\nfirehose_elasticsearch = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"es:*\"],\n resources=[\n test_cluster.arn,\n test_cluster.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n ],\n resources=[\"*\"],\n ),\n])\nfirehose_elasticsearch_role_policy = aws.iam.RolePolicy(\"firehose-elasticsearch\",\n name=\"elasticsearch\",\n role=firehose[\"id\"],\n policy=firehose_elasticsearch.json)\ntest = aws.kinesis.FirehoseDeliveryStream(\"test\",\n name=\"kinesis-firehose-es\",\n destination=\"elasticsearch\",\n elasticsearch_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose[\"arn\"],\n index_name=\"test\",\n type_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n ),\n vpc_config=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs(\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n security_group_ids=[first[\"id\"]],\n role_arn=firehose[\"arn\"],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[firehose_elasticsearch_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.ElasticSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"es-test\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceCount = 2,\n ZoneAwarenessEnabled = true,\n InstanceType = \"t2.small.elasticsearch\",\n },\n EbsOptions = new Aws.ElasticSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n VpcOptions = new Aws.ElasticSearch.Inputs.DomainVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n },\n });\n\n var firehose_elasticsearch = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n testCluster.Arn,\n $\"{testCluster.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var firehose_elasticsearchRolePolicy = new Aws.Iam.RolePolicy(\"firehose-elasticsearch\", new()\n {\n Name = \"elasticsearch\",\n Role = firehose.Id,\n Policy = firehose_elasticsearch.Apply(firehose_elasticsearch =\u003e firehose_elasticsearch.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n var test = new Aws.Kinesis.FirehoseDeliveryStream(\"test\", new()\n {\n Name = \"kinesis-firehose-es\",\n Destination = \"elasticsearch\",\n ElasticsearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehose.Arn,\n IndexName = \"test\",\n TypeName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n },\n VpcConfig = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs\n {\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n RoleArn = firehose.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n firehose_elasticsearchRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := elasticsearch.NewDomain(ctx, \"test_cluster\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"es-test\"),\n\t\t\tClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceCount: pulumi.Int(2),\n\t\t\t\tZoneAwarenessEnabled: pulumi.Bool(true),\n\t\t\t\tInstanceType: pulumi.String(\"t2.small.elasticsearch\"),\n\t\t\t},\n\t\t\tEbsOptions: \u0026elasticsearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t\tVpcOptions: \u0026elasticsearch.DomainVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tfirst.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\tsecond.Id,\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\tfirehose_elasticsearch := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"es:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestCluster.Arn,\n\t\t\t\t\t\ttestCluster.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeVpcs\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeVpcAttribute\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeSubnets\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeSecurityGroups\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeNetworkInterfaces\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:CreateNetworkInterface\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:CreateNetworkInterfacePermission\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DeleteNetworkInterface\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"firehose-elasticsearch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"elasticsearch\"),\n\t\t\tRole: pulumi.Any(firehose.Id),\n\t\t\tPolicy: firehose_elasticsearch.ApplyT(func(firehose_elasticsearch iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026firehose_elasticsearch.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-es\"),\n\t\t\tDestination: pulumi.String(\"elasticsearch\"),\n\t\t\tElasticsearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tTypeName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t},\n\t\t\t\tVpcConfig: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs{\n\t\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\t\tsecond.Id,\n\t\t\t\t\t},\n\t\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\t\tfirst.Id,\n\t\t\t\t\t},\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfirehose_elasticsearchRolePolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs;\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 testCluster = new Domain(\"testCluster\", DomainArgs.builder() \n .domainName(\"es-test\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceCount(2)\n .zoneAwarenessEnabled(true)\n .instanceType(\"t2.small.elasticsearch\")\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .securityGroupIds(first.id())\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .build())\n .build());\n\n final var firehose-elasticsearch = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"es:*\")\n .resources( \n testCluster.arn(),\n testCluster.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\")\n .resources(\"*\")\n .build())\n .build());\n\n var firehose_elasticsearchRolePolicy = new RolePolicy(\"firehose-elasticsearchRolePolicy\", RolePolicyArgs.builder() \n .name(\"elasticsearch\")\n .role(firehose.id())\n .policy(firehose_elasticsearch.applyValue(firehose_elasticsearch -\u003e firehose_elasticsearch.json()))\n .build());\n\n var test = new FirehoseDeliveryStream(\"test\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-es\")\n .destination(\"elasticsearch\")\n .elasticsearchConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehose.arn())\n .indexName(\"test\")\n .typeName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .build())\n .vpcConfig(FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs.builder()\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .securityGroupIds(first.id())\n .roleArn(firehose.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(firehose_elasticsearchRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:elasticsearch:Domain\n name: test_cluster\n properties:\n domainName: es-test\n clusterConfig:\n instanceCount: 2\n zoneAwarenessEnabled: true\n instanceType: t2.small.elasticsearch\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n vpcOptions:\n securityGroupIds:\n - ${first.id}\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n firehose-elasticsearchRolePolicy:\n type: aws:iam:RolePolicy\n name: firehose-elasticsearch\n properties:\n name: elasticsearch\n role: ${firehose.id}\n policy: ${[\"firehose-elasticsearch\"].json}\n test:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: kinesis-firehose-es\n destination: elasticsearch\n elasticsearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehose.arn}\n indexName: test\n typeName: test\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n vpcConfig:\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n securityGroupIds:\n - ${first.id}\n roleArn: ${firehose.arn}\n options:\n dependson:\n - ${[\"firehose-elasticsearchRolePolicy\"]}\nvariables:\n firehose-elasticsearch:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - es:*\n resources:\n - ${testCluster.arn}\n - ${testCluster.arn}/*\n - effect: Allow\n actions:\n - ec2:DescribeVpcs\n - ec2:DescribeVpcAttribute\n - ec2:DescribeSubnets\n - ec2:DescribeSecurityGroups\n - ec2:DescribeNetworkInterfaces\n - ec2:CreateNetworkInterface\n - ec2:CreateNetworkInterfacePermission\n - ec2:DeleteNetworkInterface\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.opensearch.Domain(\"test_cluster\", {domainName: \"firehose-os-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"opensearch\",\n opensearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.opensearch.Domain(\"test_cluster\", domain_name=\"firehose-os-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"opensearch\",\n opensearch_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose_role[\"arn\"],\n index_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=f\"{lambda_processor['arn']}:$LATEST\",\n )],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.OpenSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"firehose-os-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"opensearch\",\n OpensearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := opensearch.NewDomain(ctx, \"test_cluster\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"firehose-os-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"opensearch\"),\n\t\t\tOpensearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(fmt.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn)),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCluster = new Domain(\"testCluster\", DomainArgs.builder() \n .domainName(\"firehose-os-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"opensearch\")\n .opensearchConfiguration(FirehoseDeliveryStreamOpensearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:opensearch:Domain\n name: test_cluster\n properties:\n domainName: firehose-os-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: opensearch\n opensearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehoseRole.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Destination With VPC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.opensearch.Domain(\"test_cluster\", {\n domainName: \"es-test\",\n clusterConfig: {\n instanceCount: 2,\n zoneAwarenessEnabled: true,\n instanceType: \"m4.large.search\",\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n vpcOptions: {\n securityGroupIds: [first.id],\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n },\n});\nconst firehose_opensearch = new aws.iam.RolePolicy(\"firehose-opensearch\", {\n name: \"opensearch\",\n role: firehose.id,\n policy: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"${testCluster.arn}\",\n \"${testCluster.arn}/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n`,\n});\nconst test = new aws.kinesis.FirehoseDeliveryStream(\"test\", {\n name: \"pulumi-kinesis-firehose-os\",\n destination: \"opensearch\",\n opensearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehose.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n },\n vpcConfig: {\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n securityGroupIds: [first.id],\n roleArn: firehose.arn,\n },\n },\n}, {\n dependsOn: [firehose_opensearch],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.opensearch.Domain(\"test_cluster\",\n domain_name=\"es-test\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_count=2,\n zone_awareness_enabled=True,\n instance_type=\"m4.large.search\",\n ),\n ebs_options=aws.opensearch.DomainEbsOptionsArgs(\n ebs_enabled=True,\n volume_size=10,\n ),\n vpc_options=aws.opensearch.DomainVpcOptionsArgs(\n security_group_ids=[first[\"id\"]],\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n ))\nfirehose_opensearch = aws.iam.RolePolicy(\"firehose-opensearch\",\n name=\"opensearch\",\n role=firehose[\"id\"],\n policy=pulumi.Output.all(test_cluster.arn, test_cluster.arn).apply(lambda testClusterArn, testClusterArn1: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"{test_cluster_arn}\",\n \"{test_cluster_arn1}/*\"\n ]\n }},\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }}\n ]\n}}\n\"\"\"))\ntest = aws.kinesis.FirehoseDeliveryStream(\"test\",\n name=\"pulumi-kinesis-firehose-os\",\n destination=\"opensearch\",\n opensearch_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose[\"arn\"],\n index_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n ),\n vpc_config=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs(\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n security_group_ids=[first[\"id\"]],\n role_arn=firehose[\"arn\"],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[firehose_opensearch]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.OpenSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"es-test\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceCount = 2,\n ZoneAwarenessEnabled = true,\n InstanceType = \"m4.large.search\",\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n VpcOptions = new Aws.OpenSearch.Inputs.DomainVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n },\n });\n\n var firehose_opensearch = new Aws.Iam.RolePolicy(\"firehose-opensearch\", new()\n {\n Name = \"opensearch\",\n Role = firehose.Id,\n Policy = Output.Tuple(testCluster.Arn, testCluster.Arn).Apply(values =\u003e\n {\n var testClusterArn = values.Item1;\n var testClusterArn1 = values.Item2;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"es:*\"\"\n ],\n \"\"Resource\"\": [\n \"\"{testClusterArn}\"\",\n \"\"{testClusterArn1}/*\"\"\n ]\n }},\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"ec2:DescribeVpcs\"\",\n \"\"ec2:DescribeVpcAttribute\"\",\n \"\"ec2:DescribeSubnets\"\",\n \"\"ec2:DescribeSecurityGroups\"\",\n \"\"ec2:DescribeNetworkInterfaces\"\",\n \"\"ec2:CreateNetworkInterface\"\",\n \"\"ec2:CreateNetworkInterfacePermission\"\",\n \"\"ec2:DeleteNetworkInterface\"\"\n ],\n \"\"Resource\"\": [\n \"\"*\"\"\n ]\n }}\n ]\n}}\n\";\n }),\n });\n\n var test = new Aws.Kinesis.FirehoseDeliveryStream(\"test\", new()\n {\n Name = \"pulumi-kinesis-firehose-os\",\n Destination = \"opensearch\",\n OpensearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehose.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n },\n VpcConfig = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs\n {\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n RoleArn = firehose.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n firehose_opensearch,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := opensearch.NewDomain(ctx, \"test_cluster\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"es-test\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceCount: pulumi.Int(2),\n\t\t\t\tZoneAwarenessEnabled: pulumi.Bool(true),\n\t\t\t\tInstanceType: pulumi.String(\"m4.large.search\"),\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t\tVpcOptions: \u0026opensearch.DomainVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tfirst.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\tsecond.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"firehose-opensearch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"opensearch\"),\n\t\t\tRole: pulumi.Any(firehose.Id),\n\t\t\tPolicy: pulumi.All(testCluster.Arn, testCluster.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\ttestClusterArn := _args[0].(string)\n\t\t\t\ttestClusterArn1 := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"%v\",\n \"%v/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n`, testClusterArn, testClusterArn1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"pulumi-kinesis-firehose-os\"),\n\t\t\tDestination: pulumi.String(\"opensearch\"),\n\t\t\tOpensearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t},\n\t\t\t\tVpcConfig: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs{\n\t\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\t\tsecond.Id,\n\t\t\t\t\t},\n\t\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\t\tfirst.Id,\n\t\t\t\t\t},\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfirehose_opensearch,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs;\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 testCluster = new Domain(\"testCluster\", DomainArgs.builder() \n .domainName(\"es-test\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceCount(2)\n .zoneAwarenessEnabled(true)\n .instanceType(\"m4.large.search\")\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .securityGroupIds(first.id())\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .build())\n .build());\n\n var firehose_opensearch = new RolePolicy(\"firehose-opensearch\", RolePolicyArgs.builder() \n .name(\"opensearch\")\n .role(firehose.id())\n .policy(Output.tuple(testCluster.arn(), testCluster.arn()).applyValue(values -\u003e {\n var testClusterArn = values.t1;\n var testClusterArn1 = values.t2;\n return \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"%s\",\n \"%s/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n\", testClusterArn,testClusterArn1);\n }))\n .build());\n\n var test = new FirehoseDeliveryStream(\"test\", FirehoseDeliveryStreamArgs.builder() \n .name(\"pulumi-kinesis-firehose-os\")\n .destination(\"opensearch\")\n .opensearchConfiguration(FirehoseDeliveryStreamOpensearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehose.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .build())\n .vpcConfig(FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs.builder()\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .securityGroupIds(first.id())\n .roleArn(firehose.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(firehose_opensearch)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:opensearch:Domain\n name: test_cluster\n properties:\n domainName: es-test\n clusterConfig:\n instanceCount: 2\n zoneAwarenessEnabled: true\n instanceType: m4.large.search\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n vpcOptions:\n securityGroupIds:\n - ${first.id}\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n firehose-opensearch:\n type: aws:iam:RolePolicy\n properties:\n name: opensearch\n role: ${firehose.id}\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"${testCluster.arn}\",\n \"${testCluster.arn}/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n }\n test:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: pulumi-kinesis-firehose-os\n destination: opensearch\n opensearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehose.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n vpcConfig:\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n securityGroupIds:\n - ${first.id}\n roleArn: ${firehose.arn}\n options:\n dependson:\n - ${[\"firehose-opensearch\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Serverless Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCollection = new aws.opensearch.ServerlessCollection(\"test_collection\", {name: \"firehose-osserverless-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"opensearchserverless\",\n opensearchserverlessConfiguration: {\n collectionEndpoint: testCollection.collectionEndpoint,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_collection = aws.opensearch.ServerlessCollection(\"test_collection\", name=\"firehose-osserverless-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"opensearchserverless\",\n opensearchserverless_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs(\n collection_endpoint=test_collection.collection_endpoint,\n role_arn=firehose_role[\"arn\"],\n index_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=f\"{lambda_processor['arn']}:$LATEST\",\n )],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCollection = new Aws.OpenSearch.ServerlessCollection(\"test_collection\", new()\n {\n Name = \"firehose-osserverless-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"opensearchserverless\",\n OpensearchserverlessConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs\n {\n CollectionEndpoint = testCollection.CollectionEndpoint,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCollection, err := opensearch.NewServerlessCollection(ctx, \"test_collection\", \u0026opensearch.ServerlessCollectionArgs{\n\t\t\tName: pulumi.String(\"firehose-osserverless-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"opensearchserverless\"),\n\t\t\tOpensearchserverlessConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs{\n\t\t\t\tCollectionEndpoint: testCollection.CollectionEndpoint,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(fmt.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn)),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.ServerlessCollection;\nimport com.pulumi.aws.opensearch.ServerlessCollectionArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCollection = new ServerlessCollection(\"testCollection\", ServerlessCollectionArgs.builder() \n .name(\"firehose-osserverless-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"opensearchserverless\")\n .opensearchserverlessConfiguration(FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs.builder()\n .collectionEndpoint(testCollection.collectionEndpoint())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCollection:\n type: aws:opensearch:ServerlessCollection\n name: test_collection\n properties:\n name: firehose-osserverless-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: opensearchserverless\n opensearchserverlessConfiguration:\n collectionEndpoint: ${testCollection.collectionEndpoint}\n roleArn: ${firehoseRole.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Splunk Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"splunk\",\n splunkConfiguration: {\n hecEndpoint: \"https://http-inputs-mydomain.splunkcloud.com:443\",\n hecToken: \"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n hecAcknowledgmentTimeout: 600,\n hecEndpointType: \"Event\",\n s3BackupMode: \"FailedEventsOnly\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"splunk\",\n splunk_configuration=aws.kinesis.FirehoseDeliveryStreamSplunkConfigurationArgs(\n hec_endpoint=\"https://http-inputs-mydomain.splunkcloud.com:443\",\n hec_token=\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n hec_acknowledgment_timeout=600,\n hec_endpoint_type=\"Event\",\n s3_backup_mode=\"FailedEventsOnly\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\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 testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"splunk\",\n SplunkConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSplunkConfigurationArgs\n {\n HecEndpoint = \"https://http-inputs-mydomain.splunkcloud.com:443\",\n HecToken = \"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n HecAcknowledgmentTimeout = 600,\n HecEndpointType = \"Event\",\n S3BackupMode = \"FailedEventsOnly\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"splunk\"),\n\t\t\tSplunkConfiguration: \u0026kinesis.FirehoseDeliveryStreamSplunkConfigurationArgs{\n\t\t\t\tHecEndpoint: pulumi.String(\"https://http-inputs-mydomain.splunkcloud.com:443\"),\n\t\t\t\tHecToken: pulumi.String(\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\"),\n\t\t\t\tHecAcknowledgmentTimeout: pulumi.Int(600),\n\t\t\t\tHecEndpointType: pulumi.String(\"Event\"),\n\t\t\t\tS3BackupMode: pulumi.String(\"FailedEventsOnly\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSplunkConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"splunk\")\n .splunkConfiguration(FirehoseDeliveryStreamSplunkConfigurationArgs.builder()\n .hecEndpoint(\"https://http-inputs-mydomain.splunkcloud.com:443\")\n .hecToken(\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\")\n .hecAcknowledgmentTimeout(600)\n .hecEndpointType(\"Event\")\n .s3BackupMode(\"FailedEventsOnly\")\n .s3Configuration(FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: splunk\n splunkConfiguration:\n hecEndpoint: https://http-inputs-mydomain.splunkcloud.com:443\n hecToken: 51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\n hecAcknowledgmentTimeout: 600\n hecEndpointType: Event\n s3BackupMode: FailedEventsOnly\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Endpoint (e.g., New Relic) Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"http_endpoint\",\n httpEndpointConfiguration: {\n url: \"https://aws-api.newrelic.com/firehose/v1\",\n name: \"New Relic\",\n accessKey: \"my-key\",\n bufferingSize: 15,\n bufferingInterval: 600,\n roleArn: firehose.arn,\n s3BackupMode: \"FailedDataOnly\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n requestConfiguration: {\n contentEncoding: \"GZIP\",\n commonAttributes: [\n {\n name: \"testname\",\n value: \"testvalue\",\n },\n {\n name: \"testname2\",\n value: \"testvalue2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"http_endpoint\",\n http_endpoint_configuration=aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationArgs(\n url=\"https://aws-api.newrelic.com/firehose/v1\",\n name=\"New Relic\",\n access_key=\"my-key\",\n buffering_size=15,\n buffering_interval=600,\n role_arn=firehose[\"arn\"],\n s3_backup_mode=\"FailedDataOnly\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n request_configuration=aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs(\n content_encoding=\"GZIP\",\n common_attributes=[\n aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs(\n name=\"testname\",\n value=\"testvalue\",\n ),\n aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs(\n name=\"testname2\",\n value=\"testvalue2\",\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"http_endpoint\",\n HttpEndpointConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationArgs\n {\n Url = \"https://aws-api.newrelic.com/firehose/v1\",\n Name = \"New Relic\",\n AccessKey = \"my-key\",\n BufferingSize = 15,\n BufferingInterval = 600,\n RoleArn = firehose.Arn,\n S3BackupMode = \"FailedDataOnly\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n RequestConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs\n {\n ContentEncoding = \"GZIP\",\n CommonAttributes = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs\n {\n Name = \"testname\",\n Value = \"testvalue\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs\n {\n Name = \"testname2\",\n Value = \"testvalue2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"http_endpoint\"),\n\t\t\tHttpEndpointConfiguration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationArgs{\n\t\t\t\tUrl: pulumi.String(\"https://aws-api.newrelic.com/firehose/v1\"),\n\t\t\t\tName: pulumi.String(\"New Relic\"),\n\t\t\t\tAccessKey: pulumi.String(\"my-key\"),\n\t\t\t\tBufferingSize: pulumi.Int(15),\n\t\t\t\tBufferingInterval: pulumi.Int(600),\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tS3BackupMode: pulumi.String(\"FailedDataOnly\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tRequestConfiguration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs{\n\t\t\t\t\tContentEncoding: pulumi.String(\"GZIP\"),\n\t\t\t\t\tCommonAttributes: kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"testname\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"testvalue\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"testname2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"testvalue2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"http_endpoint\")\n .httpEndpointConfiguration(FirehoseDeliveryStreamHttpEndpointConfigurationArgs.builder()\n .url(\"https://aws-api.newrelic.com/firehose/v1\")\n .name(\"New Relic\")\n .accessKey(\"my-key\")\n .bufferingSize(15)\n .bufferingInterval(600)\n .roleArn(firehose.arn())\n .s3BackupMode(\"FailedDataOnly\")\n .s3Configuration(FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .requestConfiguration(FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs.builder()\n .contentEncoding(\"GZIP\")\n .commonAttributes( \n FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs.builder()\n .name(\"testname\")\n .value(\"testvalue\")\n .build(),\n FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs.builder()\n .name(\"testname2\")\n .value(\"testvalue2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: http_endpoint\n httpEndpointConfiguration:\n url: https://aws-api.newrelic.com/firehose/v1\n name: New Relic\n accessKey: my-key\n bufferingSize: 15\n bufferingInterval: 600\n roleArn: ${firehose.arn}\n s3BackupMode: FailedDataOnly\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n requestConfiguration:\n contentEncoding: GZIP\n commonAttributes:\n - name: testname\n value: testvalue\n - name: testname2\n value: testvalue2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis Firehose Delivery streams using the stream ARN. For example:\n\n```sh\n$ pulumi import aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream foo arn:aws:firehose:us-east-1:XXX:deliverystream/example\n```\nNote: Import does not work for stream destination `s3`. Consider using `extended_s3` since `s3` destination is deprecated.\n\n", + "description": "Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 , Amazon Redshift and Snowflake.\n\nFor more details, see the [Amazon Kinesis Firehose Documentation](https://aws.amazon.com/documentation/firehose/).\n\n## Example Usage\n\n### Extended S3 Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst bucket = new aws.s3.BucketV2(\"bucket\", {bucket: \"tf-test-bucket\"});\nconst firehoseAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"firehose.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst firehoseRole = new aws.iam.Role(\"firehose_role\", {\n name: \"firehose_test_role\",\n assumeRolePolicy: firehoseAssumeRole.then(firehoseAssumeRole =\u003e firehoseAssumeRole.json),\n});\nconst lambdaAssumeRole = aws.iam.getPolicyDocument({\n statements: [{\n effect: \"Allow\",\n principals: [{\n type: \"Service\",\n identifiers: [\"lambda.amazonaws.com\"],\n }],\n actions: [\"sts:AssumeRole\"],\n }],\n});\nconst lambdaIam = new aws.iam.Role(\"lambda_iam\", {\n name: \"lambda_iam\",\n assumeRolePolicy: lambdaAssumeRole.then(lambdaAssumeRole =\u003e lambdaAssumeRole.json),\n});\nconst lambdaProcessor = new aws.lambda.Function(\"lambda_processor\", {\n code: new pulumi.asset.FileArchive(\"lambda.zip\"),\n name: \"firehose_lambda_processor\",\n role: lambdaIam.arn,\n handler: \"exports.handler\",\n runtime: aws.lambda.Runtime.NodeJS16dX,\n});\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: pulumi.interpolate`${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\nconst bucketAcl = new aws.s3.BucketAclV2(\"bucket_acl\", {\n bucket: bucket.id,\n acl: \"private\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nbucket = aws.s3.BucketV2(\"bucket\", bucket=\"tf-test-bucket\")\nfirehose_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"firehose.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nfirehose_role = aws.iam.Role(\"firehose_role\",\n name=\"firehose_test_role\",\n assume_role_policy=firehose_assume_role.json)\nlambda_assume_role = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"lambda.amazonaws.com\"],\n )],\n actions=[\"sts:AssumeRole\"],\n)])\nlambda_iam = aws.iam.Role(\"lambda_iam\",\n name=\"lambda_iam\",\n assume_role_policy=lambda_assume_role.json)\nlambda_processor = aws.lambda_.Function(\"lambda_processor\",\n code=pulumi.FileArchive(\"lambda.zip\"),\n name=\"firehose_lambda_processor\",\n role=lambda_iam.arn,\n handler=\"exports.handler\",\n runtime=aws.lambda_.Runtime.NODE_JS16D_X)\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_role.arn,\n bucket_arn=bucket.arn,\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=lambda_processor.arn.apply(lambda arn: f\"{arn}:$LATEST\"),\n )],\n )],\n ),\n ))\nbucket_acl = aws.s3.BucketAclV2(\"bucket_acl\",\n bucket=bucket.id,\n acl=\"private\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var bucket = new Aws.S3.BucketV2(\"bucket\", new()\n {\n Bucket = \"tf-test-bucket\",\n });\n\n var firehoseAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"firehose.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var firehoseRole = new Aws.Iam.Role(\"firehose_role\", new()\n {\n Name = \"firehose_test_role\",\n AssumeRolePolicy = firehoseAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaAssumeRole = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"lambda.amazonaws.com\",\n },\n },\n },\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n },\n },\n });\n\n var lambdaIam = new Aws.Iam.Role(\"lambda_iam\", new()\n {\n Name = \"lambda_iam\",\n AssumeRolePolicy = lambdaAssumeRole.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var lambdaProcessor = new Aws.Lambda.Function(\"lambda_processor\", new()\n {\n Code = new FileArchive(\"lambda.zip\"),\n Name = \"firehose_lambda_processor\",\n Role = lambdaIam.Arn,\n Handler = \"exports.handler\",\n Runtime = Aws.Lambda.Runtime.NodeJS16dX,\n });\n\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = lambdaProcessor.Arn.Apply(arn =\u003e $\"{arn}:$LATEST\"),\n },\n },\n },\n },\n },\n },\n });\n\n var bucketAcl = new Aws.S3.BucketAclV2(\"bucket_acl\", new()\n {\n Bucket = bucket.Id,\n Acl = \"private\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/lambda\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbucket, err := s3.NewBucketV2(ctx, \"bucket\", \u0026s3.BucketV2Args{\n\t\t\tBucket: pulumi.String(\"tf-test-bucket\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"firehose.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfirehoseRole, err := iam.NewRole(ctx, \"firehose_role\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"firehose_test_role\"),\n\t\t\tAssumeRolePolicy: pulumi.String(firehoseAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaAssumeRole, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"lambda.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaIam, err := iam.NewRole(ctx, \"lambda_iam\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"lambda_iam\"),\n\t\t\tAssumeRolePolicy: pulumi.String(lambdaAssumeRole.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tlambdaProcessor, err := lambda.NewFunction(ctx, \"lambda_processor\", \u0026lambda.FunctionArgs{\n\t\t\tCode: pulumi.NewFileArchive(\"lambda.zip\"),\n\t\t\tName: pulumi.String(\"firehose_lambda_processor\"),\n\t\t\tRole: lambdaIam.Arn,\n\t\t\tHandler: pulumi.String(\"exports.handler\"),\n\t\t\tRuntime: pulumi.String(lambda.RuntimeNodeJS16dX),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: firehoseRole.Arn,\n\t\t\t\tBucketArn: bucket.Arn,\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: lambdaProcessor.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v:$LATEST\", arn), nil\n\t\t\t\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = s3.NewBucketAclV2(ctx, \"bucket_acl\", \u0026s3.BucketAclV2Args{\n\t\t\tBucket: bucket.ID(),\n\t\t\tAcl: pulumi.String(\"private\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.s3.BucketV2;\nimport com.pulumi.aws.s3.BucketV2Args;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.lambda.Function;\nimport com.pulumi.aws.lambda.FunctionArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport com.pulumi.aws.s3.BucketAclV2;\nimport com.pulumi.aws.s3.BucketAclV2Args;\nimport com.pulumi.asset.FileArchive;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 bucket = new BucketV2(\"bucket\", BucketV2Args.builder() \n .bucket(\"tf-test-bucket\")\n .build());\n\n final var firehoseAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"firehose.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var firehoseRole = new Role(\"firehoseRole\", RoleArgs.builder() \n .name(\"firehose_test_role\")\n .assumeRolePolicy(firehoseAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n final var lambdaAssumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements(GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"lambda.amazonaws.com\")\n .build())\n .actions(\"sts:AssumeRole\")\n .build())\n .build());\n\n var lambdaIam = new Role(\"lambdaIam\", RoleArgs.builder() \n .name(\"lambda_iam\")\n .assumeRolePolicy(lambdaAssumeRole.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var lambdaProcessor = new Function(\"lambdaProcessor\", FunctionArgs.builder() \n .code(new FileArchive(\"lambda.zip\"))\n .name(\"firehose_lambda_processor\")\n .role(lambdaIam.arn())\n .handler(\"exports.handler\")\n .runtime(\"nodejs16.x\")\n .build());\n\n var extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(lambdaProcessor.arn().applyValue(arn -\u003e String.format(\"%s:$LATEST\", arn)))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n var bucketAcl = new BucketAclV2(\"bucketAcl\", BucketAclV2Args.builder() \n .bucket(bucket.id())\n .acl(\"private\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n bucket:\n type: aws:s3:BucketV2\n properties:\n bucket: tf-test-bucket\n bucketAcl:\n type: aws:s3:BucketAclV2\n name: bucket_acl\n properties:\n bucket: ${bucket.id}\n acl: private\n firehoseRole:\n type: aws:iam:Role\n name: firehose_role\n properties:\n name: firehose_test_role\n assumeRolePolicy: ${firehoseAssumeRole.json}\n lambdaIam:\n type: aws:iam:Role\n name: lambda_iam\n properties:\n name: lambda_iam\n assumeRolePolicy: ${lambdaAssumeRole.json}\n lambdaProcessor:\n type: aws:lambda:Function\n name: lambda_processor\n properties:\n code:\n fn::FileArchive: lambda.zip\n name: firehose_lambda_processor\n role: ${lambdaIam.arn}\n handler: exports.handler\n runtime: nodejs16.x\nvariables:\n firehoseAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - firehose.amazonaws.com\n actions:\n - sts:AssumeRole\n lambdaAssumeRole:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n principals:\n - type: Service\n identifiers:\n - lambda.amazonaws.com\n actions:\n - sts:AssumeRole\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Extended S3 Destination with dynamic partitioning\n\nThese examples use built-in Firehose functionality, rather than requiring a lambda.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 64,\n dynamicPartitioningConfiguration: {\n enabled: true,\n },\n prefix: \"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n errorOutputPrefix: \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processingConfiguration: {\n enabled: true,\n processors: [\n {\n type: \"RecordDeAggregation\",\n parameters: [{\n parameterName: \"SubRecordType\",\n parameterValue: \"JSON\",\n }],\n },\n {\n type: \"AppendDelimiterToRecord\",\n },\n {\n type: \"MetadataExtraction\",\n parameters: [\n {\n parameterName: \"JsonParsingEngine\",\n parameterValue: \"JQ-1.6\",\n },\n {\n parameterName: \"MetadataExtractionQuery\",\n parameterValue: \"{customer_id:.customer_id}\",\n },\n ],\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=64,\n dynamic_partitioning_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs(\n enabled=True,\n ),\n prefix=\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n error_output_prefix=\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"RecordDeAggregation\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"SubRecordType\",\n parameter_value=\"JSON\",\n )],\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"AppendDelimiterToRecord\",\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"MetadataExtraction\",\n parameters=[\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"JsonParsingEngine\",\n parameter_value=\"JQ-1.6\",\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"MetadataExtractionQuery\",\n parameter_value=\"{customer_id:.customer_id}\",\n ),\n ],\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 64,\n DynamicPartitioningConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs\n {\n Enabled = true,\n },\n Prefix = \"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n ErrorOutputPrefix = \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"RecordDeAggregation\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"SubRecordType\",\n ParameterValue = \"JSON\",\n },\n },\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"AppendDelimiterToRecord\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"MetadataExtraction\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"JsonParsingEngine\",\n ParameterValue = \"JQ-1.6\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"MetadataExtractionQuery\",\n ParameterValue = \"{customer_id:.customer_id}\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\tBufferingSize: pulumi.Int(64),\n\t\t\t\tDynamicPartitioningConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tPrefix: pulumi.String(\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\"),\n\t\t\t\tErrorOutputPrefix: pulumi.String(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\"),\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"RecordDeAggregation\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"SubRecordType\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JSON\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"AppendDelimiterToRecord\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"MetadataExtraction\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"JsonParsingEngine\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JQ-1.6\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"MetadataExtractionQuery\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"{customer_id:.customer_id}\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(64)\n .dynamicPartitioningConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs.builder()\n .enabled(\"true\")\n .build())\n .prefix(\"data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\")\n .errorOutputPrefix(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\")\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"RecordDeAggregation\")\n .parameters(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"SubRecordType\")\n .parameterValue(\"JSON\")\n .build())\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"AppendDelimiterToRecord\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"MetadataExtraction\")\n .parameters( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"JsonParsingEngine\")\n .parameterValue(\"JQ-1.6\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"MetadataExtractionQuery\")\n .parameterValue(\"{customer_id:.customer_id}\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 64\n dynamicPartitioningConfiguration:\n enabled: 'true'\n prefix: data/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\n errorOutputPrefix: errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: RecordDeAggregation\n parameters:\n - parameterName: SubRecordType\n parameterValue: JSON\n - type: AppendDelimiterToRecord\n - type: MetadataExtraction\n parameters:\n - parameterName: JsonParsingEngine\n parameterValue: JQ-1.6\n - parameterName: MetadataExtractionQuery\n parameterValue: '{customer_id:.customer_id}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nMultiple Dynamic Partitioning Keys (maximum of 50) can be added by comma separating the `parameter_value`.\n\nThe following example adds the Dynamic Partitioning Keys: `store_id` and `customer_id` to the S3 prefix.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst extendedS3Stream = new aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", {\n name: \"kinesis-firehose-extended-s3-test-stream\",\n destination: \"extended_s3\",\n extendedS3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 64,\n dynamicPartitioningConfiguration: {\n enabled: true,\n },\n prefix: \"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n errorOutputPrefix: \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"MetadataExtraction\",\n parameters: [\n {\n parameterName: \"JsonParsingEngine\",\n parameterValue: \"JQ-1.6\",\n },\n {\n parameterName: \"MetadataExtractionQuery\",\n parameterValue: \"{store_id:.store_id,customer_id:.customer_id}\",\n },\n ],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nextended_s3_stream = aws.kinesis.FirehoseDeliveryStream(\"extended_s3_stream\",\n name=\"kinesis-firehose-extended-s3-test-stream\",\n destination=\"extended_s3\",\n extended_s3_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=64,\n dynamic_partitioning_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs(\n enabled=True,\n ),\n prefix=\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n error_output_prefix=\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs(\n type=\"MetadataExtraction\",\n parameters=[\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"JsonParsingEngine\",\n parameter_value=\"JQ-1.6\",\n ),\n aws.kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"MetadataExtractionQuery\",\n parameter_value=\"{store_id:.store_id,customer_id:.customer_id}\",\n ),\n ],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var extendedS3Stream = new Aws.Kinesis.FirehoseDeliveryStream(\"extended_s3_stream\", new()\n {\n Name = \"kinesis-firehose-extended-s3-test-stream\",\n Destination = \"extended_s3\",\n ExtendedS3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 64,\n DynamicPartitioningConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs\n {\n Enabled = true,\n },\n Prefix = \"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\",\n ErrorOutputPrefix = \"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\",\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"MetadataExtraction\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"JsonParsingEngine\",\n ParameterValue = \"JQ-1.6\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"MetadataExtractionQuery\",\n ParameterValue = \"{store_id:.store_id,customer_id:.customer_id}\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"extended_s3_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-extended-s3-test-stream\"),\n\t\t\tDestination: pulumi.String(\"extended_s3\"),\n\t\t\tExtendedS3Configuration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\tBufferingSize: pulumi.Int(64),\n\t\t\t\tDynamicPartitioningConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tPrefix: pulumi.String(\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\"),\n\t\t\t\tErrorOutputPrefix: pulumi.String(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\"),\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"MetadataExtraction\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"JsonParsingEngine\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"JQ-1.6\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"MetadataExtractionQuery\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(\"{store_id:.store_id,customer_id:.customer_id}\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 extendedS3Stream = new FirehoseDeliveryStream(\"extendedS3Stream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-extended-s3-test-stream\")\n .destination(\"extended_s3\")\n .extendedS3Configuration(FirehoseDeliveryStreamExtendedS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(64)\n .dynamicPartitioningConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationDynamicPartitioningConfigurationArgs.builder()\n .enabled(\"true\")\n .build())\n .prefix(\"data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\")\n .errorOutputPrefix(\"errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\")\n .processingConfiguration(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"MetadataExtraction\")\n .parameters( \n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"JsonParsingEngine\")\n .parameterValue(\"JQ-1.6\")\n .build(),\n FirehoseDeliveryStreamExtendedS3ConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"MetadataExtractionQuery\")\n .parameterValue(\"{store_id:.store_id,customer_id:.customer_id}\")\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n extendedS3Stream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: extended_s3_stream\n properties:\n name: kinesis-firehose-extended-s3-test-stream\n destination: extended_s3\n extendedS3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 64\n dynamicPartitioningConfiguration:\n enabled: 'true'\n prefix: data/store_id=!{partitionKeyFromQuery:store_id}/customer_id=!{partitionKeyFromQuery:customer_id}/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/\n errorOutputPrefix: errors/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/!{firehose:error-output-type}/\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: MetadataExtraction\n parameters:\n - parameterName: JsonParsingEngine\n parameterValue: JQ-1.6\n - parameterName: MetadataExtractionQuery\n parameterValue: '{store_id:.store_id,customer_id:.customer_id}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Redshift Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.redshift.Cluster(\"test_cluster\", {\n clusterIdentifier: \"tf-redshift-cluster\",\n databaseName: \"test\",\n masterUsername: \"testuser\",\n masterPassword: \"T3stPass\",\n nodeType: \"dc1.large\",\n clusterType: \"single-node\",\n});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"redshift\",\n redshiftConfiguration: {\n roleArn: firehoseRole.arn,\n clusterJdbcurl: pulumi.interpolate`jdbc:redshift://${testCluster.endpoint}/${testCluster.databaseName}`,\n username: \"testuser\",\n password: \"T3stPass\",\n dataTableName: \"test-table\",\n copyOptions: \"delimiter '|'\",\n dataTableColumns: \"test-col\",\n s3BackupMode: \"Enabled\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n s3BackupConfiguration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 15,\n bufferingInterval: 300,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.redshift.Cluster(\"test_cluster\",\n cluster_identifier=\"tf-redshift-cluster\",\n database_name=\"test\",\n master_username=\"testuser\",\n master_password=\"T3stPass\",\n node_type=\"dc1.large\",\n cluster_type=\"single-node\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"redshift\",\n redshift_configuration=aws.kinesis.FirehoseDeliveryStreamRedshiftConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n cluster_jdbcurl=pulumi.Output.all(test_cluster.endpoint, test_cluster.database_name).apply(lambda endpoint, database_name: f\"jdbc:redshift://{endpoint}/{database_name}\"),\n username=\"testuser\",\n password=\"T3stPass\",\n data_table_name=\"test-table\",\n copy_options=\"delimiter '|'\",\n data_table_columns=\"test-col\",\n s3_backup_mode=\"Enabled\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n s3_backup_configuration=aws.kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=15,\n buffering_interval=300,\n compression_format=\"GZIP\",\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 testCluster = new Aws.RedShift.Cluster(\"test_cluster\", new()\n {\n ClusterIdentifier = \"tf-redshift-cluster\",\n DatabaseName = \"test\",\n MasterUsername = \"testuser\",\n MasterPassword = \"T3stPass\",\n NodeType = \"dc1.large\",\n ClusterType = \"single-node\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"redshift\",\n RedshiftConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n ClusterJdbcurl = Output.Tuple(testCluster.Endpoint, testCluster.DatabaseName).Apply(values =\u003e\n {\n var endpoint = values.Item1;\n var databaseName = values.Item2;\n return $\"jdbc:redshift://{endpoint}/{databaseName}\";\n }),\n Username = \"testuser\",\n Password = \"T3stPass\",\n DataTableName = \"test-table\",\n CopyOptions = \"delimiter '|'\",\n DataTableColumns = \"test-col\",\n S3BackupMode = \"Enabled\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n S3BackupConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 15,\n BufferingInterval = 300,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshift\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := redshift.NewCluster(ctx, \"test_cluster\", \u0026redshift.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"tf-redshift-cluster\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tMasterUsername: pulumi.String(\"testuser\"),\n\t\t\tMasterPassword: pulumi.String(\"T3stPass\"),\n\t\t\tNodeType: pulumi.String(\"dc1.large\"),\n\t\t\tClusterType: pulumi.String(\"single-node\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"redshift\"),\n\t\t\tRedshiftConfiguration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationArgs{\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tClusterJdbcurl: pulumi.All(testCluster.Endpoint, testCluster.DatabaseName).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\t\tendpoint := _args[0].(string)\n\t\t\t\t\tdatabaseName := _args[1].(string)\n\t\t\t\t\treturn fmt.Sprintf(\"jdbc:redshift://%v/%v\", endpoint, databaseName), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tUsername: pulumi.String(\"testuser\"),\n\t\t\t\tPassword: pulumi.String(\"T3stPass\"),\n\t\t\t\tDataTableName: pulumi.String(\"test-table\"),\n\t\t\t\tCopyOptions: pulumi.String(\"delimiter '|'\"),\n\t\t\t\tDataTableColumns: pulumi.String(\"test-col\"),\n\t\t\t\tS3BackupMode: pulumi.String(\"Enabled\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tS3BackupConfiguration: \u0026kinesis.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(15),\n\t\t\t\t\tBufferingInterval: pulumi.Int(300),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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.redshift.Cluster;\nimport com.pulumi.aws.redshift.ClusterArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCluster = new Cluster(\"testCluster\", ClusterArgs.builder() \n .clusterIdentifier(\"tf-redshift-cluster\")\n .databaseName(\"test\")\n .masterUsername(\"testuser\")\n .masterPassword(\"T3stPass\")\n .nodeType(\"dc1.large\")\n .clusterType(\"single-node\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"redshift\")\n .redshiftConfiguration(FirehoseDeliveryStreamRedshiftConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .clusterJdbcurl(Output.tuple(testCluster.endpoint(), testCluster.databaseName()).applyValue(values -\u003e {\n var endpoint = values.t1;\n var databaseName = values.t2;\n return String.format(\"jdbc:redshift://%s/%s\", endpoint,databaseName);\n }))\n .username(\"testuser\")\n .password(\"T3stPass\")\n .dataTableName(\"test-table\")\n .copyOptions(\"delimiter '|'\")\n .dataTableColumns(\"test-col\")\n .s3BackupMode(\"Enabled\")\n .s3Configuration(FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .s3BackupConfiguration(FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(15)\n .bufferingInterval(300)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:redshift:Cluster\n name: test_cluster\n properties:\n clusterIdentifier: tf-redshift-cluster\n databaseName: test\n masterUsername: testuser\n masterPassword: T3stPass\n nodeType: dc1.large\n clusterType: single-node\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: redshift\n redshiftConfiguration:\n roleArn: ${firehoseRole.arn}\n clusterJdbcurl: jdbc:redshift://${testCluster.endpoint}/${testCluster.databaseName}\n username: testuser\n password: T3stPass\n dataTableName: test-table\n copyOptions: delimiter '|'\n dataTableColumns: test-col\n s3BackupMode: Enabled\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n s3BackupConfiguration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 15\n bufferingInterval: 300\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticsearch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.elasticsearch.Domain(\"test_cluster\", {domainName: \"firehose-es-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"elasticsearch\",\n elasticsearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n typeName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.elasticsearch.Domain(\"test_cluster\", domain_name=\"firehose-es-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"elasticsearch\",\n elasticsearch_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose_role[\"arn\"],\n index_name=\"test\",\n type_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=f\"{lambda_processor['arn']}:$LATEST\",\n )],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.ElasticSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"firehose-es-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"elasticsearch\",\n ElasticsearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n TypeName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := elasticsearch.NewDomain(ctx, \"test_cluster\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"firehose-es-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"elasticsearch\"),\n\t\t\tElasticsearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tTypeName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(fmt.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn)),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCluster = new Domain(\"testCluster\", DomainArgs.builder() \n .domainName(\"firehose-es-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"elasticsearch\")\n .elasticsearchConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .typeName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamElasticsearchConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:elasticsearch:Domain\n name: test_cluster\n properties:\n domainName: firehose-es-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: elasticsearch\n elasticsearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehoseRole.arn}\n indexName: test\n typeName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Elasticsearch Destination With VPC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.elasticsearch.Domain(\"test_cluster\", {\n domainName: \"es-test\",\n clusterConfig: {\n instanceCount: 2,\n zoneAwarenessEnabled: true,\n instanceType: \"t2.small.elasticsearch\",\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n vpcOptions: {\n securityGroupIds: [first.id],\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n },\n});\nconst firehose-elasticsearch = aws.iam.getPolicyDocumentOutput({\n statements: [\n {\n effect: \"Allow\",\n actions: [\"es:*\"],\n resources: [\n testCluster.arn,\n pulumi.interpolate`${testCluster.arn}/*`,\n ],\n },\n {\n effect: \"Allow\",\n actions: [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n ],\n resources: [\"*\"],\n },\n ],\n});\nconst firehose_elasticsearchRolePolicy = new aws.iam.RolePolicy(\"firehose-elasticsearch\", {\n name: \"elasticsearch\",\n role: firehose.id,\n policy: firehose_elasticsearch.apply(firehose_elasticsearch =\u003e firehose_elasticsearch.json),\n});\nconst test = new aws.kinesis.FirehoseDeliveryStream(\"test\", {\n name: \"kinesis-firehose-es\",\n destination: \"elasticsearch\",\n elasticsearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehose.arn,\n indexName: \"test\",\n typeName: \"test\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n },\n vpcConfig: {\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n securityGroupIds: [first.id],\n roleArn: firehose.arn,\n },\n },\n}, {\n dependsOn: [firehose_elasticsearchRolePolicy],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.elasticsearch.Domain(\"test_cluster\",\n domain_name=\"es-test\",\n cluster_config=aws.elasticsearch.DomainClusterConfigArgs(\n instance_count=2,\n zone_awareness_enabled=True,\n instance_type=\"t2.small.elasticsearch\",\n ),\n ebs_options=aws.elasticsearch.DomainEbsOptionsArgs(\n ebs_enabled=True,\n volume_size=10,\n ),\n vpc_options=aws.elasticsearch.DomainVpcOptionsArgs(\n security_group_ids=[first[\"id\"]],\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n ))\nfirehose_elasticsearch = aws.iam.get_policy_document_output(statements=[\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\"es:*\"],\n resources=[\n test_cluster.arn,\n test_cluster.arn.apply(lambda arn: f\"{arn}/*\"),\n ],\n ),\n aws.iam.GetPolicyDocumentStatementArgs(\n effect=\"Allow\",\n actions=[\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n ],\n resources=[\"*\"],\n ),\n])\nfirehose_elasticsearch_role_policy = aws.iam.RolePolicy(\"firehose-elasticsearch\",\n name=\"elasticsearch\",\n role=firehose[\"id\"],\n policy=firehose_elasticsearch.json)\ntest = aws.kinesis.FirehoseDeliveryStream(\"test\",\n name=\"kinesis-firehose-es\",\n destination=\"elasticsearch\",\n elasticsearch_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose[\"arn\"],\n index_name=\"test\",\n type_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n ),\n vpc_config=aws.kinesis.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs(\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n security_group_ids=[first[\"id\"]],\n role_arn=firehose[\"arn\"],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[firehose_elasticsearch_role_policy]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.ElasticSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"es-test\",\n ClusterConfig = new Aws.ElasticSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceCount = 2,\n ZoneAwarenessEnabled = true,\n InstanceType = \"t2.small.elasticsearch\",\n },\n EbsOptions = new Aws.ElasticSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n VpcOptions = new Aws.ElasticSearch.Inputs.DomainVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n },\n });\n\n var firehose_elasticsearch = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"es:*\",\n },\n Resources = new[]\n {\n testCluster.Arn,\n $\"{testCluster.Arn}/*\",\n },\n },\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Effect = \"Allow\",\n Actions = new[]\n {\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\",\n },\n Resources = new[]\n {\n \"*\",\n },\n },\n },\n });\n\n var firehose_elasticsearchRolePolicy = new Aws.Iam.RolePolicy(\"firehose-elasticsearch\", new()\n {\n Name = \"elasticsearch\",\n Role = firehose.Id,\n Policy = firehose_elasticsearch.Apply(firehose_elasticsearch =\u003e firehose_elasticsearch.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json)),\n });\n\n var test = new Aws.Kinesis.FirehoseDeliveryStream(\"test\", new()\n {\n Name = \"kinesis-firehose-es\",\n Destination = \"elasticsearch\",\n ElasticsearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehose.Arn,\n IndexName = \"test\",\n TypeName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n },\n VpcConfig = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs\n {\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n RoleArn = firehose.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n firehose_elasticsearchRolePolicy,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/elasticsearch\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := elasticsearch.NewDomain(ctx, \"test_cluster\", \u0026elasticsearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"es-test\"),\n\t\t\tClusterConfig: \u0026elasticsearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceCount: pulumi.Int(2),\n\t\t\t\tZoneAwarenessEnabled: pulumi.Bool(true),\n\t\t\t\tInstanceType: pulumi.String(\"t2.small.elasticsearch\"),\n\t\t\t},\n\t\t\tEbsOptions: \u0026elasticsearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t\tVpcOptions: \u0026elasticsearch.DomainVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tfirst.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\tsecond.Id,\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\tfirehose_elasticsearch := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{\n\t\t\tStatements: iam.GetPolicyDocumentStatementArray{\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"es:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\ttestCluster.Arn,\n\t\t\t\t\t\ttestCluster.Arn.ApplyT(func(arn string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"%v/*\", arn), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026iam.GetPolicyDocumentStatementArgs{\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeVpcs\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeVpcAttribute\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeSubnets\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeSecurityGroups\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DescribeNetworkInterfaces\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:CreateNetworkInterface\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:CreateNetworkInterfacePermission\"),\n\t\t\t\t\t\tpulumi.String(\"ec2:DeleteNetworkInterface\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = iam.NewRolePolicy(ctx, \"firehose-elasticsearch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"elasticsearch\"),\n\t\t\tRole: pulumi.Any(firehose.Id),\n\t\t\tPolicy: firehose_elasticsearch.ApplyT(func(firehose_elasticsearch iam.GetPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026firehose_elasticsearch.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-es\"),\n\t\t\tDestination: pulumi.String(\"elasticsearch\"),\n\t\t\tElasticsearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tTypeName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t},\n\t\t\t\tVpcConfig: \u0026kinesis.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs{\n\t\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\t\tsecond.Id,\n\t\t\t\t\t},\n\t\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\t\tfirst.Id,\n\t\t\t\t\t},\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfirehose_elasticsearchRolePolicy,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.elasticsearch.Domain;\nimport com.pulumi.aws.elasticsearch.DomainArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.elasticsearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs;\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 testCluster = new Domain(\"testCluster\", DomainArgs.builder() \n .domainName(\"es-test\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceCount(2)\n .zoneAwarenessEnabled(true)\n .instanceType(\"t2.small.elasticsearch\")\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .securityGroupIds(first.id())\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .build())\n .build());\n\n final var firehose-elasticsearch = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()\n .statements( \n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions(\"es:*\")\n .resources( \n testCluster.arn(),\n testCluster.arn().applyValue(arn -\u003e String.format(\"%s/*\", arn)))\n .build(),\n GetPolicyDocumentStatementArgs.builder()\n .effect(\"Allow\")\n .actions( \n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\")\n .resources(\"*\")\n .build())\n .build());\n\n var firehose_elasticsearchRolePolicy = new RolePolicy(\"firehose-elasticsearchRolePolicy\", RolePolicyArgs.builder() \n .name(\"elasticsearch\")\n .role(firehose.id())\n .policy(firehose_elasticsearch.applyValue(firehose_elasticsearch -\u003e firehose_elasticsearch.json()))\n .build());\n\n var test = new FirehoseDeliveryStream(\"test\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-es\")\n .destination(\"elasticsearch\")\n .elasticsearchConfiguration(FirehoseDeliveryStreamElasticsearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehose.arn())\n .indexName(\"test\")\n .typeName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamElasticsearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .build())\n .vpcConfig(FirehoseDeliveryStreamElasticsearchConfigurationVpcConfigArgs.builder()\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .securityGroupIds(first.id())\n .roleArn(firehose.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(firehose_elasticsearchRolePolicy)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:elasticsearch:Domain\n name: test_cluster\n properties:\n domainName: es-test\n clusterConfig:\n instanceCount: 2\n zoneAwarenessEnabled: true\n instanceType: t2.small.elasticsearch\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n vpcOptions:\n securityGroupIds:\n - ${first.id}\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n firehose-elasticsearchRolePolicy:\n type: aws:iam:RolePolicy\n name: firehose-elasticsearch\n properties:\n name: elasticsearch\n role: ${firehose.id}\n policy: ${[\"firehose-elasticsearch\"].json}\n test:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: kinesis-firehose-es\n destination: elasticsearch\n elasticsearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehose.arn}\n indexName: test\n typeName: test\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n vpcConfig:\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n securityGroupIds:\n - ${first.id}\n roleArn: ${firehose.arn}\n options:\n dependson:\n - ${[\"firehose-elasticsearchRolePolicy\"]}\nvariables:\n firehose-elasticsearch:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - effect: Allow\n actions:\n - es:*\n resources:\n - ${testCluster.arn}\n - ${testCluster.arn}/*\n - effect: Allow\n actions:\n - ec2:DescribeVpcs\n - ec2:DescribeVpcAttribute\n - ec2:DescribeSubnets\n - ec2:DescribeSecurityGroups\n - ec2:DescribeNetworkInterfaces\n - ec2:CreateNetworkInterface\n - ec2:CreateNetworkInterfacePermission\n - ec2:DeleteNetworkInterface\n resources:\n - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.opensearch.Domain(\"test_cluster\", {domainName: \"firehose-os-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"opensearch\",\n opensearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.opensearch.Domain(\"test_cluster\", domain_name=\"firehose-os-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"opensearch\",\n opensearch_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose_role[\"arn\"],\n index_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=f\"{lambda_processor['arn']}:$LATEST\",\n )],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.OpenSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"firehose-os-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"opensearch\",\n OpensearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := opensearch.NewDomain(ctx, \"test_cluster\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"firehose-os-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"opensearch\"),\n\t\t\tOpensearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(fmt.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn)),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCluster = new Domain(\"testCluster\", DomainArgs.builder() \n .domainName(\"firehose-os-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"opensearch\")\n .opensearchConfiguration(FirehoseDeliveryStreamOpensearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamOpensearchConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:opensearch:Domain\n name: test_cluster\n properties:\n domainName: firehose-os-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: opensearch\n opensearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehoseRole.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Destination With VPC\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCluster = new aws.opensearch.Domain(\"test_cluster\", {\n domainName: \"es-test\",\n clusterConfig: {\n instanceCount: 2,\n zoneAwarenessEnabled: true,\n instanceType: \"m4.large.search\",\n },\n ebsOptions: {\n ebsEnabled: true,\n volumeSize: 10,\n },\n vpcOptions: {\n securityGroupIds: [first.id],\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n },\n});\nconst firehose_opensearch = new aws.iam.RolePolicy(\"firehose-opensearch\", {\n name: \"opensearch\",\n role: firehose.id,\n policy: pulumi.interpolate`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"${testCluster.arn}\",\n \"${testCluster.arn}/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n`,\n});\nconst test = new aws.kinesis.FirehoseDeliveryStream(\"test\", {\n name: \"pulumi-kinesis-firehose-os\",\n destination: \"opensearch\",\n opensearchConfiguration: {\n domainArn: testCluster.arn,\n roleArn: firehose.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n },\n vpcConfig: {\n subnetIds: [\n firstAwsSubnet.id,\n second.id,\n ],\n securityGroupIds: [first.id],\n roleArn: firehose.arn,\n },\n },\n}, {\n dependsOn: [firehose_opensearch],\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_cluster = aws.opensearch.Domain(\"test_cluster\",\n domain_name=\"es-test\",\n cluster_config=aws.opensearch.DomainClusterConfigArgs(\n instance_count=2,\n zone_awareness_enabled=True,\n instance_type=\"m4.large.search\",\n ),\n ebs_options=aws.opensearch.DomainEbsOptionsArgs(\n ebs_enabled=True,\n volume_size=10,\n ),\n vpc_options=aws.opensearch.DomainVpcOptionsArgs(\n security_group_ids=[first[\"id\"]],\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n ))\nfirehose_opensearch = aws.iam.RolePolicy(\"firehose-opensearch\",\n name=\"opensearch\",\n role=firehose[\"id\"],\n policy=pulumi.Output.all(test_cluster.arn, test_cluster.arn).apply(lambda testClusterArn, testClusterArn1: f\"\"\"{{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"{test_cluster_arn}\",\n \"{test_cluster_arn1}/*\"\n ]\n }},\n {{\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }}\n ]\n}}\n\"\"\"))\ntest = aws.kinesis.FirehoseDeliveryStream(\"test\",\n name=\"pulumi-kinesis-firehose-os\",\n destination=\"opensearch\",\n opensearch_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs(\n domain_arn=test_cluster.arn,\n role_arn=firehose[\"arn\"],\n index_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n ),\n vpc_config=aws.kinesis.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs(\n subnet_ids=[\n first_aws_subnet[\"id\"],\n second[\"id\"],\n ],\n security_group_ids=[first[\"id\"]],\n role_arn=firehose[\"arn\"],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[firehose_opensearch]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCluster = new Aws.OpenSearch.Domain(\"test_cluster\", new()\n {\n DomainName = \"es-test\",\n ClusterConfig = new Aws.OpenSearch.Inputs.DomainClusterConfigArgs\n {\n InstanceCount = 2,\n ZoneAwarenessEnabled = true,\n InstanceType = \"m4.large.search\",\n },\n EbsOptions = new Aws.OpenSearch.Inputs.DomainEbsOptionsArgs\n {\n EbsEnabled = true,\n VolumeSize = 10,\n },\n VpcOptions = new Aws.OpenSearch.Inputs.DomainVpcOptionsArgs\n {\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n },\n });\n\n var firehose_opensearch = new Aws.Iam.RolePolicy(\"firehose-opensearch\", new()\n {\n Name = \"opensearch\",\n Role = firehose.Id,\n Policy = Output.Tuple(testCluster.Arn, testCluster.Arn).Apply(values =\u003e\n {\n var testClusterArn = values.Item1;\n var testClusterArn1 = values.Item2;\n return @$\"{{\n \"\"Version\"\": \"\"2012-10-17\"\",\n \"\"Statement\"\": [\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"es:*\"\"\n ],\n \"\"Resource\"\": [\n \"\"{testClusterArn}\"\",\n \"\"{testClusterArn1}/*\"\"\n ]\n }},\n {{\n \"\"Effect\"\": \"\"Allow\"\",\n \"\"Action\"\": [\n \"\"ec2:DescribeVpcs\"\",\n \"\"ec2:DescribeVpcAttribute\"\",\n \"\"ec2:DescribeSubnets\"\",\n \"\"ec2:DescribeSecurityGroups\"\",\n \"\"ec2:DescribeNetworkInterfaces\"\",\n \"\"ec2:CreateNetworkInterface\"\",\n \"\"ec2:CreateNetworkInterfacePermission\"\",\n \"\"ec2:DeleteNetworkInterface\"\"\n ],\n \"\"Resource\"\": [\n \"\"*\"\"\n ]\n }}\n ]\n}}\n\";\n }),\n });\n\n var test = new Aws.Kinesis.FirehoseDeliveryStream(\"test\", new()\n {\n Name = \"pulumi-kinesis-firehose-os\",\n Destination = \"opensearch\",\n OpensearchConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs\n {\n DomainArn = testCluster.Arn,\n RoleArn = firehose.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n },\n VpcConfig = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs\n {\n SubnetIds = new[]\n {\n firstAwsSubnet.Id,\n second.Id,\n },\n SecurityGroupIds = new[]\n {\n first.Id,\n },\n RoleArn = firehose.Arn,\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn =\n {\n firehose_opensearch,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCluster, err := opensearch.NewDomain(ctx, \"test_cluster\", \u0026opensearch.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"es-test\"),\n\t\t\tClusterConfig: \u0026opensearch.DomainClusterConfigArgs{\n\t\t\t\tInstanceCount: pulumi.Int(2),\n\t\t\t\tZoneAwarenessEnabled: pulumi.Bool(true),\n\t\t\t\tInstanceType: pulumi.String(\"m4.large.search\"),\n\t\t\t},\n\t\t\tEbsOptions: \u0026opensearch.DomainEbsOptionsArgs{\n\t\t\t\tEbsEnabled: pulumi.Bool(true),\n\t\t\t\tVolumeSize: pulumi.Int(10),\n\t\t\t},\n\t\t\tVpcOptions: \u0026opensearch.DomainVpcOptionsArgs{\n\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\tfirst.Id,\n\t\t\t\t},\n\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\tsecond.Id,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = iam.NewRolePolicy(ctx, \"firehose-opensearch\", \u0026iam.RolePolicyArgs{\n\t\t\tName: pulumi.String(\"opensearch\"),\n\t\t\tRole: pulumi.Any(firehose.Id),\n\t\t\tPolicy: pulumi.All(testCluster.Arn, testCluster.Arn).ApplyT(func(_args []interface{}) (string, error) {\n\t\t\t\ttestClusterArn := _args[0].(string)\n\t\t\t\ttestClusterArn1 := _args[1].(string)\n\t\t\t\treturn fmt.Sprintf(`{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"%v\",\n \"%v/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n`, testClusterArn, testClusterArn1), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"pulumi-kinesis-firehose-os\"),\n\t\t\tDestination: pulumi.String(\"opensearch\"),\n\t\t\tOpensearchConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationArgs{\n\t\t\t\tDomainArn: testCluster.Arn,\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t},\n\t\t\t\tVpcConfig: \u0026kinesis.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs{\n\t\t\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\t\t\tfirstAwsSubnet.Id,\n\t\t\t\t\t\tsecond.Id,\n\t\t\t\t\t},\n\t\t\t\t\tSecurityGroupIds: pulumi.StringArray{\n\t\t\t\t\t\tfirst.Id,\n\t\t\t\t\t},\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tfirehose_opensearch,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.Domain;\nimport com.pulumi.aws.opensearch.DomainArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainClusterConfigArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainEbsOptionsArgs;\nimport com.pulumi.aws.opensearch.inputs.DomainVpcOptionsArgs;\nimport com.pulumi.aws.iam.RolePolicy;\nimport com.pulumi.aws.iam.RolePolicyArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs;\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 testCluster = new Domain(\"testCluster\", DomainArgs.builder() \n .domainName(\"es-test\")\n .clusterConfig(DomainClusterConfigArgs.builder()\n .instanceCount(2)\n .zoneAwarenessEnabled(true)\n .instanceType(\"m4.large.search\")\n .build())\n .ebsOptions(DomainEbsOptionsArgs.builder()\n .ebsEnabled(true)\n .volumeSize(10)\n .build())\n .vpcOptions(DomainVpcOptionsArgs.builder()\n .securityGroupIds(first.id())\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .build())\n .build());\n\n var firehose_opensearch = new RolePolicy(\"firehose-opensearch\", RolePolicyArgs.builder() \n .name(\"opensearch\")\n .role(firehose.id())\n .policy(Output.tuple(testCluster.arn(), testCluster.arn()).applyValue(values -\u003e {\n var testClusterArn = values.t1;\n var testClusterArn1 = values.t2;\n return \"\"\"\n{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"%s\",\n \"%s/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n}\n\", testClusterArn,testClusterArn1);\n }))\n .build());\n\n var test = new FirehoseDeliveryStream(\"test\", FirehoseDeliveryStreamArgs.builder() \n .name(\"pulumi-kinesis-firehose-os\")\n .destination(\"opensearch\")\n .opensearchConfiguration(FirehoseDeliveryStreamOpensearchConfigurationArgs.builder()\n .domainArn(testCluster.arn())\n .roleArn(firehose.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .build())\n .vpcConfig(FirehoseDeliveryStreamOpensearchConfigurationVpcConfigArgs.builder()\n .subnetIds( \n firstAwsSubnet.id(),\n second.id())\n .securityGroupIds(first.id())\n .roleArn(firehose.arn())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(firehose_opensearch)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCluster:\n type: aws:opensearch:Domain\n name: test_cluster\n properties:\n domainName: es-test\n clusterConfig:\n instanceCount: 2\n zoneAwarenessEnabled: true\n instanceType: m4.large.search\n ebsOptions:\n ebsEnabled: true\n volumeSize: 10\n vpcOptions:\n securityGroupIds:\n - ${first.id}\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n firehose-opensearch:\n type: aws:iam:RolePolicy\n properties:\n name: opensearch\n role: ${firehose.id}\n policy: |\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"es:*\"\n ],\n \"Resource\": [\n \"${testCluster.arn}\",\n \"${testCluster.arn}/*\"\n ]\n },\n {\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:DescribeVpcs\",\n \"ec2:DescribeVpcAttribute\",\n \"ec2:DescribeSubnets\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeNetworkInterfaces\",\n \"ec2:CreateNetworkInterface\",\n \"ec2:CreateNetworkInterfacePermission\",\n \"ec2:DeleteNetworkInterface\"\n ],\n \"Resource\": [\n \"*\"\n ]\n }\n ]\n }\n test:\n type: aws:kinesis:FirehoseDeliveryStream\n properties:\n name: pulumi-kinesis-firehose-os\n destination: opensearch\n opensearchConfiguration:\n domainArn: ${testCluster.arn}\n roleArn: ${firehose.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n vpcConfig:\n subnetIds:\n - ${firstAwsSubnet.id}\n - ${second.id}\n securityGroupIds:\n - ${first.id}\n roleArn: ${firehose.arn}\n options:\n dependson:\n - ${[\"firehose-opensearch\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OpenSearch Serverless Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testCollection = new aws.opensearch.ServerlessCollection(\"test_collection\", {name: \"firehose-osserverless-test\"});\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"opensearchserverless\",\n opensearchserverlessConfiguration: {\n collectionEndpoint: testCollection.collectionEndpoint,\n roleArn: firehoseRole.arn,\n indexName: \"test\",\n s3Configuration: {\n roleArn: firehoseRole.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n processingConfiguration: {\n enabled: true,\n processors: [{\n type: \"Lambda\",\n parameters: [{\n parameterName: \"LambdaArn\",\n parameterValue: `${lambdaProcessor.arn}:$LATEST`,\n }],\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_collection = aws.opensearch.ServerlessCollection(\"test_collection\", name=\"firehose-osserverless-test\")\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"opensearchserverless\",\n opensearchserverless_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs(\n collection_endpoint=test_collection.collection_endpoint,\n role_arn=firehose_role[\"arn\"],\n index_name=\"test\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs(\n role_arn=firehose_role[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n processing_configuration=aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs(\n enabled=True,\n processors=[aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs(\n type=\"Lambda\",\n parameters=[aws.kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs(\n parameter_name=\"LambdaArn\",\n parameter_value=f\"{lambda_processor['arn']}:$LATEST\",\n )],\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testCollection = new Aws.OpenSearch.ServerlessCollection(\"test_collection\", new()\n {\n Name = \"firehose-osserverless-test\",\n });\n\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"opensearchserverless\",\n OpensearchserverlessConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs\n {\n CollectionEndpoint = testCollection.CollectionEndpoint,\n RoleArn = firehoseRole.Arn,\n IndexName = \"test\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs\n {\n RoleArn = firehoseRole.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n ProcessingConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs\n {\n Enabled = true,\n Processors = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs\n {\n Type = \"Lambda\",\n Parameters = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs\n {\n ParameterName = \"LambdaArn\",\n ParameterValue = $\"{lambdaProcessor.Arn}:$LATEST\",\n },\n },\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestCollection, err := opensearch.NewServerlessCollection(ctx, \"test_collection\", \u0026opensearch.ServerlessCollectionArgs{\n\t\t\tName: pulumi.String(\"firehose-osserverless-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"opensearchserverless\"),\n\t\t\tOpensearchserverlessConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs{\n\t\t\t\tCollectionEndpoint: testCollection.CollectionEndpoint,\n\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\tIndexName: pulumi.String(\"test\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehoseRole.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tProcessingConfiguration: \u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs{\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\tProcessors: kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs{\n\t\t\t\t\t\t\tType: pulumi.String(\"Lambda\"),\n\t\t\t\t\t\t\tParameters: kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArray{\n\t\t\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs{\n\t\t\t\t\t\t\t\t\tParameterName: pulumi.String(\"LambdaArn\"),\n\t\t\t\t\t\t\t\t\tParameterValue: pulumi.String(fmt.Sprintf(\"%v:$LATEST\", lambdaProcessor.Arn)),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.ServerlessCollection;\nimport com.pulumi.aws.opensearch.ServerlessCollectionArgs;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testCollection = new ServerlessCollection(\"testCollection\", ServerlessCollectionArgs.builder() \n .name(\"firehose-osserverless-test\")\n .build());\n\n var testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"opensearchserverless\")\n .opensearchserverlessConfiguration(FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs.builder()\n .collectionEndpoint(testCollection.collectionEndpoint())\n .roleArn(firehoseRole.arn())\n .indexName(\"test\")\n .s3Configuration(FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehoseRole.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .processingConfiguration(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationArgs.builder()\n .enabled(\"true\")\n .processors(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorArgs.builder()\n .type(\"Lambda\")\n .parameters(FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameterArgs.builder()\n .parameterName(\"LambdaArn\")\n .parameterValue(String.format(\"%s:$LATEST\", lambdaProcessor.arn()))\n .build())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testCollection:\n type: aws:opensearch:ServerlessCollection\n name: test_collection\n properties:\n name: firehose-osserverless-test\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: opensearchserverless\n opensearchserverlessConfiguration:\n collectionEndpoint: ${testCollection.collectionEndpoint}\n roleArn: ${firehoseRole.arn}\n indexName: test\n s3Configuration:\n roleArn: ${firehoseRole.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n processingConfiguration:\n enabled: 'true'\n processors:\n - type: Lambda\n parameters:\n - parameterName: LambdaArn\n parameterValue: ${lambdaProcessor.arn}:$LATEST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Splunk Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"splunk\",\n splunkConfiguration: {\n hecEndpoint: \"https://http-inputs-mydomain.splunkcloud.com:443\",\n hecToken: \"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n hecAcknowledgmentTimeout: 600,\n hecEndpointType: \"Event\",\n s3BackupMode: \"FailedEventsOnly\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"splunk\",\n splunk_configuration=aws.kinesis.FirehoseDeliveryStreamSplunkConfigurationArgs(\n hec_endpoint=\"https://http-inputs-mydomain.splunkcloud.com:443\",\n hec_token=\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n hec_acknowledgment_timeout=600,\n hec_endpoint_type=\"Event\",\n s3_backup_mode=\"FailedEventsOnly\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\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 testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"splunk\",\n SplunkConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSplunkConfigurationArgs\n {\n HecEndpoint = \"https://http-inputs-mydomain.splunkcloud.com:443\",\n HecToken = \"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\",\n HecAcknowledgmentTimeout = 600,\n HecEndpointType = \"Event\",\n S3BackupMode = \"FailedEventsOnly\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"splunk\"),\n\t\t\tSplunkConfiguration: \u0026kinesis.FirehoseDeliveryStreamSplunkConfigurationArgs{\n\t\t\t\tHecEndpoint: pulumi.String(\"https://http-inputs-mydomain.splunkcloud.com:443\"),\n\t\t\t\tHecToken: pulumi.String(\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\"),\n\t\t\t\tHecAcknowledgmentTimeout: pulumi.Int(600),\n\t\t\t\tHecEndpointType: pulumi.String(\"Event\"),\n\t\t\t\tS3BackupMode: pulumi.String(\"FailedEventsOnly\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSplunkConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"splunk\")\n .splunkConfiguration(FirehoseDeliveryStreamSplunkConfigurationArgs.builder()\n .hecEndpoint(\"https://http-inputs-mydomain.splunkcloud.com:443\")\n .hecToken(\"51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\")\n .hecAcknowledgmentTimeout(600)\n .hecEndpointType(\"Event\")\n .s3BackupMode(\"FailedEventsOnly\")\n .s3Configuration(FirehoseDeliveryStreamSplunkConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: splunk\n splunkConfiguration:\n hecEndpoint: https://http-inputs-mydomain.splunkcloud.com:443\n hecToken: 51D4DA16-C61B-4F5F-8EC7-ED4301342A4A\n hecAcknowledgmentTimeout: 600\n hecEndpointType: Event\n s3BackupMode: FailedEventsOnly\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### HTTP Endpoint (e.g., New Relic) Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst testStream = new aws.kinesis.FirehoseDeliveryStream(\"test_stream\", {\n name: \"kinesis-firehose-test-stream\",\n destination: \"http_endpoint\",\n httpEndpointConfiguration: {\n url: \"https://aws-api.newrelic.com/firehose/v1\",\n name: \"New Relic\",\n accessKey: \"my-key\",\n bufferingSize: 15,\n bufferingInterval: 600,\n roleArn: firehose.arn,\n s3BackupMode: \"FailedDataOnly\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n requestConfiguration: {\n contentEncoding: \"GZIP\",\n commonAttributes: [\n {\n name: \"testname\",\n value: \"testvalue\",\n },\n {\n name: \"testname2\",\n value: \"testvalue2\",\n },\n ],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest_stream = aws.kinesis.FirehoseDeliveryStream(\"test_stream\",\n name=\"kinesis-firehose-test-stream\",\n destination=\"http_endpoint\",\n http_endpoint_configuration=aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationArgs(\n url=\"https://aws-api.newrelic.com/firehose/v1\",\n name=\"New Relic\",\n access_key=\"my-key\",\n buffering_size=15,\n buffering_interval=600,\n role_arn=firehose[\"arn\"],\n s3_backup_mode=\"FailedDataOnly\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\n ),\n request_configuration=aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs(\n content_encoding=\"GZIP\",\n common_attributes=[\n aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs(\n name=\"testname\",\n value=\"testvalue\",\n ),\n aws.kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs(\n name=\"testname2\",\n value=\"testvalue2\",\n ),\n ],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var testStream = new Aws.Kinesis.FirehoseDeliveryStream(\"test_stream\", new()\n {\n Name = \"kinesis-firehose-test-stream\",\n Destination = \"http_endpoint\",\n HttpEndpointConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationArgs\n {\n Url = \"https://aws-api.newrelic.com/firehose/v1\",\n Name = \"New Relic\",\n AccessKey = \"my-key\",\n BufferingSize = 15,\n BufferingInterval = 600,\n RoleArn = firehose.Arn,\n S3BackupMode = \"FailedDataOnly\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n RequestConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs\n {\n ContentEncoding = \"GZIP\",\n CommonAttributes = new[]\n {\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs\n {\n Name = \"testname\",\n Value = \"testvalue\",\n },\n new Aws.Kinesis.Inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs\n {\n Name = \"testname2\",\n Value = \"testvalue2\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"test_stream\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"kinesis-firehose-test-stream\"),\n\t\t\tDestination: pulumi.String(\"http_endpoint\"),\n\t\t\tHttpEndpointConfiguration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationArgs{\n\t\t\t\tUrl: pulumi.String(\"https://aws-api.newrelic.com/firehose/v1\"),\n\t\t\t\tName: pulumi.String(\"New Relic\"),\n\t\t\t\tAccessKey: pulumi.String(\"my-key\"),\n\t\t\t\tBufferingSize: pulumi.Int(15),\n\t\t\t\tBufferingInterval: pulumi.Int(600),\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tS3BackupMode: pulumi.String(\"FailedDataOnly\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\n\t\t\t\t},\n\t\t\t\tRequestConfiguration: \u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs{\n\t\t\t\t\tContentEncoding: pulumi.String(\"GZIP\"),\n\t\t\t\t\tCommonAttributes: kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArray{\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"testname\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"testvalue\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026kinesis.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"testname2\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"testvalue2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 testStream = new FirehoseDeliveryStream(\"testStream\", FirehoseDeliveryStreamArgs.builder() \n .name(\"kinesis-firehose-test-stream\")\n .destination(\"http_endpoint\")\n .httpEndpointConfiguration(FirehoseDeliveryStreamHttpEndpointConfigurationArgs.builder()\n .url(\"https://aws-api.newrelic.com/firehose/v1\")\n .name(\"New Relic\")\n .accessKey(\"my-key\")\n .bufferingSize(15)\n .bufferingInterval(600)\n .roleArn(firehose.arn())\n .s3BackupMode(\"FailedDataOnly\")\n .s3Configuration(FirehoseDeliveryStreamHttpEndpointConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .requestConfiguration(FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationArgs.builder()\n .contentEncoding(\"GZIP\")\n .commonAttributes( \n FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs.builder()\n .name(\"testname\")\n .value(\"testvalue\")\n .build(),\n FirehoseDeliveryStreamHttpEndpointConfigurationRequestConfigurationCommonAttributeArgs.builder()\n .name(\"testname2\")\n .value(\"testvalue2\")\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n testStream:\n type: aws:kinesis:FirehoseDeliveryStream\n name: test_stream\n properties:\n name: kinesis-firehose-test-stream\n destination: http_endpoint\n httpEndpointConfiguration:\n url: https://aws-api.newrelic.com/firehose/v1\n name: New Relic\n accessKey: my-key\n bufferingSize: 15\n bufferingInterval: 600\n roleArn: ${firehose.arn}\n s3BackupMode: FailedDataOnly\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n requestConfiguration:\n contentEncoding: GZIP\n commonAttributes:\n - name: testname\n value: testvalue\n - name: testname2\n value: testvalue2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Snowflake Destination\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleSnowflakeDestination = new aws.kinesis.FirehoseDeliveryStream(\"example_snowflake_destination\", {\n name: \"example-snowflake-destination\",\n destination: \"snowflake\",\n snowflakeConfiguration: {\n accountUrl: \"https://example.snowflakecomputing.com\",\n database: \"example-db\",\n privateKey: \"...\",\n roleArn: firehose.arn,\n schema: \"example-schema\",\n table: \"example-table\",\n user: \"example-usr\",\n s3Configuration: {\n roleArn: firehose.arn,\n bucketArn: bucket.arn,\n bufferingSize: 10,\n bufferingInterval: 400,\n compressionFormat: \"GZIP\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_snowflake_destination = aws.kinesis.FirehoseDeliveryStream(\"example_snowflake_destination\",\n name=\"example-snowflake-destination\",\n destination=\"snowflake\",\n snowflake_configuration=aws.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationArgs(\n account_url=\"https://example.snowflakecomputing.com\",\n database=\"example-db\",\n private_key=\"...\",\n role_arn=firehose[\"arn\"],\n schema=\"example-schema\",\n table=\"example-table\",\n user=\"example-usr\",\n s3_configuration=aws.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs(\n role_arn=firehose[\"arn\"],\n bucket_arn=bucket[\"arn\"],\n buffering_size=10,\n buffering_interval=400,\n compression_format=\"GZIP\",\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 exampleSnowflakeDestination = new Aws.Kinesis.FirehoseDeliveryStream(\"example_snowflake_destination\", new()\n {\n Name = \"example-snowflake-destination\",\n Destination = \"snowflake\",\n SnowflakeConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSnowflakeConfigurationArgs\n {\n AccountUrl = \"https://example.snowflakecomputing.com\",\n Database = \"example-db\",\n PrivateKey = \"...\",\n RoleArn = firehose.Arn,\n Schema = \"example-schema\",\n Table = \"example-table\",\n User = \"example-usr\",\n S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs\n {\n RoleArn = firehose.Arn,\n BucketArn = bucket.Arn,\n BufferingSize = 10,\n BufferingInterval = 400,\n CompressionFormat = \"GZIP\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis\"\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 := kinesis.NewFirehoseDeliveryStream(ctx, \"example_snowflake_destination\", \u0026kinesis.FirehoseDeliveryStreamArgs{\n\t\t\tName: pulumi.String(\"example-snowflake-destination\"),\n\t\t\tDestination: pulumi.String(\"snowflake\"),\n\t\t\tSnowflakeConfiguration: \u0026kinesis.FirehoseDeliveryStreamSnowflakeConfigurationArgs{\n\t\t\t\tAccountUrl: pulumi.String(\"https://example.snowflakecomputing.com\"),\n\t\t\t\tDatabase: pulumi.String(\"example-db\"),\n\t\t\t\tPrivateKey: pulumi.String(\"...\"),\n\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\tSchema: pulumi.String(\"example-schema\"),\n\t\t\t\tTable: pulumi.String(\"example-table\"),\n\t\t\t\tUser: pulumi.String(\"example-usr\"),\n\t\t\t\tS3Configuration: \u0026kinesis.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs{\n\t\t\t\t\tRoleArn: pulumi.Any(firehose.Arn),\n\t\t\t\t\tBucketArn: pulumi.Any(bucket.Arn),\n\t\t\t\t\tBufferingSize: pulumi.Int(10),\n\t\t\t\t\tBufferingInterval: pulumi.Int(400),\n\t\t\t\t\tCompressionFormat: pulumi.String(\"GZIP\"),\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.kinesis.FirehoseDeliveryStream;\nimport com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationArgs;\nimport com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 exampleSnowflakeDestination = new FirehoseDeliveryStream(\"exampleSnowflakeDestination\", FirehoseDeliveryStreamArgs.builder() \n .name(\"example-snowflake-destination\")\n .destination(\"snowflake\")\n .snowflakeConfiguration(FirehoseDeliveryStreamSnowflakeConfigurationArgs.builder()\n .accountUrl(\"https://example.snowflakecomputing.com\")\n .database(\"example-db\")\n .privateKey(\"...\")\n .roleArn(firehose.arn())\n .schema(\"example-schema\")\n .table(\"example-table\")\n .user(\"example-usr\")\n .s3Configuration(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs.builder()\n .roleArn(firehose.arn())\n .bucketArn(bucket.arn())\n .bufferingSize(10)\n .bufferingInterval(400)\n .compressionFormat(\"GZIP\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleSnowflakeDestination:\n type: aws:kinesis:FirehoseDeliveryStream\n name: example_snowflake_destination\n properties:\n name: example-snowflake-destination\n destination: snowflake\n snowflakeConfiguration:\n accountUrl: https://example.snowflakecomputing.com\n database: example-db\n privateKey: '...'\n roleArn: ${firehose.arn}\n schema: example-schema\n table: example-table\n user: example-usr\n s3Configuration:\n roleArn: ${firehose.arn}\n bucketArn: ${bucket.arn}\n bufferingSize: 10\n bufferingInterval: 400\n compressionFormat: GZIP\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Kinesis Firehose Delivery streams using the stream ARN. For example:\n\n```sh\n$ pulumi import aws:kinesis/firehoseDeliveryStream:FirehoseDeliveryStream foo arn:aws:firehose:us-east-1:XXX:deliverystream/example\n```\nNote: Import does not work for stream destination `s3`. Consider using `extended_s3` since `s3` destination is deprecated.\n\n", "properties": { "arn": { "type": "string", @@ -263767,7 +267761,7 @@ }, "destination": { "type": "string", - "description": "This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`.\n" + "description": "This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`.\n" }, "destinationId": { "type": "string" @@ -263812,6 +267806,10 @@ "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamServerSideEncryption:FirehoseDeliveryStreamServerSideEncryption", "description": "Encrypt at rest options. See `server_side_encryption` block below for details.\n\n**NOTE:** Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream.\n" }, + "snowflakeConfiguration": { + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamSnowflakeConfiguration:FirehoseDeliveryStreamSnowflakeConfiguration", + "description": "Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details.\n" + }, "splunkConfiguration": { "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamSplunkConfiguration:FirehoseDeliveryStreamSplunkConfiguration", "description": "Configuration options when `destination` is `splunk`. See `splunk_configuration` block below for details.\n" @@ -263850,7 +267848,7 @@ }, "destination": { "type": "string", - "description": "This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`.\n", + "description": "This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`.\n", "willReplaceOnChanges": true }, "destinationId": { @@ -263899,6 +267897,10 @@ "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamServerSideEncryption:FirehoseDeliveryStreamServerSideEncryption", "description": "Encrypt at rest options. See `server_side_encryption` block below for details.\n\n**NOTE:** Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream.\n" }, + "snowflakeConfiguration": { + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamSnowflakeConfiguration:FirehoseDeliveryStreamSnowflakeConfiguration", + "description": "Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details.\n" + }, "splunkConfiguration": { "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamSplunkConfiguration:FirehoseDeliveryStreamSplunkConfiguration", "description": "Configuration options when `destination` is `splunk`. See `splunk_configuration` block below for details.\n" @@ -263926,7 +267928,7 @@ }, "destination": { "type": "string", - "description": "This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`.\n", + "description": "This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`.\n", "willReplaceOnChanges": true }, "destinationId": { @@ -263975,6 +267977,10 @@ "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamServerSideEncryption:FirehoseDeliveryStreamServerSideEncryption", "description": "Encrypt at rest options. See `server_side_encryption` block below for details.\n\n**NOTE:** Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream.\n" }, + "snowflakeConfiguration": { + "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamSnowflakeConfiguration:FirehoseDeliveryStreamSnowflakeConfiguration", + "description": "Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details.\n" + }, "splunkConfiguration": { "$ref": "#/types/aws:kinesis/FirehoseDeliveryStreamSplunkConfiguration:FirehoseDeliveryStreamSplunkConfiguration", "description": "Configuration options when `destination` is `splunk`. See `splunk_configuration` block below for details.\n" @@ -279811,11 +283817,11 @@ "properties": { "accessString": { "type": "string", - "description": "The access permissions string used for this user.\n" + "description": "Access permissions string used for this user.\n" }, "arn": { "type": "string", - "description": "The ARN of the user.\n" + "description": "ARN of the user.\n" }, "authenticationMode": { "$ref": "#/types/aws:memorydb/UserAuthenticationMode:UserAuthenticationMode", @@ -279823,7 +283829,7 @@ }, "minimumEngineVersion": { "type": "string", - "description": "The minimum engine version supported for the user.\n" + "description": "Minimum engine version supported for the user.\n" }, "tags": { "type": "object", @@ -279856,7 +283862,7 @@ "inputProperties": { "accessString": { "type": "string", - "description": "The access permissions string used for this user.\n" + "description": "Access permissions string used for this user.\n" }, "authenticationMode": { "$ref": "#/types/aws:memorydb/UserAuthenticationMode:UserAuthenticationMode", @@ -279885,11 +283891,11 @@ "properties": { "accessString": { "type": "string", - "description": "The access permissions string used for this user.\n" + "description": "Access permissions string used for this user.\n" }, "arn": { "type": "string", - "description": "The ARN of the user.\n" + "description": "ARN of the user.\n" }, "authenticationMode": { "$ref": "#/types/aws:memorydb/UserAuthenticationMode:UserAuthenticationMode", @@ -279897,7 +283903,7 @@ }, "minimumEngineVersion": { "type": "string", - "description": "The minimum engine version supported for the user.\n" + "description": "Minimum engine version supported for the user.\n" }, "tags": { "type": "object", @@ -304009,6 +308015,10 @@ "type": "string", "description": "Name of DB subnet group. DB instance will\nbe created in the VPC associated with the DB subnet group. If unspecified, will\nbe created in the `default` VPC, or in EC2 Classic, if available. When working\nwith read replicas, it should be specified only if the source database\nspecifies an instance in another AWS Region. See [DBSubnetGroupName in API\naction CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html)\nfor additional read replica constraints.\n" }, + "dedicatedLogVolume": { + "type": "boolean", + "description": "Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details.\n" + }, "deleteAutomatedBackups": { "type": "boolean", "description": "Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`.\n" @@ -304395,6 +308405,10 @@ "type": "string", "description": "Name of DB subnet group. DB instance will\nbe created in the VPC associated with the DB subnet group. If unspecified, will\nbe created in the `default` VPC, or in EC2 Classic, if available. When working\nwith read replicas, it should be specified only if the source database\nspecifies an instance in another AWS Region. See [DBSubnetGroupName in API\naction CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html)\nfor additional read replica constraints.\n" }, + "dedicatedLogVolume": { + "type": "boolean", + "description": "Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details.\n" + }, "deleteAutomatedBackups": { "type": "boolean", "description": "Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`.\n" @@ -304719,6 +308733,10 @@ "type": "string", "description": "Name of DB subnet group. DB instance will\nbe created in the VPC associated with the DB subnet group. If unspecified, will\nbe created in the `default` VPC, or in EC2 Classic, if available. When working\nwith read replicas, it should be specified only if the source database\nspecifies an instance in another AWS Region. See [DBSubnetGroupName in API\naction CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html)\nfor additional read replica constraints.\n" }, + "dedicatedLogVolume": { + "type": "boolean", + "description": "Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details.\n" + }, "deleteAutomatedBackups": { "type": "boolean", "description": "Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`.\n" @@ -321735,7 +325753,7 @@ } }, "aws:sagemaker/appImageConfig:AppImageConfig": { - "description": "Provides a SageMaker App Image Config 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 test = new aws.sagemaker.AppImageConfig(\"test\", {\n appImageConfigName: \"example\",\n kernelGatewayImageConfig: {\n kernelSpec: {\n name: \"example\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sagemaker.AppImageConfig(\"test\",\n app_image_config_name=\"example\",\n kernel_gateway_image_config=aws.sagemaker.AppImageConfigKernelGatewayImageConfigArgs(\n kernel_spec=aws.sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs(\n name=\"example\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Sagemaker.AppImageConfig(\"test\", new()\n {\n AppImageConfigName = \"example\",\n KernelGatewayImageConfig = new Aws.Sagemaker.Inputs.AppImageConfigKernelGatewayImageConfigArgs\n {\n KernelSpec = new Aws.Sagemaker.Inputs.AppImageConfigKernelGatewayImageConfigKernelSpecArgs\n {\n Name = \"example\",\n },\n },\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.NewAppImageConfig(ctx, \"test\", \u0026sagemaker.AppImageConfigArgs{\n\t\t\tAppImageConfigName: pulumi.String(\"example\"),\n\t\t\tKernelGatewayImageConfig: \u0026sagemaker.AppImageConfigKernelGatewayImageConfigArgs{\n\t\t\t\tKernelSpec: \u0026sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.AppImageConfig;\nimport com.pulumi.aws.sagemaker.AppImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigKernelSpecArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AppImageConfig(\"test\", AppImageConfigArgs.builder() \n .appImageConfigName(\"example\")\n .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder()\n .kernelSpec(AppImageConfigKernelGatewayImageConfigKernelSpecArgs.builder()\n .name(\"example\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sagemaker:AppImageConfig\n properties:\n appImageConfigName: example\n kernelGatewayImageConfig:\n kernelSpec:\n name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Default File System Config\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.sagemaker.AppImageConfig(\"test\", {\n appImageConfigName: \"example\",\n kernelGatewayImageConfig: {\n kernelSpec: {\n name: \"example\",\n },\n fileSystemConfig: {},\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.sagemaker.AppImageConfig(\"test\",\n app_image_config_name=\"example\",\n kernel_gateway_image_config=aws.sagemaker.AppImageConfigKernelGatewayImageConfigArgs(\n kernel_spec=aws.sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs(\n name=\"example\",\n ),\n file_system_config=aws.sagemaker.AppImageConfigKernelGatewayImageConfigFileSystemConfigArgs(),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Sagemaker.AppImageConfig(\"test\", new()\n {\n AppImageConfigName = \"example\",\n KernelGatewayImageConfig = new Aws.Sagemaker.Inputs.AppImageConfigKernelGatewayImageConfigArgs\n {\n KernelSpec = new Aws.Sagemaker.Inputs.AppImageConfigKernelGatewayImageConfigKernelSpecArgs\n {\n Name = \"example\",\n },\n FileSystemConfig = null,\n },\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.NewAppImageConfig(ctx, \"test\", \u0026sagemaker.AppImageConfigArgs{\n\t\t\tAppImageConfigName: pulumi.String(\"example\"),\n\t\t\tKernelGatewayImageConfig: \u0026sagemaker.AppImageConfigKernelGatewayImageConfigArgs{\n\t\t\t\tKernelSpec: \u0026sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t\tFileSystemConfig: nil,\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.sagemaker.AppImageConfig;\nimport com.pulumi.aws.sagemaker.AppImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigKernelSpecArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigFileSystemConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AppImageConfig(\"test\", AppImageConfigArgs.builder() \n .appImageConfigName(\"example\")\n .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder()\n .kernelSpec(AppImageConfigKernelGatewayImageConfigKernelSpecArgs.builder()\n .name(\"example\")\n .build())\n .fileSystemConfig()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sagemaker:AppImageConfig\n properties:\n appImageConfigName: example\n kernelGatewayImageConfig:\n kernelSpec:\n name: example\n fileSystemConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker App Image Configs using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/appImageConfig:AppImageConfig example example\n```\n", + "description": "Provides a SageMaker App Image Config resource.\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.sagemaker.AppImageConfig;\nimport com.pulumi.aws.sagemaker.AppImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AppImageConfig(\"test\", AppImageConfigArgs.builder() \n .appImageConfigName(\"example\")\n .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder()\n .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sagemaker:AppImageConfig\n properties:\n appImageConfigName: example\n kernelGatewayImageConfig:\n kernelSpecs:\n - name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Default File System Config\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.sagemaker.AppImageConfig;\nimport com.pulumi.aws.sagemaker.AppImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigFileSystemConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new AppImageConfig(\"test\", AppImageConfigArgs.builder() \n .appImageConfigName(\"example\")\n .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder()\n .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .fileSystemConfig()\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:sagemaker:AppImageConfig\n properties:\n appImageConfigName: example\n kernelGatewayImageConfig:\n kernelSpecs:\n - name: example\n fileSystemConfig: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker App Image Configs using the `name`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/appImageConfig:AppImageConfig example example\n```\n", "properties": { "appImageConfigName": { "type": "string", @@ -321745,8 +325763,13 @@ "type": "string", "description": "The Amazon Resource Name (ARN) assigned by AWS to this App Image Config.\n" }, + "codeEditorAppImageConfig": { + "$ref": "#/types/aws:sagemaker/AppImageConfigCodeEditorAppImageConfig:AppImageConfigCodeEditorAppImageConfig", + "description": "The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below.\n" + }, "jupyterLabImageConfig": { - "$ref": "#/types/aws:sagemaker/AppImageConfigJupyterLabImageConfig:AppImageConfigJupyterLabImageConfig" + "$ref": "#/types/aws:sagemaker/AppImageConfigJupyterLabImageConfig:AppImageConfigJupyterLabImageConfig", + "description": "The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below.\n" }, "kernelGatewayImageConfig": { "$ref": "#/types/aws:sagemaker/AppImageConfigKernelGatewayImageConfig:AppImageConfigKernelGatewayImageConfig", @@ -321779,8 +325802,13 @@ "description": "The name of the App Image Config.\n", "willReplaceOnChanges": true }, + "codeEditorAppImageConfig": { + "$ref": "#/types/aws:sagemaker/AppImageConfigCodeEditorAppImageConfig:AppImageConfigCodeEditorAppImageConfig", + "description": "The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below.\n" + }, "jupyterLabImageConfig": { - "$ref": "#/types/aws:sagemaker/AppImageConfigJupyterLabImageConfig:AppImageConfigJupyterLabImageConfig" + "$ref": "#/types/aws:sagemaker/AppImageConfigJupyterLabImageConfig:AppImageConfigJupyterLabImageConfig", + "description": "The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below.\n" }, "kernelGatewayImageConfig": { "$ref": "#/types/aws:sagemaker/AppImageConfigKernelGatewayImageConfig:AppImageConfigKernelGatewayImageConfig", @@ -321809,8 +325837,13 @@ "type": "string", "description": "The Amazon Resource Name (ARN) assigned by AWS to this App Image Config.\n" }, + "codeEditorAppImageConfig": { + "$ref": "#/types/aws:sagemaker/AppImageConfigCodeEditorAppImageConfig:AppImageConfigCodeEditorAppImageConfig", + "description": "The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below.\n" + }, "jupyterLabImageConfig": { - "$ref": "#/types/aws:sagemaker/AppImageConfigJupyterLabImageConfig:AppImageConfigJupyterLabImageConfig" + "$ref": "#/types/aws:sagemaker/AppImageConfigJupyterLabImageConfig:AppImageConfigJupyterLabImageConfig", + "description": "The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below.\n" }, "kernelGatewayImageConfig": { "$ref": "#/types/aws:sagemaker/AppImageConfigKernelGatewayImageConfig:AppImageConfigKernelGatewayImageConfig", @@ -322347,7 +326380,7 @@ } }, "aws:sagemaker/domain:Domain": { - "description": "Provides a SageMaker Domain resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"sagemaker.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n path: \"/\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst exampleDomain = new aws.sagemaker.Domain(\"example\", {\n domainName: \"example\",\n authMode: \"IAM\",\n vpcId: exampleAwsVpc.id,\n subnetIds: [exampleAwsSubnet.id],\n defaultUserSettings: {\n executionRole: exampleRole.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"sagemaker.amazonaws.com\"],\n )],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n path=\"/\",\n assume_role_policy=example.json)\nexample_domain = aws.sagemaker.Domain(\"example\",\n domain_name=\"example\",\n auth_mode=\"IAM\",\n vpc_id=example_aws_vpc[\"id\"],\n subnet_ids=[example_aws_subnet[\"id\"]],\n default_user_settings=aws.sagemaker.DomainDefaultUserSettingsArgs(\n execution_role=example_role.arn,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"sagemaker.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n Path = \"/\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDomain = new Aws.Sagemaker.Domain(\"example\", new()\n {\n DomainName = \"example\",\n AuthMode = \"IAM\",\n VpcId = exampleAwsVpc.Id,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n DefaultUserSettings = new Aws.Sagemaker.Inputs.DomainDefaultUserSettingsArgs\n {\n ExecutionRole = exampleRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-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\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"sagemaker.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewDomain(ctx, \"example\", \u0026sagemaker.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tAuthMode: pulumi.String(\"IAM\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tDefaultUserSettings: \u0026sagemaker.DomainDefaultUserSettingsArgs{\n\t\t\t\tExecutionRole: exampleRole.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.sagemaker.Domain;\nimport com.pulumi.aws.sagemaker.DomainArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"sagemaker.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"example\")\n .path(\"/\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .domainName(\"example\")\n .authMode(\"IAM\")\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.id())\n .defaultUserSettings(DomainDefaultUserSettingsArgs.builder()\n .executionRole(exampleRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomain:\n type: aws:sagemaker:Domain\n name: example\n properties:\n domainName: example\n authMode: IAM\n vpcId: ${exampleAwsVpc.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n defaultUserSettings:\n executionRole: ${exampleRole.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n path: /\n assumeRolePolicy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - sagemaker.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Custom Images\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.Image(\"example\", {\n imageName: \"example\",\n roleArn: exampleAwsIamRole.arn,\n});\nconst exampleAppImageConfig = new aws.sagemaker.AppImageConfig(\"example\", {\n appImageConfigName: \"example\",\n kernelGatewayImageConfig: {\n kernelSpec: {\n name: \"example\",\n },\n },\n});\nconst exampleImageVersion = new aws.sagemaker.ImageVersion(\"example\", {\n imageName: example.id,\n baseImage: \"base-image\",\n});\nconst exampleDomain = new aws.sagemaker.Domain(\"example\", {\n domainName: \"example\",\n authMode: \"IAM\",\n vpcId: exampleAwsVpc.id,\n subnetIds: [exampleAwsSubnet.id],\n defaultUserSettings: {\n executionRole: exampleAwsIamRole.arn,\n kernelGatewayAppSettings: {\n customImages: [{\n appImageConfigName: exampleAppImageConfig.appImageConfigName,\n imageName: exampleImageVersion.imageName,\n }],\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.sagemaker.Image(\"example\",\n image_name=\"example\",\n role_arn=example_aws_iam_role[\"arn\"])\nexample_app_image_config = aws.sagemaker.AppImageConfig(\"example\",\n app_image_config_name=\"example\",\n kernel_gateway_image_config=aws.sagemaker.AppImageConfigKernelGatewayImageConfigArgs(\n kernel_spec=aws.sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs(\n name=\"example\",\n ),\n ))\nexample_image_version = aws.sagemaker.ImageVersion(\"example\",\n image_name=example.id,\n base_image=\"base-image\")\nexample_domain = aws.sagemaker.Domain(\"example\",\n domain_name=\"example\",\n auth_mode=\"IAM\",\n vpc_id=example_aws_vpc[\"id\"],\n subnet_ids=[example_aws_subnet[\"id\"]],\n default_user_settings=aws.sagemaker.DomainDefaultUserSettingsArgs(\n execution_role=example_aws_iam_role[\"arn\"],\n kernel_gateway_app_settings=aws.sagemaker.DomainDefaultUserSettingsKernelGatewayAppSettingsArgs(\n custom_images=[aws.sagemaker.DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs(\n app_image_config_name=example_app_image_config.app_image_config_name,\n image_name=example_image_version.image_name,\n )],\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Sagemaker.Image(\"example\", new()\n {\n ImageName = \"example\",\n RoleArn = exampleAwsIamRole.Arn,\n });\n\n var exampleAppImageConfig = new Aws.Sagemaker.AppImageConfig(\"example\", new()\n {\n AppImageConfigName = \"example\",\n KernelGatewayImageConfig = new Aws.Sagemaker.Inputs.AppImageConfigKernelGatewayImageConfigArgs\n {\n KernelSpec = new Aws.Sagemaker.Inputs.AppImageConfigKernelGatewayImageConfigKernelSpecArgs\n {\n Name = \"example\",\n },\n },\n });\n\n var exampleImageVersion = new Aws.Sagemaker.ImageVersion(\"example\", new()\n {\n ImageName = example.Id,\n BaseImage = \"base-image\",\n });\n\n var exampleDomain = new Aws.Sagemaker.Domain(\"example\", new()\n {\n DomainName = \"example\",\n AuthMode = \"IAM\",\n VpcId = exampleAwsVpc.Id,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n DefaultUserSettings = new Aws.Sagemaker.Inputs.DomainDefaultUserSettingsArgs\n {\n ExecutionRole = exampleAwsIamRole.Arn,\n KernelGatewayAppSettings = new Aws.Sagemaker.Inputs.DomainDefaultUserSettingsKernelGatewayAppSettingsArgs\n {\n CustomImages = new[]\n {\n new Aws.Sagemaker.Inputs.DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs\n {\n AppImageConfigName = exampleAppImageConfig.AppImageConfigName,\n ImageName = exampleImageVersion.ImageName,\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/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\texample, err := sagemaker.NewImage(ctx, \"example\", \u0026sagemaker.ImageArgs{\n\t\t\tImageName: pulumi.String(\"example\"),\n\t\t\tRoleArn: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleAppImageConfig, err := sagemaker.NewAppImageConfig(ctx, \"example\", \u0026sagemaker.AppImageConfigArgs{\n\t\t\tAppImageConfigName: pulumi.String(\"example\"),\n\t\t\tKernelGatewayImageConfig: \u0026sagemaker.AppImageConfigKernelGatewayImageConfigArgs{\n\t\t\t\tKernelSpec: \u0026sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs{\n\t\t\t\t\tName: pulumi.String(\"example\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleImageVersion, err := sagemaker.NewImageVersion(ctx, \"example\", \u0026sagemaker.ImageVersionArgs{\n\t\t\tImageName: example.ID(),\n\t\t\tBaseImage: pulumi.String(\"base-image\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewDomain(ctx, \"example\", \u0026sagemaker.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tAuthMode: pulumi.String(\"IAM\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tDefaultUserSettings: \u0026sagemaker.DomainDefaultUserSettingsArgs{\n\t\t\t\tExecutionRole: pulumi.Any(exampleAwsIamRole.Arn),\n\t\t\t\tKernelGatewayAppSettings: \u0026sagemaker.DomainDefaultUserSettingsKernelGatewayAppSettingsArgs{\n\t\t\t\t\tCustomImages: sagemaker.DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArray{\n\t\t\t\t\t\t\u0026sagemaker.DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs{\n\t\t\t\t\t\t\tAppImageConfigName: exampleAppImageConfig.AppImageConfigName,\n\t\t\t\t\t\t\tImageName: exampleImageVersion.ImageName,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sagemaker.Image;\nimport com.pulumi.aws.sagemaker.ImageArgs;\nimport com.pulumi.aws.sagemaker.AppImageConfig;\nimport com.pulumi.aws.sagemaker.AppImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigKernelSpecArgs;\nimport com.pulumi.aws.sagemaker.ImageVersion;\nimport com.pulumi.aws.sagemaker.ImageVersionArgs;\nimport com.pulumi.aws.sagemaker.Domain;\nimport com.pulumi.aws.sagemaker.DomainArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsKernelGatewayAppSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Image(\"example\", ImageArgs.builder() \n .imageName(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n var exampleAppImageConfig = new AppImageConfig(\"exampleAppImageConfig\", AppImageConfigArgs.builder() \n .appImageConfigName(\"example\")\n .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder()\n .kernelSpec(AppImageConfigKernelGatewayImageConfigKernelSpecArgs.builder()\n .name(\"example\")\n .build())\n .build())\n .build());\n\n var exampleImageVersion = new ImageVersion(\"exampleImageVersion\", ImageVersionArgs.builder() \n .imageName(example.id())\n .baseImage(\"base-image\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .domainName(\"example\")\n .authMode(\"IAM\")\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.id())\n .defaultUserSettings(DomainDefaultUserSettingsArgs.builder()\n .executionRole(exampleAwsIamRole.arn())\n .kernelGatewayAppSettings(DomainDefaultUserSettingsKernelGatewayAppSettingsArgs.builder()\n .customImages(DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs.builder()\n .appImageConfigName(exampleAppImageConfig.appImageConfigName())\n .imageName(exampleImageVersion.imageName())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Image\n properties:\n imageName: example\n roleArn: ${exampleAwsIamRole.arn}\n exampleAppImageConfig:\n type: aws:sagemaker:AppImageConfig\n name: example\n properties:\n appImageConfigName: example\n kernelGatewayImageConfig:\n kernelSpec:\n name: example\n exampleImageVersion:\n type: aws:sagemaker:ImageVersion\n name: example\n properties:\n imageName: ${example.id}\n baseImage: base-image\n exampleDomain:\n type: aws:sagemaker:Domain\n name: example\n properties:\n domainName: example\n authMode: IAM\n vpcId: ${exampleAwsVpc.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n defaultUserSettings:\n executionRole: ${exampleAwsIamRole.arn}\n kernelGatewayAppSettings:\n customImages:\n - appImageConfigName: ${exampleAppImageConfig.appImageConfigName}\n imageName: ${exampleImageVersion.imageName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Domains using the `id`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/domain:Domain test_domain d-8jgsjtilstu8\n```\n", + "description": "Provides a SageMaker Domain resource.\n\n## Example Usage\n\n### Basic usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.iam.getPolicyDocument({\n statements: [{\n actions: [\"sts:AssumeRole\"],\n principals: [{\n type: \"Service\",\n identifiers: [\"sagemaker.amazonaws.com\"],\n }],\n }],\n});\nconst exampleRole = new aws.iam.Role(\"example\", {\n name: \"example\",\n path: \"/\",\n assumeRolePolicy: example.then(example =\u003e example.json),\n});\nconst exampleDomain = new aws.sagemaker.Domain(\"example\", {\n domainName: \"example\",\n authMode: \"IAM\",\n vpcId: exampleAwsVpc.id,\n subnetIds: [exampleAwsSubnet.id],\n defaultUserSettings: {\n executionRole: exampleRole.arn,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs(\n actions=[\"sts:AssumeRole\"],\n principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs(\n type=\"Service\",\n identifiers=[\"sagemaker.amazonaws.com\"],\n )],\n)])\nexample_role = aws.iam.Role(\"example\",\n name=\"example\",\n path=\"/\",\n assume_role_policy=example.json)\nexample_domain = aws.sagemaker.Domain(\"example\",\n domain_name=\"example\",\n auth_mode=\"IAM\",\n vpc_id=example_aws_vpc[\"id\"],\n subnet_ids=[example_aws_subnet[\"id\"]],\n default_user_settings=aws.sagemaker.DomainDefaultUserSettingsArgs(\n execution_role=example_role.arn,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Iam.GetPolicyDocument.Invoke(new()\n {\n Statements = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs\n {\n Actions = new[]\n {\n \"sts:AssumeRole\",\n },\n Principals = new[]\n {\n new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs\n {\n Type = \"Service\",\n Identifiers = new[]\n {\n \"sagemaker.amazonaws.com\",\n },\n },\n },\n },\n },\n });\n\n var exampleRole = new Aws.Iam.Role(\"example\", new()\n {\n Name = \"example\",\n Path = \"/\",\n AssumeRolePolicy = example.Apply(getPolicyDocumentResult =\u003e getPolicyDocumentResult.Json),\n });\n\n var exampleDomain = new Aws.Sagemaker.Domain(\"example\", new()\n {\n DomainName = \"example\",\n AuthMode = \"IAM\",\n VpcId = exampleAwsVpc.Id,\n SubnetIds = new[]\n {\n exampleAwsSubnet.Id,\n },\n DefaultUserSettings = new Aws.Sagemaker.Inputs.DomainDefaultUserSettingsArgs\n {\n ExecutionRole = exampleRole.Arn,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi-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\texample, err := iam.GetPolicyDocument(ctx, \u0026iam.GetPolicyDocumentArgs{\n\t\t\tStatements: []iam.GetPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"sts:AssumeRole\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: []iam.GetPolicyDocumentStatementPrincipal{\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tType: \"Service\",\n\t\t\t\t\t\t\tIdentifiers: []string{\n\t\t\t\t\t\t\t\t\"sagemaker.amazonaws.com\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := iam.NewRole(ctx, \"example\", \u0026iam.RoleArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t\tPath: pulumi.String(\"/\"),\n\t\t\tAssumeRolePolicy: pulumi.String(example.Json),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = sagemaker.NewDomain(ctx, \"example\", \u0026sagemaker.DomainArgs{\n\t\t\tDomainName: pulumi.String(\"example\"),\n\t\t\tAuthMode: pulumi.String(\"IAM\"),\n\t\t\tVpcId: pulumi.Any(exampleAwsVpc.Id),\n\t\t\tSubnetIds: pulumi.StringArray{\n\t\t\t\texampleAwsSubnet.Id,\n\t\t\t},\n\t\t\tDefaultUserSettings: \u0026sagemaker.DomainDefaultUserSettingsArgs{\n\t\t\t\tExecutionRole: exampleRole.Arn,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.iam.IamFunctions;\nimport com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;\nimport com.pulumi.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.sagemaker.Domain;\nimport com.pulumi.aws.sagemaker.DomainArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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(GetPolicyDocumentStatementArgs.builder()\n .actions(\"sts:AssumeRole\")\n .principals(GetPolicyDocumentStatementPrincipalArgs.builder()\n .type(\"Service\")\n .identifiers(\"sagemaker.amazonaws.com\")\n .build())\n .build())\n .build());\n\n var exampleRole = new Role(\"exampleRole\", RoleArgs.builder() \n .name(\"example\")\n .path(\"/\")\n .assumeRolePolicy(example.applyValue(getPolicyDocumentResult -\u003e getPolicyDocumentResult.json()))\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .domainName(\"example\")\n .authMode(\"IAM\")\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.id())\n .defaultUserSettings(DomainDefaultUserSettingsArgs.builder()\n .executionRole(exampleRole.arn())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleDomain:\n type: aws:sagemaker:Domain\n name: example\n properties:\n domainName: example\n authMode: IAM\n vpcId: ${exampleAwsVpc.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n defaultUserSettings:\n executionRole: ${exampleRole.arn}\n exampleRole:\n type: aws:iam:Role\n name: example\n properties:\n name: example\n path: /\n assumeRolePolicy: ${example.json}\nvariables:\n example:\n fn::invoke:\n Function: aws:iam:getPolicyDocument\n Arguments:\n statements:\n - actions:\n - sts:AssumeRole\n principals:\n - type: Service\n identifiers:\n - sagemaker.amazonaws.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Custom Images\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.sagemaker.Image;\nimport com.pulumi.aws.sagemaker.ImageArgs;\nimport com.pulumi.aws.sagemaker.AppImageConfig;\nimport com.pulumi.aws.sagemaker.AppImageConfigArgs;\nimport com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs;\nimport com.pulumi.aws.sagemaker.ImageVersion;\nimport com.pulumi.aws.sagemaker.ImageVersionArgs;\nimport com.pulumi.aws.sagemaker.Domain;\nimport com.pulumi.aws.sagemaker.DomainArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsArgs;\nimport com.pulumi.aws.sagemaker.inputs.DomainDefaultUserSettingsKernelGatewayAppSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 Image(\"example\", ImageArgs.builder() \n .imageName(\"example\")\n .roleArn(exampleAwsIamRole.arn())\n .build());\n\n var exampleAppImageConfig = new AppImageConfig(\"exampleAppImageConfig\", AppImageConfigArgs.builder() \n .appImageConfigName(\"example\")\n .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder()\n .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n .build())\n .build());\n\n var exampleImageVersion = new ImageVersion(\"exampleImageVersion\", ImageVersionArgs.builder() \n .imageName(example.id())\n .baseImage(\"base-image\")\n .build());\n\n var exampleDomain = new Domain(\"exampleDomain\", DomainArgs.builder() \n .domainName(\"example\")\n .authMode(\"IAM\")\n .vpcId(exampleAwsVpc.id())\n .subnetIds(exampleAwsSubnet.id())\n .defaultUserSettings(DomainDefaultUserSettingsArgs.builder()\n .executionRole(exampleAwsIamRole.arn())\n .kernelGatewayAppSettings(DomainDefaultUserSettingsKernelGatewayAppSettingsArgs.builder()\n .customImages(DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs.builder()\n .appImageConfigName(exampleAppImageConfig.appImageConfigName())\n .imageName(exampleImageVersion.imageName())\n .build())\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:sagemaker:Image\n properties:\n imageName: example\n roleArn: ${exampleAwsIamRole.arn}\n exampleAppImageConfig:\n type: aws:sagemaker:AppImageConfig\n name: example\n properties:\n appImageConfigName: example\n kernelGatewayImageConfig:\n kernelSpecs:\n - name: example\n exampleImageVersion:\n type: aws:sagemaker:ImageVersion\n name: example\n properties:\n imageName: ${example.id}\n baseImage: base-image\n exampleDomain:\n type: aws:sagemaker:Domain\n name: example\n properties:\n domainName: example\n authMode: IAM\n vpcId: ${exampleAwsVpc.id}\n subnetIds:\n - ${exampleAwsSubnet.id}\n defaultUserSettings:\n executionRole: ${exampleAwsIamRole.arn}\n kernelGatewayAppSettings:\n customImages:\n - appImageConfigName: ${exampleAppImageConfig.appImageConfigName}\n imageName: ${exampleImageVersion.imageName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import SageMaker Domains using the `id`. For example:\n\n```sh\n$ pulumi import aws:sagemaker/domain:Domain test_domain d-8jgsjtilstu8\n```\n", "properties": { "appNetworkAccessType": { "type": "string", @@ -343208,6 +347241,10 @@ "type": "string", "description": "Specifies the name of the security policy that is attached to the server. Default value is: `TransferSecurityPolicy-2018-11`. The available values are:\n* `TransferSecurityPolicy-2024-01`\n* `TransferSecurityPolicy-2023-05`\n* `TransferSecurityPolicy-2022-03`\n* `TransferSecurityPolicy-2020-06`\n* `TransferSecurityPolicy-2018-11`\n* `TransferSecurityPolicy-FIPS-2024-01`\n* `TransferSecurityPolicy-FIPS-2023-05`\n* `TransferSecurityPolicy-FIPS-2020-06`\n* `TransferSecurityPolicy-PQ-SSH-Experimental-2023-04`\n* `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04`\n" }, + "sftpAuthenticationMethods": { + "type": "string", + "description": "For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`.\n" + }, "structuredLogDestinations": { "type": "array", "items": { @@ -343246,6 +347283,7 @@ "protocolDetails", "protocols", "s3StorageOptions", + "sftpAuthenticationMethods", "tagsAll" ], "inputProperties": { @@ -343325,6 +347363,10 @@ "type": "string", "description": "Specifies the name of the security policy that is attached to the server. Default value is: `TransferSecurityPolicy-2018-11`. The available values are:\n* `TransferSecurityPolicy-2024-01`\n* `TransferSecurityPolicy-2023-05`\n* `TransferSecurityPolicy-2022-03`\n* `TransferSecurityPolicy-2020-06`\n* `TransferSecurityPolicy-2018-11`\n* `TransferSecurityPolicy-FIPS-2024-01`\n* `TransferSecurityPolicy-FIPS-2023-05`\n* `TransferSecurityPolicy-FIPS-2020-06`\n* `TransferSecurityPolicy-PQ-SSH-Experimental-2023-04`\n* `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04`\n" }, + "sftpAuthenticationMethods": { + "type": "string", + "description": "For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`.\n" + }, "structuredLogDestinations": { "type": "array", "items": { @@ -343439,6 +347481,10 @@ "type": "string", "description": "Specifies the name of the security policy that is attached to the server. Default value is: `TransferSecurityPolicy-2018-11`. The available values are:\n* `TransferSecurityPolicy-2024-01`\n* `TransferSecurityPolicy-2023-05`\n* `TransferSecurityPolicy-2022-03`\n* `TransferSecurityPolicy-2020-06`\n* `TransferSecurityPolicy-2018-11`\n* `TransferSecurityPolicy-FIPS-2024-01`\n* `TransferSecurityPolicy-FIPS-2023-05`\n* `TransferSecurityPolicy-FIPS-2020-06`\n* `TransferSecurityPolicy-PQ-SSH-Experimental-2023-04`\n* `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04`\n" }, + "sftpAuthenticationMethods": { + "type": "string", + "description": "For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`.\n" + }, "structuredLogDestinations": { "type": "array", "items": { @@ -344678,6 +348724,63 @@ "type": "object" } }, + "aws:verifiedpermissions/policy:Policy": { + "description": "Resource for managing an AWS Verified Permissions 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 test = new aws.verifiedpermissions.Policy(\"test\", {\n policyStoreId: testAwsVerifiedpermissionsPolicyStore.id,\n definition: {\n static: {\n statement: \"permit (principal, action == Action::\\\"view\\\", resource in Album:: \\\"test_album\\\");\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.verifiedpermissions.Policy(\"test\",\n policy_store_id=test_aws_verifiedpermissions_policy_store[\"id\"],\n definition=aws.verifiedpermissions.PolicyDefinitionArgs(\n static=aws.verifiedpermissions.PolicyDefinitionStaticArgs(\n statement=\"permit (principal, action == Action::\\\"view\\\", resource in Album:: \\\"test_album\\\");\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.VerifiedPermissions.Policy(\"test\", new()\n {\n PolicyStoreId = testAwsVerifiedpermissionsPolicyStore.Id,\n Definition = new Aws.VerifiedPermissions.Inputs.PolicyDefinitionArgs\n {\n Static = new Aws.VerifiedPermissions.Inputs.PolicyDefinitionStaticArgs\n {\n Statement = \"permit (principal, action == Action::\\\"view\\\", resource in Album:: \\\"test_album\\\");\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedpermissions\"\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 := verifiedpermissions.NewPolicy(ctx, \"test\", \u0026verifiedpermissions.PolicyArgs{\n\t\t\tPolicyStoreId: pulumi.Any(testAwsVerifiedpermissionsPolicyStore.Id),\n\t\t\tDefinition: \u0026verifiedpermissions.PolicyDefinitionArgs{\n\t\t\t\tStatic: \u0026verifiedpermissions.PolicyDefinitionStaticArgs{\n\t\t\t\t\tStatement: pulumi.String(\"permit (principal, action == Action::\\\"view\\\", resource in Album:: \\\"test_album\\\");\"),\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.verifiedpermissions.Policy;\nimport com.pulumi.aws.verifiedpermissions.PolicyArgs;\nimport com.pulumi.aws.verifiedpermissions.inputs.PolicyDefinitionArgs;\nimport com.pulumi.aws.verifiedpermissions.inputs.PolicyDefinitionStaticArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Policy(\"test\", PolicyArgs.builder() \n .policyStoreId(testAwsVerifiedpermissionsPolicyStore.id())\n .definition(PolicyDefinitionArgs.builder()\n .static_(PolicyDefinitionStaticArgs.builder()\n .statement(\"permit (principal, action == Action::\\\"view\\\", resource in Album:: \\\"test_album\\\");\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:verifiedpermissions:Policy\n properties:\n policyStoreId: ${testAwsVerifiedpermissionsPolicyStore.id}\n definition:\n static:\n statement: 'permit (principal, action == Action::\"view\", resource in Album:: \"test_album\");'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Permissions Policy using the `policy_id,policy_store_id`. For example:\n\n```sh\n$ pulumi import aws:verifiedpermissions/policy:Policy example policy-id-12345678,policy-store-id-12345678\n```\n", + "properties": { + "createdDate": { + "type": "string" + }, + "definition": { + "$ref": "#/types/aws:verifiedpermissions/PolicyDefinition:PolicyDefinition", + "description": "The definition of the policy. See Definition below.\n\nThe following arguments are optional:\n" + }, + "policyId": { + "type": "string" + }, + "policyStoreId": { + "type": "string", + "description": "The Policy Store ID of the policy store.\n" + } + }, + "required": [ + "createdDate", + "policyId", + "policyStoreId" + ], + "inputProperties": { + "definition": { + "$ref": "#/types/aws:verifiedpermissions/PolicyDefinition:PolicyDefinition", + "description": "The definition of the policy. See Definition below.\n\nThe following arguments are optional:\n" + }, + "policyStoreId": { + "type": "string", + "description": "The Policy Store ID of the policy store.\n" + } + }, + "requiredInputs": [ + "policyStoreId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Policy resources.\n", + "properties": { + "createdDate": { + "type": "string" + }, + "definition": { + "$ref": "#/types/aws:verifiedpermissions/PolicyDefinition:PolicyDefinition", + "description": "The definition of the policy. See Definition below.\n\nThe following arguments are optional:\n" + }, + "policyId": { + "type": "string" + }, + "policyStoreId": { + "type": "string", + "description": "The Policy Store ID of the policy store.\n" + } + }, + "type": "object" + } + }, "aws:verifiedpermissions/policyStore:PolicyStore": { "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.verifiedpermissions.PolicyStore(\"example\", {validationSettings: {\n mode: \"STRICT\",\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.verifiedpermissions.PolicyStore(\"example\", validation_settings=aws.verifiedpermissions.PolicyStoreValidationSettingsArgs(\n mode=\"STRICT\",\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.VerifiedPermissions.PolicyStore(\"example\", new()\n {\n ValidationSettings = new Aws.VerifiedPermissions.Inputs.PolicyStoreValidationSettingsArgs\n {\n Mode = \"STRICT\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedpermissions\"\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 := verifiedpermissions.NewPolicyStore(ctx, \"example\", \u0026verifiedpermissions.PolicyStoreArgs{\n\t\t\tValidationSettings: \u0026verifiedpermissions.PolicyStoreValidationSettingsArgs{\n\t\t\t\tMode: pulumi.String(\"STRICT\"),\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.verifiedpermissions.PolicyStore;\nimport com.pulumi.aws.verifiedpermissions.PolicyStoreArgs;\nimport com.pulumi.aws.verifiedpermissions.inputs.PolicyStoreValidationSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic 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 PolicyStore(\"example\", PolicyStoreArgs.builder() \n .validationSettings(PolicyStoreValidationSettingsArgs.builder()\n .mode(\"STRICT\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:verifiedpermissions:PolicyStore\n properties:\n validationSettings:\n mode: STRICT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import Verified Permissions Policy Store using the `policy_store_id`. For example:\n\nconsole\n\n % pulumi import aws_verifiedpermissions_policy_store.example DxQg2j8xvXJQ1tQCYNWj9T\n\n", "properties": { @@ -361687,6 +365790,9 @@ "outputs": { "description": "A collection of values returned by getElasticIp.\n", "properties": { + "arn": { + "type": "string" + }, "associationId": { "description": "ID representing the association of the address with an instance in a VPC.\n", "type": "string" @@ -361762,6 +365868,7 @@ } }, "required": [ + "arn", "associationId", "carrierIp", "customerOwnedIp", @@ -374015,6 +378122,47 @@ "type": "object" } }, + "aws:identitystore/getGroups:getGroups": { + "description": "Data source for managing an AWS SSO Identity Store Groups.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssoadmin.getInstances({});\nconst exampleGetGroups = example.then(example =\u003e aws.identitystore.getGroups({\n identityStoreId: example.identityStoreIds?.[0],\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssoadmin.get_instances()\nexample_get_groups = aws.identitystore.get_groups(identity_store_id=example.identity_store_ids[0])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsoAdmin.GetInstances.Invoke();\n\n var exampleGetGroups = Aws.IdentityStore.GetGroups.Invoke(new()\n {\n IdentityStoreId = example.Apply(getInstancesResult =\u003e getInstancesResult.IdentityStoreIds[0]),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := ssoadmin.GetInstances(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = identitystore.GetGroups(ctx, \u0026identitystore.GetGroupsArgs{\n\t\t\tIdentityStoreId: example.IdentityStoreIds[0],\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssoadmin.SsoadminFunctions;\nimport com.pulumi.aws.identitystore.IdentitystoreFunctions;\nimport com.pulumi.aws.identitystore.inputs.GetGroupsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsoadminFunctions.getInstances();\n\n final var exampleGetGroups = IdentitystoreFunctions.getGroups(GetGroupsArgs.builder()\n .identityStoreId(example.applyValue(getInstancesResult -\u003e getInstancesResult.identityStoreIds()[0]))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssoadmin:getInstances\n Arguments: {}\n exampleGetGroups:\n fn::invoke:\n Function: aws:identitystore:getGroups\n Arguments:\n identityStoreId: ${example.identityStoreIds[0]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "inputs": { + "description": "A collection of arguments for invoking getGroups.\n", + "properties": { + "identityStoreId": { + "type": "string", + "description": "Identity Store ID associated with the Single Sign-On (SSO) Instance.\n" + } + }, + "type": "object", + "required": [ + "identityStoreId" + ] + }, + "outputs": { + "description": "A collection of values returned by getGroups.\n", + "properties": { + "groups": { + "description": "List of Identity Store Groups\n", + "items": { + "$ref": "#/types/aws:identitystore/getGroupsGroup:getGroupsGroup" + }, + "type": "array" + }, + "id": { + "description": "The provider-assigned unique ID for this managed resource.\n", + "type": "string" + }, + "identityStoreId": { + "type": "string" + } + }, + "required": [ + "groups", + "identityStoreId", + "id" + ], + "type": "object" + } + }, "aws:identitystore/getUser:getUser": { "description": "Use this data source to get an Identity Store User.\n\n", "inputs": { @@ -380445,7 +384593,7 @@ "additionalProperties": { "type": "string" }, - "description": "Map of tags assigned to the subnet group.\n" + "description": "Map of tags assigned to the user.\n" }, "userName": { "type": "string", @@ -380480,14 +384628,14 @@ "type": "string" }, "minimumEngineVersion": { - "description": "The minimum engine version supported for the user.\n", + "description": "Minimum engine version supported for the user.\n", "type": "string" }, "tags": { "additionalProperties": { "type": "string" }, - "description": "Map of tags assigned to the subnet group.\n", + "description": "Map of tags assigned to the user.\n", "type": "object" }, "userName": { From 21bd0270933cfd46381a355a7cee91b02aade61f Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Tue, 30 Apr 2024 10:40:59 -0400 Subject: [PATCH 10/13] make build_sdks --- sdk/dotnet/AppMesh/Inputs/MeshSpecArgs.cs | 6 + .../Inputs/MeshSpecEgressFilterArgs.cs | 4 - .../Inputs/MeshSpecEgressFilterGetArgs.cs | 4 - sdk/dotnet/AppMesh/Inputs/MeshSpecGetArgs.cs | 6 + .../Inputs/MeshSpecServiceDiscoveryArgs.cs | 23 + .../Inputs/MeshSpecServiceDiscoveryGetArgs.cs | 23 + .../AppMesh/Outputs/GetMeshSpecResult.cs | 7 +- .../GetMeshSpecServiceDiscoveryResult.cs | 24 + sdk/dotnet/AppMesh/Outputs/MeshSpec.cs | 10 +- .../AppMesh/Outputs/MeshSpecEgressFilter.cs | 4 - .../Outputs/MeshSpecServiceDiscovery.cs | 24 + ...finitionRetryStrategyEvaluateOnExitArgs.cs | 2 +- ...itionRetryStrategyEvaluateOnExitGetArgs.cs | 2 +- sdk/dotnet/Batch/JobDefinition.cs | 27 +- ...obDefinitionRetryStrategyEvaluateOnExit.cs | 2 +- sdk/dotnet/BcmData/Export.cs | 215 + sdk/dotnet/BcmData/Inputs/ExportExportArgs.cs | 74 + .../Inputs/ExportExportDataQueryArgs.cs | 38 + .../Inputs/ExportExportDataQueryGetArgs.cs | 38 + ...xportExportDestinationConfigurationArgs.cs | 32 + ...rtExportDestinationConfigurationGetArgs.cs | 32 + ...stinationConfigurationS3DestinationArgs.cs | 50 + ...nationConfigurationS3DestinationGetArgs.cs | 50 + ...nS3DestinationS3OutputConfigurationArgs.cs | 44 + ...DestinationS3OutputConfigurationGetArgs.cs | 44 + .../BcmData/Inputs/ExportExportGetArgs.cs | 74 + .../Inputs/ExportExportRefreshCadenceArgs.cs | 26 + .../ExportExportRefreshCadenceGetArgs.cs | 26 + .../BcmData/Inputs/ExportTimeoutsArgs.cs | 38 + .../BcmData/Inputs/ExportTimeoutsGetArgs.cs | 38 + sdk/dotnet/BcmData/Outputs/ExportExport.cs | 63 + .../BcmData/Outputs/ExportExportDataQuery.cs | 35 + .../ExportExportDestinationConfiguration.cs | 27 + ...rtDestinationConfigurationS3Destination.cs | 49 + ...ationS3DestinationS3OutputConfiguration.cs | 49 + .../Outputs/ExportExportRefreshCadence.cs | 27 + sdk/dotnet/BcmData/Outputs/ExportTimeouts.cs | 42 + sdk/dotnet/BcmData/README.md | 1 + sdk/dotnet/Bedrock/AgentAgent.cs | 446 + sdk/dotnet/Bedrock/AgentAgentActionGroup.cs | 252 + sdk/dotnet/Bedrock/AgentAgentAlias.cs | 246 + sdk/dotnet/Bedrock/AgentKnowledgeBase.cs | 303 + ...AgentActionGroupActionGroupExecutorArgs.cs | 26 + ...ntActionGroupActionGroupExecutorGetArgs.cs | 26 + .../AgentAgentActionGroupApiSchemaArgs.cs | 32 + .../AgentAgentActionGroupApiSchemaGetArgs.cs | 32 + .../AgentAgentActionGroupApiSchemaS3Args.cs | 34 + ...AgentAgentActionGroupApiSchemaS3GetArgs.cs | 34 + ...AgentAgentAliasRoutingConfigurationArgs.cs | 26 + ...ntAgentAliasRoutingConfigurationGetArgs.cs | 26 + .../Inputs/AgentAgentAliasTimeoutsArgs.cs | 38 + .../Inputs/AgentAgentAliasTimeoutsGetArgs.cs | 38 + ...entAgentPromptOverrideConfigurationArgs.cs | 40 + ...AgentPromptOverrideConfigurationGetArgs.cs | 40 + .../Bedrock/Inputs/AgentAgentTimeoutsArgs.cs | 38 + .../Inputs/AgentAgentTimeoutsGetArgs.cs | 38 + ...ledgeBaseKnowledgeBaseConfigurationArgs.cs | 32 + ...geBaseKnowledgeBaseConfigurationGetArgs.cs | 32 + ...ionVectorKnowledgeBaseConfigurationArgs.cs | 26 + ...VectorKnowledgeBaseConfigurationGetArgs.cs | 26 + ...ntKnowledgeBaseStorageConfigurationArgs.cs | 50 + ...nowledgeBaseStorageConfigurationGetArgs.cs | 50 + ...onOpensearchServerlessConfigurationArgs.cs | 38 + ...ServerlessConfigurationFieldMappingArgs.cs | 38 + ...verlessConfigurationFieldMappingGetArgs.cs | 38 + ...pensearchServerlessConfigurationGetArgs.cs | 38 + ...eConfigurationPineconeConfigurationArgs.cs | 44 + ...onPineconeConfigurationFieldMappingArgs.cs | 32 + ...ineconeConfigurationFieldMappingGetArgs.cs | 32 + ...nfigurationPineconeConfigurationGetArgs.cs | 44 + ...torageConfigurationRdsConfigurationArgs.cs | 50 + ...urationRdsConfigurationFieldMappingArgs.cs | 44 + ...tionRdsConfigurationFieldMappingGetArgs.cs | 44 + ...ageConfigurationRdsConfigurationGetArgs.cs | 50 + ...onRedisEnterpriseCloudConfigurationArgs.cs | 44 + ...priseCloudConfigurationFieldMappingArgs.cs | 38 + ...seCloudConfigurationFieldMappingGetArgs.cs | 38 + ...edisEnterpriseCloudConfigurationGetArgs.cs | 44 + .../Inputs/AgentKnowledgeBaseTimeoutsArgs.cs | 38 + .../AgentKnowledgeBaseTimeoutsGetArgs.cs | 38 + ...gentAgentActionGroupActionGroupExecutor.cs | 27 + .../Outputs/AgentAgentActionGroupApiSchema.cs | 35 + .../AgentAgentActionGroupApiSchemaS3.cs | 37 + .../AgentAgentAliasRoutingConfiguration.cs | 27 + .../Outputs/AgentAgentAliasTimeouts.cs | 42 + .../AgentAgentPromptOverrideConfiguration.cs | 37 + .../Bedrock/Outputs/AgentAgentTimeouts.cs | 42 + ...KnowledgeBaseKnowledgeBaseConfiguration.cs | 35 + ...urationVectorKnowledgeBaseConfiguration.cs | 27 + .../AgentKnowledgeBaseStorageConfiguration.cs | 56 + ...rationOpensearchServerlessConfiguration.cs | 42 + ...archServerlessConfigurationFieldMapping.cs | 42 + ...orageConfigurationPineconeConfiguration.cs | 49 + ...rationPineconeConfigurationFieldMapping.cs | 35 + ...aseStorageConfigurationRdsConfiguration.cs | 56 + ...nfigurationRdsConfigurationFieldMapping.cs | 49 + ...rationRedisEnterpriseCloudConfiguration.cs | 49 + ...nterpriseCloudConfigurationFieldMapping.cs | 42 + .../Outputs/AgentKnowledgeBaseTimeouts.cs | 42 + sdk/dotnet/CloudFormation/StackSet.cs | 2 + sdk/dotnet/CodeCommit/Repository.cs | 6 +- sdk/dotnet/Config/Config.cs | 4 + .../Inputs/CostCategoryRuleRuleAndAndArgs.cs | 32 + ...tCategoryRuleRuleAndAndCostCategoryArgs.cs | 50 + ...tegoryRuleRuleAndAndCostCategoryGetArgs.cs | 50 + ...CostCategoryRuleRuleAndAndDimensionArgs.cs | 50 + ...tCategoryRuleRuleAndAndDimensionGetArgs.cs | 50 + .../CostCategoryRuleRuleAndAndGetArgs.cs | 32 + .../CostCategoryRuleRuleAndAndTagsArgs.cs | 50 + .../CostCategoryRuleRuleAndAndTagsGetArgs.cs | 50 + .../Inputs/CostCategoryRuleRuleAndArgs.cs | 19 + .../Inputs/CostCategoryRuleRuleAndGetArgs.cs | 19 + .../Inputs/CostCategoryRuleRuleAndNotArgs.cs | 32 + ...tCategoryRuleRuleAndNotCostCategoryArgs.cs | 50 + ...tegoryRuleRuleAndNotCostCategoryGetArgs.cs | 50 + ...CostCategoryRuleRuleAndNotDimensionArgs.cs | 50 + ...tCategoryRuleRuleAndNotDimensionGetArgs.cs | 50 + .../CostCategoryRuleRuleAndNotGetArgs.cs | 32 + .../CostCategoryRuleRuleAndNotTagsArgs.cs | 50 + .../CostCategoryRuleRuleAndNotTagsGetArgs.cs | 50 + .../Inputs/CostCategoryRuleRuleAndOrArgs.cs | 32 + ...stCategoryRuleRuleAndOrCostCategoryArgs.cs | 50 + ...ategoryRuleRuleAndOrCostCategoryGetArgs.cs | 50 + .../CostCategoryRuleRuleAndOrDimensionArgs.cs | 50 + ...stCategoryRuleRuleAndOrDimensionGetArgs.cs | 50 + .../CostCategoryRuleRuleAndOrGetArgs.cs | 32 + .../CostCategoryRuleRuleAndOrTagsArgs.cs | 50 + .../CostCategoryRuleRuleAndOrTagsGetArgs.cs | 50 + .../Inputs/CostCategoryRuleRuleNotAndArgs.cs | 32 + ...tCategoryRuleRuleNotAndCostCategoryArgs.cs | 50 + ...tegoryRuleRuleNotAndCostCategoryGetArgs.cs | 50 + ...CostCategoryRuleRuleNotAndDimensionArgs.cs | 50 + ...tCategoryRuleRuleNotAndDimensionGetArgs.cs | 50 + .../CostCategoryRuleRuleNotAndGetArgs.cs | 32 + .../CostCategoryRuleRuleNotAndTagsArgs.cs | 50 + .../CostCategoryRuleRuleNotAndTagsGetArgs.cs | 50 + .../Inputs/CostCategoryRuleRuleNotArgs.cs | 19 + .../Inputs/CostCategoryRuleRuleNotGetArgs.cs | 19 + .../Inputs/CostCategoryRuleRuleNotNotArgs.cs | 32 + ...tCategoryRuleRuleNotNotCostCategoryArgs.cs | 50 + ...tegoryRuleRuleNotNotCostCategoryGetArgs.cs | 50 + ...CostCategoryRuleRuleNotNotDimensionArgs.cs | 50 + ...tCategoryRuleRuleNotNotDimensionGetArgs.cs | 50 + .../CostCategoryRuleRuleNotNotGetArgs.cs | 32 + .../CostCategoryRuleRuleNotNotTagsArgs.cs | 50 + .../CostCategoryRuleRuleNotNotTagsGetArgs.cs | 50 + .../Inputs/CostCategoryRuleRuleNotOrArgs.cs | 32 + ...stCategoryRuleRuleNotOrCostCategoryArgs.cs | 50 + ...ategoryRuleRuleNotOrCostCategoryGetArgs.cs | 50 + .../CostCategoryRuleRuleNotOrDimensionArgs.cs | 50 + ...stCategoryRuleRuleNotOrDimensionGetArgs.cs | 50 + .../CostCategoryRuleRuleNotOrGetArgs.cs | 32 + .../CostCategoryRuleRuleNotOrTagsArgs.cs | 50 + .../CostCategoryRuleRuleNotOrTagsGetArgs.cs | 50 + .../Inputs/CostCategoryRuleRuleOrAndArgs.cs | 32 + ...stCategoryRuleRuleOrAndCostCategoryArgs.cs | 50 + ...ategoryRuleRuleOrAndCostCategoryGetArgs.cs | 50 + .../CostCategoryRuleRuleOrAndDimensionArgs.cs | 50 + ...stCategoryRuleRuleOrAndDimensionGetArgs.cs | 50 + .../CostCategoryRuleRuleOrAndGetArgs.cs | 32 + .../CostCategoryRuleRuleOrAndTagsArgs.cs | 50 + .../CostCategoryRuleRuleOrAndTagsGetArgs.cs | 50 + .../Inputs/CostCategoryRuleRuleOrArgs.cs | 19 + .../Inputs/CostCategoryRuleRuleOrGetArgs.cs | 19 + .../Inputs/CostCategoryRuleRuleOrNotArgs.cs | 32 + ...stCategoryRuleRuleOrNotCostCategoryArgs.cs | 50 + ...ategoryRuleRuleOrNotCostCategoryGetArgs.cs | 50 + .../CostCategoryRuleRuleOrNotDimensionArgs.cs | 50 + ...stCategoryRuleRuleOrNotDimensionGetArgs.cs | 50 + .../CostCategoryRuleRuleOrNotGetArgs.cs | 32 + .../CostCategoryRuleRuleOrNotTagsArgs.cs | 50 + .../CostCategoryRuleRuleOrNotTagsGetArgs.cs | 50 + .../Inputs/CostCategoryRuleRuleOrOrArgs.cs | 32 + ...ostCategoryRuleRuleOrOrCostCategoryArgs.cs | 50 + ...CategoryRuleRuleOrOrCostCategoryGetArgs.cs | 50 + .../CostCategoryRuleRuleOrOrDimensionArgs.cs | 50 + ...ostCategoryRuleRuleOrOrDimensionGetArgs.cs | 50 + .../Inputs/CostCategoryRuleRuleOrOrGetArgs.cs | 32 + .../CostCategoryRuleRuleOrOrTagsArgs.cs | 50 + .../CostCategoryRuleRuleOrOrTagsGetArgs.cs | 50 + .../Outputs/CostCategoryRuleRuleAnd.cs | 12 + .../Outputs/CostCategoryRuleRuleAndAnd.cs | 36 + .../CostCategoryRuleRuleAndAndCostCategory.cs | 42 + .../CostCategoryRuleRuleAndAndDimension.cs | 42 + .../Outputs/CostCategoryRuleRuleAndAndTags.cs | 42 + .../Outputs/CostCategoryRuleRuleAndNot.cs | 36 + .../CostCategoryRuleRuleAndNotCostCategory.cs | 42 + .../CostCategoryRuleRuleAndNotDimension.cs | 42 + .../Outputs/CostCategoryRuleRuleAndNotTags.cs | 42 + .../Outputs/CostCategoryRuleRuleAndOr.cs | 36 + .../CostCategoryRuleRuleAndOrCostCategory.cs | 42 + .../CostCategoryRuleRuleAndOrDimension.cs | 42 + .../Outputs/CostCategoryRuleRuleAndOrTags.cs | 42 + .../Outputs/CostCategoryRuleRuleNot.cs | 12 + .../Outputs/CostCategoryRuleRuleNotAnd.cs | 36 + .../CostCategoryRuleRuleNotAndCostCategory.cs | 42 + .../CostCategoryRuleRuleNotAndDimension.cs | 42 + .../Outputs/CostCategoryRuleRuleNotAndTags.cs | 42 + .../Outputs/CostCategoryRuleRuleNotNot.cs | 36 + .../CostCategoryRuleRuleNotNotCostCategory.cs | 42 + .../CostCategoryRuleRuleNotNotDimension.cs | 42 + .../Outputs/CostCategoryRuleRuleNotNotTags.cs | 42 + .../Outputs/CostCategoryRuleRuleNotOr.cs | 36 + .../CostCategoryRuleRuleNotOrCostCategory.cs | 42 + .../CostCategoryRuleRuleNotOrDimension.cs | 42 + .../Outputs/CostCategoryRuleRuleNotOrTags.cs | 42 + .../Outputs/CostCategoryRuleRuleOr.cs | 12 + .../Outputs/CostCategoryRuleRuleOrAnd.cs | 36 + .../CostCategoryRuleRuleOrAndCostCategory.cs | 42 + .../CostCategoryRuleRuleOrAndDimension.cs | 42 + .../Outputs/CostCategoryRuleRuleOrAndTags.cs | 42 + .../Outputs/CostCategoryRuleRuleOrNot.cs | 36 + .../CostCategoryRuleRuleOrNotCostCategory.cs | 42 + .../CostCategoryRuleRuleOrNotDimension.cs | 42 + .../Outputs/CostCategoryRuleRuleOrNotTags.cs | 42 + .../Outputs/CostCategoryRuleRuleOrOr.cs | 36 + .../CostCategoryRuleRuleOrOrCostCategory.cs | 42 + .../CostCategoryRuleRuleOrOrDimension.cs | 42 + .../Outputs/CostCategoryRuleRuleOrOrTags.cs | 42 + ...ategoryRuleRuleAndAndCostCategoryResult.cs | 42 + ...stCategoryRuleRuleAndAndDimensionResult.cs | 42 + .../GetCostCategoryRuleRuleAndAndResult.cs | 42 + .../GetCostCategoryRuleRuleAndAndTagResult.cs | 42 + ...ategoryRuleRuleAndNotCostCategoryResult.cs | 42 + ...stCategoryRuleRuleAndNotDimensionResult.cs | 42 + .../GetCostCategoryRuleRuleAndNotResult.cs | 42 + .../GetCostCategoryRuleRuleAndNotTagResult.cs | 42 + ...CategoryRuleRuleAndOrCostCategoryResult.cs | 42 + ...ostCategoryRuleRuleAndOrDimensionResult.cs | 42 + .../GetCostCategoryRuleRuleAndOrResult.cs | 42 + .../GetCostCategoryRuleRuleAndOrTagResult.cs | 42 + .../GetCostCategoryRuleRuleAndResult.cs | 21 + ...ategoryRuleRuleNotAndCostCategoryResult.cs | 42 + ...stCategoryRuleRuleNotAndDimensionResult.cs | 42 + .../GetCostCategoryRuleRuleNotAndResult.cs | 42 + .../GetCostCategoryRuleRuleNotAndTagResult.cs | 42 + ...ategoryRuleRuleNotNotCostCategoryResult.cs | 42 + ...stCategoryRuleRuleNotNotDimensionResult.cs | 42 + .../GetCostCategoryRuleRuleNotNotResult.cs | 42 + .../GetCostCategoryRuleRuleNotNotTagResult.cs | 42 + ...CategoryRuleRuleNotOrCostCategoryResult.cs | 42 + ...ostCategoryRuleRuleNotOrDimensionResult.cs | 42 + .../GetCostCategoryRuleRuleNotOrResult.cs | 42 + .../GetCostCategoryRuleRuleNotOrTagResult.cs | 42 + .../GetCostCategoryRuleRuleNotResult.cs | 21 + ...CategoryRuleRuleOrAndCostCategoryResult.cs | 42 + ...ostCategoryRuleRuleOrAndDimensionResult.cs | 42 + .../GetCostCategoryRuleRuleOrAndResult.cs | 42 + .../GetCostCategoryRuleRuleOrAndTagResult.cs | 42 + ...CategoryRuleRuleOrNotCostCategoryResult.cs | 42 + ...ostCategoryRuleRuleOrNotDimensionResult.cs | 42 + .../GetCostCategoryRuleRuleOrNotResult.cs | 42 + .../GetCostCategoryRuleRuleOrNotTagResult.cs | 42 + ...tCategoryRuleRuleOrOrCostCategoryResult.cs | 42 + ...CostCategoryRuleRuleOrOrDimensionResult.cs | 42 + .../GetCostCategoryRuleRuleOrOrResult.cs | 42 + .../GetCostCategoryRuleRuleOrOrTagResult.cs | 42 + .../GetCostCategoryRuleRuleOrResult.cs | 21 + sdk/dotnet/Ec2/Eip.cs | 6 + sdk/dotnet/Ec2/GetElasticIp.cs | 4 + sdk/dotnet/ElastiCache/ReplicationGroup.cs | 33 + .../CrossAccountAttachment.cs | 304 + .../CrossAccountAttachmentResourceArgs.cs | 32 + .../CrossAccountAttachmentResourceGetArgs.cs | 32 + .../Outputs/CrossAccountAttachmentResource.cs | 35 + sdk/dotnet/IdentityStore/GetGroups.cs | 127 + .../Outputs/GetGroupsGroupResult.cs | 56 + sdk/dotnet/Inputs/ProviderEndpointArgs.cs | 6 + sdk/dotnet/Kinesis/FirehoseDeliveryStream.cs | 63 +- ...eliveryStreamSnowflakeConfigurationArgs.cs | 148 + ...nfigurationCloudwatchLoggingOptionsArgs.cs | 38 + ...gurationCloudwatchLoggingOptionsGetArgs.cs | 38 + ...veryStreamSnowflakeConfigurationGetArgs.cs | 148 + ...onfigurationProcessingConfigurationArgs.cs | 38 + ...igurationProcessingConfigurationGetArgs.cs | 38 + ...ionProcessingConfigurationProcessorArgs.cs | 38 + ...ProcessingConfigurationProcessorGetArgs.cs | 38 + ...singConfigurationProcessorParameterArgs.cs | 34 + ...gConfigurationProcessorParameterGetArgs.cs | 34 + ...owflakeConfigurationS3ConfigurationArgs.cs | 76 + ...nfigurationCloudwatchLoggingOptionsArgs.cs | 38 + ...gurationCloudwatchLoggingOptionsGetArgs.cs | 38 + ...lakeConfigurationS3ConfigurationGetArgs.cs | 76 + ...igurationSnowflakeRoleConfigurationArgs.cs | 32 + ...rationSnowflakeRoleConfigurationGetArgs.cs | 32 + ...figurationSnowflakeVpcConfigurationArgs.cs | 26 + ...urationSnowflakeVpcConfigurationGetArgs.cs | 26 + ...oseDeliveryStreamSnowflakeConfiguration.cs | 147 + ...keConfigurationCloudwatchLoggingOptions.cs | 42 + ...akeConfigurationProcessingConfiguration.cs | 35 + ...urationProcessingConfigurationProcessor.cs | 35 + ...ocessingConfigurationProcessorParameter.cs | 37 + ...amSnowflakeConfigurationS3Configuration.cs | 86 + ...S3ConfigurationCloudwatchLoggingOptions.cs | 42 + ...ConfigurationSnowflakeRoleConfiguration.cs | 35 + ...eConfigurationSnowflakeVpcConfiguration.cs | 27 + sdk/dotnet/MemoryDb/GetUser.cs | 8 +- .../Inputs/UserAuthenticationModeArgs.cs | 8 +- .../Inputs/UserAuthenticationModeGetArgs.cs | 8 +- .../GetUserAuthenticationModeResult.cs | 4 +- .../Outputs/UserAuthenticationMode.cs | 6 +- sdk/dotnet/MemoryDb/User.cs | 14 +- sdk/dotnet/Rds/Instance.cs | 18 + sdk/dotnet/Sagemaker/AppImageConfig.cs | 78 +- sdk/dotnet/Sagemaker/Domain.cs | 63 - ...ImageConfigCodeEditorAppImageConfigArgs.cs | 32 + ...EditorAppImageConfigContainerConfigArgs.cs | 56 + ...torAppImageConfigContainerConfigGetArgs.cs | 56 + ...ditorAppImageConfigFileSystemConfigArgs.cs | 40 + ...orAppImageConfigFileSystemConfigGetArgs.cs | 40 + ...geConfigCodeEditorAppImageConfigGetArgs.cs | 32 + ...AppImageConfigJupyterLabImageConfigArgs.cs | 6 + ...pyterLabImageConfigFileSystemConfigArgs.cs | 40 + ...erLabImageConfigFileSystemConfigGetArgs.cs | 40 + ...ImageConfigJupyterLabImageConfigGetArgs.cs | 6 + .../AppImageConfigCodeEditorAppImageConfig.cs | 35 + ...CodeEditorAppImageConfigContainerConfig.cs | 42 + ...odeEditorAppImageConfigFileSystemConfig.cs | 44 + .../AppImageConfigJupyterLabImageConfig.cs | 10 +- ...igJupyterLabImageConfigFileSystemConfig.cs | 44 + sdk/dotnet/Transfer/Server.cs | 18 + .../Inputs/PolicyDefinitionArgs.cs | 32 + .../Inputs/PolicyDefinitionGetArgs.cs | 32 + .../Inputs/PolicyDefinitionStaticArgs.cs | 32 + .../Inputs/PolicyDefinitionStaticGetArgs.cs | 32 + .../PolicyDefinitionTemplateLinkedArgs.cs | 38 + .../PolicyDefinitionTemplateLinkedGetArgs.cs | 38 + ...cyDefinitionTemplateLinkedPrincipalArgs.cs | 32 + ...efinitionTemplateLinkedPrincipalGetArgs.cs | 32 + ...icyDefinitionTemplateLinkedResourceArgs.cs | 32 + ...DefinitionTemplateLinkedResourceGetArgs.cs | 32 + .../Outputs/PolicyDefinition.cs | 35 + .../Outputs/PolicyDefinitionStatic.cs | 35 + .../Outputs/PolicyDefinitionTemplateLinked.cs | 42 + ...PolicyDefinitionTemplateLinkedPrincipal.cs | 35 + .../PolicyDefinitionTemplateLinkedResource.cs | 35 + sdk/dotnet/VerifiedPermissions/Policy.cs | 166 + sdk/go/aws/appmesh/pulumiTypes.go | 272 +- sdk/go/aws/batch/jobDefinition.go | 54 +- sdk/go/aws/batch/pulumiTypes.go | 6 +- sdk/go/aws/bcmdata/export.go | 319 + sdk/go/aws/bcmdata/init.go | 44 + sdk/go/aws/bcmdata/pulumiTypes.go | 1010 ++ sdk/go/aws/bedrock/agentAgent.go | 535 + sdk/go/aws/bedrock/agentAgentActionGroup.go | 378 + sdk/go/aws/bedrock/agentAgentAlias.go | 344 + sdk/go/aws/bedrock/agentKnowledgeBase.go | 403 + sdk/go/aws/bedrock/init.go | 28 + sdk/go/aws/bedrock/pulumiTypes.go | 3303 ++++ sdk/go/aws/cloudformation/stackSet.go | 2 + sdk/go/aws/codecommit/repository.go | 12 +- sdk/go/aws/config/pulumiTypes.go | 9 + sdk/go/aws/costexplorer/pulumiTypes.go | 14296 ++++++++++++++-- sdk/go/aws/ec2/eip.go | 7 + sdk/go/aws/ec2/getElasticIp.go | 5 + sdk/go/aws/elasticache/replicationGroup.go | 45 + .../crossAccountAttachment.go | 395 + sdk/go/aws/globalaccelerator/init.go | 7 + sdk/go/aws/globalaccelerator/pulumiTypes.go | 110 + sdk/go/aws/identitystore/getGroups.go | 127 + sdk/go/aws/identitystore/pulumiTypes.go | 137 + sdk/go/aws/kinesis/firehoseDeliveryStream.go | 74 +- sdk/go/aws/kinesis/pulumiTypes.go | 1850 ++ sdk/go/aws/memorydb/getUser.go | 12 +- sdk/go/aws/memorydb/pulumiTypes.go | 36 +- sdk/go/aws/memorydb/user.go | 28 +- sdk/go/aws/pulumiTypes.go | 9 + sdk/go/aws/rds/instance.go | 15 + sdk/go/aws/sagemaker/appImageConfig.go | 96 +- sdk/go/aws/sagemaker/domain.go | 67 - sdk/go/aws/sagemaker/pulumiTypes.go | 740 + sdk/go/aws/transfer/server.go | 15 + sdk/go/aws/verifiedpermissions/init.go | 7 + sdk/go/aws/verifiedpermissions/policy.go | 301 + sdk/go/aws/verifiedpermissions/pulumiTypes.go | 819 + .../aws/appmesh/inputs/MeshSpecArgs.java | 38 + .../inputs/MeshSpecEgressFilterArgs.java | 24 - .../inputs/MeshSpecServiceDiscoveryArgs.java | 63 + .../aws/appmesh/outputs/GetMeshSpec.java | 19 + .../outputs/GetMeshSpecServiceDiscovery.java | 50 + .../pulumi/aws/appmesh/outputs/MeshSpec.java | 22 + .../appmesh/outputs/MeshSpecEgressFilter.java | 10 - .../outputs/MeshSpecServiceDiscovery.java | 49 + .../com/pulumi/aws/batch/JobDefinition.java | 18 +- .../pulumi/aws/batch/JobDefinitionArgs.java | 36 +- ...nitionRetryStrategyEvaluateOnExitArgs.java | 8 +- .../aws/batch/inputs/JobDefinitionState.java | 36 +- ...DefinitionRetryStrategyEvaluateOnExit.java | 4 +- .../java/com/pulumi/aws/bcmdata/Export.java | 183 + .../com/pulumi/aws/bcmdata/ExportArgs.java | 120 + .../aws/bcmdata/inputs/ExportExportArgs.java | 306 + .../inputs/ExportExportDataQueryArgs.java | 126 + ...ortExportDestinationConfigurationArgs.java | 94 + ...inationConfigurationS3DestinationArgs.java | 216 + ...3DestinationS3OutputConfigurationArgs.java | 205 + .../ExportExportRefreshCadenceArgs.java | 85 + .../aws/bcmdata/inputs/ExportState.java | 165 + .../bcmdata/inputs/ExportTimeoutsArgs.java | 157 + .../aws/bcmdata/outputs/ExportExport.java | 178 + .../outputs/ExportExportDataQuery.java | 82 + .../ExportExportDestinationConfiguration.java | 60 + ...DestinationConfigurationS3Destination.java | 131 + ...ionS3DestinationS3OutputConfiguration.java | 127 + .../outputs/ExportExportRefreshCadence.java | 58 + .../aws/bcmdata/outputs/ExportTimeouts.java | 99 + .../com/pulumi/aws/bedrock/AgentAgent.java | 371 + .../aws/bedrock/AgentAgentActionGroup.java | 233 + .../bedrock/AgentAgentActionGroupArgs.java | 312 + .../pulumi/aws/bedrock/AgentAgentAlias.java | 293 + .../aws/bedrock/AgentAgentAliasArgs.java | 277 + .../pulumi/aws/bedrock/AgentAgentArgs.java | 447 + .../aws/bedrock/AgentKnowledgeBase.java | 276 + .../aws/bedrock/AgentKnowledgeBaseArgs.java | 293 + ...entActionGroupActionGroupExecutorArgs.java | 83 + .../AgentAgentActionGroupApiSchemaArgs.java | 121 + .../AgentAgentActionGroupApiSchemaS3Args.java | 128 + .../inputs/AgentAgentActionGroupState.java | 319 + ...entAgentAliasRoutingConfigurationArgs.java | 85 + .../bedrock/inputs/AgentAgentAliasState.java | 369 + .../inputs/AgentAgentAliasTimeoutsArgs.java | 157 + ...tAgentPromptOverrideConfigurationArgs.java | 147 + .../aws/bedrock/inputs/AgentAgentState.java | 593 + .../inputs/AgentAgentTimeoutsArgs.java | 157 + ...dgeBaseKnowledgeBaseConfigurationArgs.java | 125 + ...nVectorKnowledgeBaseConfigurationArgs.java | 85 + .../inputs/AgentKnowledgeBaseState.java | 427 + ...KnowledgeBaseStorageConfigurationArgs.java | 239 + ...OpensearchServerlessConfigurationArgs.java | 165 + ...rverlessConfigurationFieldMappingArgs.java | 157 + ...onfigurationPineconeConfigurationArgs.java | 202 + ...PineconeConfigurationFieldMappingArgs.java | 120 + ...rageConfigurationRdsConfigurationArgs.java | 245 + ...ationRdsConfigurationFieldMappingArgs.java | 205 + ...RedisEnterpriseCloudConfigurationArgs.java | 205 + ...iseCloudConfigurationFieldMappingArgs.java | 157 + .../AgentKnowledgeBaseTimeoutsArgs.java | 157 + ...ntAgentActionGroupActionGroupExecutor.java | 57 + .../AgentAgentActionGroupApiSchema.java | 79 + .../AgentAgentActionGroupApiSchemaS3.java | 82 + .../AgentAgentAliasRoutingConfiguration.java | 58 + .../outputs/AgentAgentAliasTimeouts.java | 99 + ...AgentAgentPromptOverrideConfiguration.java | 90 + .../bedrock/outputs/AgentAgentTimeouts.java | 99 + ...owledgeBaseKnowledgeBaseConfiguration.java | 82 + ...ationVectorKnowledgeBaseConfiguration.java | 58 + ...gentKnowledgeBaseStorageConfiguration.java | 148 + ...tionOpensearchServerlessConfiguration.java | 105 + ...chServerlessConfigurationFieldMapping.java | 99 + ...ageConfigurationPineconeConfiguration.java | 126 + ...tionPineconeConfigurationFieldMapping.java | 78 + ...eStorageConfigurationRdsConfiguration.java | 151 + ...igurationRdsConfigurationFieldMapping.java | 127 + ...tionRedisEnterpriseCloudConfiguration.java | 128 + ...erpriseCloudConfigurationFieldMapping.java | 99 + .../outputs/AgentKnowledgeBaseTimeouts.java | 99 + .../pulumi/aws/cloudformation/StackSet.java | 2 + .../com/pulumi/aws/codecommit/Repository.java | 4 +- .../pulumi/aws/codecommit/RepositoryArgs.java | 8 +- .../codecommit/inputs/RepositoryState.java | 8 +- .../pulumi/aws/config/inputs/Endpoints.java | 21 + .../CostCategoryRuleRuleAndAndArgs.java | 119 + ...ategoryRuleRuleAndAndCostCategoryArgs.java | 178 + ...stCategoryRuleRuleAndAndDimensionArgs.java | 178 + .../CostCategoryRuleRuleAndAndTagsArgs.java | 178 + .../inputs/CostCategoryRuleRuleAndArgs.java | 63 + .../CostCategoryRuleRuleAndNotArgs.java | 119 + ...ategoryRuleRuleAndNotCostCategoryArgs.java | 178 + ...stCategoryRuleRuleAndNotDimensionArgs.java | 178 + .../CostCategoryRuleRuleAndNotTagsArgs.java | 178 + .../inputs/CostCategoryRuleRuleAndOrArgs.java | 119 + ...CategoryRuleRuleAndOrCostCategoryArgs.java | 178 + ...ostCategoryRuleRuleAndOrDimensionArgs.java | 178 + .../CostCategoryRuleRuleAndOrTagsArgs.java | 178 + .../CostCategoryRuleRuleNotAndArgs.java | 119 + ...ategoryRuleRuleNotAndCostCategoryArgs.java | 178 + ...stCategoryRuleRuleNotAndDimensionArgs.java | 178 + .../CostCategoryRuleRuleNotAndTagsArgs.java | 178 + .../inputs/CostCategoryRuleRuleNotArgs.java | 63 + .../CostCategoryRuleRuleNotNotArgs.java | 119 + ...ategoryRuleRuleNotNotCostCategoryArgs.java | 178 + ...stCategoryRuleRuleNotNotDimensionArgs.java | 178 + .../CostCategoryRuleRuleNotNotTagsArgs.java | 178 + .../inputs/CostCategoryRuleRuleNotOrArgs.java | 119 + ...CategoryRuleRuleNotOrCostCategoryArgs.java | 178 + ...ostCategoryRuleRuleNotOrDimensionArgs.java | 178 + .../CostCategoryRuleRuleNotOrTagsArgs.java | 178 + .../inputs/CostCategoryRuleRuleOrAndArgs.java | 119 + ...CategoryRuleRuleOrAndCostCategoryArgs.java | 178 + ...ostCategoryRuleRuleOrAndDimensionArgs.java | 178 + .../CostCategoryRuleRuleOrAndTagsArgs.java | 178 + .../inputs/CostCategoryRuleRuleOrArgs.java | 63 + .../inputs/CostCategoryRuleRuleOrNotArgs.java | 119 + ...CategoryRuleRuleOrNotCostCategoryArgs.java | 178 + ...ostCategoryRuleRuleOrNotDimensionArgs.java | 178 + .../CostCategoryRuleRuleOrNotTagsArgs.java | 178 + .../inputs/CostCategoryRuleRuleOrOrArgs.java | 119 + ...tCategoryRuleRuleOrOrCostCategoryArgs.java | 178 + ...CostCategoryRuleRuleOrOrDimensionArgs.java | 178 + .../CostCategoryRuleRuleOrOrTagsArgs.java | 178 + .../outputs/CostCategoryRuleRuleAnd.java | 49 + .../outputs/CostCategoryRuleRuleAndAnd.java | 85 + ...ostCategoryRuleRuleAndAndCostCategory.java | 106 + .../CostCategoryRuleRuleAndAndDimension.java | 106 + .../CostCategoryRuleRuleAndAndTags.java | 106 + .../outputs/CostCategoryRuleRuleAndNot.java | 85 + ...ostCategoryRuleRuleAndNotCostCategory.java | 106 + .../CostCategoryRuleRuleAndNotDimension.java | 106 + .../CostCategoryRuleRuleAndNotTags.java | 106 + .../outputs/CostCategoryRuleRuleAndOr.java | 85 + ...CostCategoryRuleRuleAndOrCostCategory.java | 106 + .../CostCategoryRuleRuleAndOrDimension.java | 106 + .../CostCategoryRuleRuleAndOrTags.java | 106 + .../outputs/CostCategoryRuleRuleNot.java | 49 + .../outputs/CostCategoryRuleRuleNotAnd.java | 85 + ...ostCategoryRuleRuleNotAndCostCategory.java | 106 + .../CostCategoryRuleRuleNotAndDimension.java | 106 + .../CostCategoryRuleRuleNotAndTags.java | 106 + .../outputs/CostCategoryRuleRuleNotNot.java | 85 + ...ostCategoryRuleRuleNotNotCostCategory.java | 106 + .../CostCategoryRuleRuleNotNotDimension.java | 106 + .../CostCategoryRuleRuleNotNotTags.java | 106 + .../outputs/CostCategoryRuleRuleNotOr.java | 85 + ...CostCategoryRuleRuleNotOrCostCategory.java | 106 + .../CostCategoryRuleRuleNotOrDimension.java | 106 + .../CostCategoryRuleRuleNotOrTags.java | 106 + .../outputs/CostCategoryRuleRuleOr.java | 49 + .../outputs/CostCategoryRuleRuleOrAnd.java | 85 + ...CostCategoryRuleRuleOrAndCostCategory.java | 106 + .../CostCategoryRuleRuleOrAndDimension.java | 106 + .../CostCategoryRuleRuleOrAndTags.java | 106 + .../outputs/CostCategoryRuleRuleOrNot.java | 85 + ...CostCategoryRuleRuleOrNotCostCategory.java | 106 + .../CostCategoryRuleRuleOrNotDimension.java | 106 + .../CostCategoryRuleRuleOrNotTags.java | 106 + .../outputs/CostCategoryRuleRuleOrOr.java | 85 + .../CostCategoryRuleRuleOrOrCostCategory.java | 106 + .../CostCategoryRuleRuleOrOrDimension.java | 106 + .../outputs/CostCategoryRuleRuleOrOrTags.java | 106 + .../outputs/GetCostCategoryRuleRuleAnd.java | 81 + .../GetCostCategoryRuleRuleAndAnd.java | 116 + ...ostCategoryRuleRuleAndAndCostCategory.java | 111 + ...etCostCategoryRuleRuleAndAndDimension.java | 111 + .../GetCostCategoryRuleRuleAndAndTag.java | 111 + .../GetCostCategoryRuleRuleAndNot.java | 116 + ...ostCategoryRuleRuleAndNotCostCategory.java | 111 + ...etCostCategoryRuleRuleAndNotDimension.java | 111 + .../GetCostCategoryRuleRuleAndNotTag.java | 111 + .../outputs/GetCostCategoryRuleRuleAndOr.java | 116 + ...CostCategoryRuleRuleAndOrCostCategory.java | 111 + ...GetCostCategoryRuleRuleAndOrDimension.java | 111 + .../GetCostCategoryRuleRuleAndOrTag.java | 111 + .../outputs/GetCostCategoryRuleRuleNot.java | 81 + .../GetCostCategoryRuleRuleNotAnd.java | 116 + ...ostCategoryRuleRuleNotAndCostCategory.java | 111 + ...etCostCategoryRuleRuleNotAndDimension.java | 111 + .../GetCostCategoryRuleRuleNotAndTag.java | 111 + .../GetCostCategoryRuleRuleNotNot.java | 116 + ...ostCategoryRuleRuleNotNotCostCategory.java | 111 + ...etCostCategoryRuleRuleNotNotDimension.java | 111 + .../GetCostCategoryRuleRuleNotNotTag.java | 111 + .../outputs/GetCostCategoryRuleRuleNotOr.java | 116 + ...CostCategoryRuleRuleNotOrCostCategory.java | 111 + ...GetCostCategoryRuleRuleNotOrDimension.java | 111 + .../GetCostCategoryRuleRuleNotOrTag.java | 111 + .../outputs/GetCostCategoryRuleRuleOr.java | 81 + .../outputs/GetCostCategoryRuleRuleOrAnd.java | 116 + ...CostCategoryRuleRuleOrAndCostCategory.java | 111 + ...GetCostCategoryRuleRuleOrAndDimension.java | 111 + .../GetCostCategoryRuleRuleOrAndTag.java | 111 + .../outputs/GetCostCategoryRuleRuleOrNot.java | 116 + ...CostCategoryRuleRuleOrNotCostCategory.java | 111 + ...GetCostCategoryRuleRuleOrNotDimension.java | 111 + .../GetCostCategoryRuleRuleOrNotTag.java | 111 + .../outputs/GetCostCategoryRuleRuleOrOr.java | 116 + ...tCostCategoryRuleRuleOrOrCostCategory.java | 111 + .../GetCostCategoryRuleRuleOrOrDimension.java | 111 + .../GetCostCategoryRuleRuleOrOrTag.java | 111 + .../src/main/java/com/pulumi/aws/ec2/Eip.java | 6 + .../com/pulumi/aws/ec2/inputs/EipState.java | 17 + .../aws/ec2/outputs/GetElasticIpResult.java | 15 + .../aws/elasticache/ReplicationGroup.java | 24 + .../aws/elasticache/ReplicationGroupArgs.java | 57 + .../inputs/ReplicationGroupState.java | 57 + .../CrossAccountAttachment.java | 277 + .../CrossAccountAttachmentArgs.java | 225 + .../CrossAccountAttachmentResourceArgs.java | 120 + .../inputs/CrossAccountAttachmentState.java | 389 + .../CrossAccountAttachmentResource.java | 78 + .../identitystore/IdentitystoreFunctions.java | 183 + .../identitystore/inputs/GetGroupsArgs.java | 85 + .../inputs/GetGroupsPlainArgs.java | 74 + .../identitystore/outputs/GetGroupsGroup.java | 155 + .../outputs/GetGroupsResult.java | 101 + .../aws/inputs/ProviderEndpointArgs.java | 37 + .../aws/kinesis/FirehoseDeliveryStream.java | 73 +- .../kinesis/FirehoseDeliveryStreamArgs.java | 46 +- ...iveryStreamSnowflakeConfigurationArgs.java | 743 + ...igurationCloudwatchLoggingOptionsArgs.java | 158 + ...figurationProcessingConfigurationArgs.java | 132 + ...nProcessingConfigurationProcessorArgs.java | 136 + ...ngConfigurationProcessorParameterArgs.java | 133 + ...flakeConfigurationS3ConfigurationArgs.java | 396 + ...igurationCloudwatchLoggingOptionsArgs.java | 158 + ...urationSnowflakeRoleConfigurationArgs.java | 121 + ...gurationSnowflakeVpcConfigurationArgs.java | 85 + .../inputs/FirehoseDeliveryStreamState.java | 46 +- ...eDeliveryStreamSnowflakeConfiguration.java | 437 + ...ConfigurationCloudwatchLoggingOptions.java | 100 + ...eConfigurationProcessingConfiguration.java | 83 + ...ationProcessingConfigurationProcessor.java | 85 + ...essingConfigurationProcessorParameter.java | 85 + ...SnowflakeConfigurationS3Configuration.java | 236 + ...ConfigurationCloudwatchLoggingOptions.java | 100 + ...nfigurationSnowflakeRoleConfiguration.java | 79 + ...onfigurationSnowflakeVpcConfiguration.java | 58 + .../java/com/pulumi/aws/memorydb/User.java | 12 +- .../com/pulumi/aws/memorydb/UserArgs.java | 8 +- .../aws/memorydb/inputs/GetUserArgs.java | 8 +- .../aws/memorydb/inputs/GetUserPlainArgs.java | 6 +- .../inputs/UserAuthenticationModeArgs.java | 39 +- .../pulumi/aws/memorydb/inputs/UserState.java | 24 +- .../outputs/GetUserAuthenticationMode.java | 8 +- .../aws/memorydb/outputs/GetUserResult.java | 8 +- .../outputs/UserAuthenticationMode.java | 24 +- .../java/com/pulumi/aws/rds/Instance.java | 14 + .../java/com/pulumi/aws/rds/InstanceArgs.java | 37 + .../pulumi/aws/rds/inputs/InstanceState.java | 37 + .../pulumi/aws/sagemaker/AppImageConfig.java | 33 +- .../aws/sagemaker/AppImageConfigArgs.java | 58 + .../java/com/pulumi/aws/sagemaker/Domain.java | 5 +- ...ageConfigCodeEditorAppImageConfigArgs.java | 121 + ...itorAppImageConfigContainerConfigArgs.java | 179 + ...torAppImageConfigFileSystemConfigArgs.java | 166 + ...pImageConfigJupyterLabImageConfigArgs.java | 38 + ...terLabImageConfigFileSystemConfigArgs.java | 166 + .../sagemaker/inputs/AppImageConfigState.java | 58 + ...ppImageConfigCodeEditorAppImageConfig.java | 79 + ...deEditorAppImageConfigContainerConfig.java | 106 + ...eEditorAppImageConfigFileSystemConfig.java | 104 + .../AppImageConfigJupyterLabImageConfig.java | 22 + ...JupyterLabImageConfigFileSystemConfig.java | 104 + .../java/com/pulumi/aws/transfer/Server.java | 14 + .../com/pulumi/aws/transfer/ServerArgs.java | 37 + .../aws/transfer/inputs/ServerState.java | 37 + .../aws/verifiedpermissions/Policy.java | 167 + .../aws/verifiedpermissions/PolicyArgs.java | 133 + .../inputs/PolicyDefinitionArgs.java | 121 + .../inputs/PolicyDefinitionStaticArgs.java | 124 + .../PolicyDefinitionTemplateLinkedArgs.java | 163 + ...DefinitionTemplateLinkedPrincipalArgs.java | 125 + ...yDefinitionTemplateLinkedResourceArgs.java | 125 + .../inputs/PolicyState.java | 163 + .../outputs/PolicyDefinition.java | 79 + .../outputs/PolicyDefinitionStatic.java | 81 + .../PolicyDefinitionTemplateLinked.java | 104 + ...licyDefinitionTemplateLinkedPrincipal.java | 81 + ...olicyDefinitionTemplateLinkedResource.java | 81 + sdk/nodejs/batch/jobDefinition.ts | 27 +- sdk/nodejs/bcmdata/export.ts | 155 + sdk/nodejs/bcmdata/index.ts | 25 + sdk/nodejs/bedrock/agentAgent.ts | 325 + sdk/nodejs/bedrock/agentAgentActionGroup.ts | 209 + sdk/nodejs/bedrock/agentAgentAlias.ts | 194 + sdk/nodejs/bedrock/agentKnowledgeBase.ts | 235 + sdk/nodejs/bedrock/index.ts | 32 + sdk/nodejs/cloudformation/stackSet.ts | 2 + sdk/nodejs/codecommit/repository.ts | 6 +- sdk/nodejs/ec2/eip.ts | 4 + sdk/nodejs/ec2/getElasticIp.ts | 1 + sdk/nodejs/elasticache/replicationGroup.ts | 29 + .../crossAccountAttachment.ts | 214 + sdk/nodejs/globalaccelerator/index.ts | 8 + sdk/nodejs/identitystore/getGroups.ts | 88 + sdk/nodejs/identitystore/index.ts | 5 + sdk/nodejs/index.ts | 2 + sdk/nodejs/kinesis/firehoseDeliveryStream.ts | 50 +- sdk/nodejs/memorydb/getUser.ts | 8 +- sdk/nodejs/memorydb/user.ts | 14 +- sdk/nodejs/rds/instance.ts | 14 + sdk/nodejs/sagemaker/appImageConfig.ts | 56 +- sdk/nodejs/sagemaker/domain.ts | 39 - sdk/nodejs/transfer/server.ts | 14 + sdk/nodejs/tsconfig.json | 9 + sdk/nodejs/types/input.ts | 1442 +- sdk/nodejs/types/output.ts | 1843 +- sdk/nodejs/verifiedpermissions/index.ts | 8 + sdk/nodejs/verifiedpermissions/policy.ts | 144 + sdk/python/pulumi_aws/__init__.py | 59 + sdk/python/pulumi_aws/_inputs.py | 16 + sdk/python/pulumi_aws/appmesh/_inputs.py | 44 +- sdk/python/pulumi_aws/appmesh/outputs.py | 77 +- sdk/python/pulumi_aws/batch/_inputs.py | 4 +- sdk/python/pulumi_aws/batch/job_definition.py | 63 +- sdk/python/pulumi_aws/batch/outputs.py | 4 +- sdk/python/pulumi_aws/bcmdata/__init__.py | 10 + sdk/python/pulumi_aws/bcmdata/_inputs.py | 396 + sdk/python/pulumi_aws/bcmdata/export.py | 340 + sdk/python/pulumi_aws/bcmdata/outputs.py | 412 + sdk/python/pulumi_aws/bedrock/__init__.py | 4 + sdk/python/pulumi_aws/bedrock/_inputs.py | 987 ++ sdk/python/pulumi_aws/bedrock/agent_agent.py | 829 + .../bedrock/agent_agent_action_group.py | 558 + .../pulumi_aws/bedrock/agent_agent_alias.py | 482 + .../bedrock/agent_knowledge_base.py | 608 + sdk/python/pulumi_aws/bedrock/outputs.py | 1076 ++ .../pulumi_aws/cloudformation/stack_set.py | 4 + .../pulumi_aws/codecommit/repository.py | 14 +- sdk/python/pulumi_aws/config/outputs.py | 12 + sdk/python/pulumi_aws/costexplorer/_inputs.py | 2116 ++- sdk/python/pulumi_aws/costexplorer/outputs.py | 4203 ++++- sdk/python/pulumi_aws/ec2/eip.py | 20 + sdk/python/pulumi_aws/ec2/get_elastic_ip.py | 12 +- .../elasticache/replication_group.py | 82 + .../pulumi_aws/globalaccelerator/__init__.py | 1 + .../pulumi_aws/globalaccelerator/_inputs.py | 40 + .../cross_account_attachment.py | 491 + .../pulumi_aws/globalaccelerator/outputs.py | 49 + .../pulumi_aws/identitystore/__init__.py | 1 + .../pulumi_aws/identitystore/get_groups.py | 121 + .../pulumi_aws/identitystore/outputs.py | 63 + sdk/python/pulumi_aws/kinesis/_inputs.py | 738 + .../kinesis/firehose_delivery_stream.py | 119 +- sdk/python/pulumi_aws/kinesis/outputs.py | 735 + sdk/python/pulumi_aws/memorydb/_inputs.py | 41 +- sdk/python/pulumi_aws/memorydb/get_user.py | 8 +- sdk/python/pulumi_aws/memorydb/outputs.py | 41 +- sdk/python/pulumi_aws/memorydb/user.py | 30 +- sdk/python/pulumi_aws/rds/instance.py | 47 + sdk/python/pulumi_aws/sagemaker/_inputs.py | 234 +- .../pulumi_aws/sagemaker/app_image_config.py | 122 +- sdk/python/pulumi_aws/sagemaker/domain.py | 70 - sdk/python/pulumi_aws/sagemaker/outputs.py | 270 +- sdk/python/pulumi_aws/transfer/server.py | 47 + .../verifiedpermissions/__init__.py | 1 + .../pulumi_aws/verifiedpermissions/_inputs.py | 210 + .../pulumi_aws/verifiedpermissions/outputs.py | 239 + .../pulumi_aws/verifiedpermissions/policy.py | 299 + 737 files changed, 93463 insertions(+), 3277 deletions(-) create mode 100644 sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryArgs.cs create mode 100644 sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryGetArgs.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/GetMeshSpecServiceDiscoveryResult.cs create mode 100644 sdk/dotnet/AppMesh/Outputs/MeshSpecServiceDiscovery.cs create mode 100644 sdk/dotnet/BcmData/Export.cs create mode 100644 sdk/dotnet/BcmData/Inputs/ExportExportArgs.cs create mode 100644 sdk/dotnet/BcmData/Inputs/ExportExportDataQueryArgs.cs create mode 100644 sdk/dotnet/BcmData/Inputs/ExportExportDataQueryGetArgs.cs create mode 100644 sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationArgs.cs create mode 100644 sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationGetArgs.cs create mode 100644 sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationArgs.cs create mode 100644 sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationGetArgs.cs create mode 100644 sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs.cs create mode 100644 sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationGetArgs.cs create mode 100644 sdk/dotnet/BcmData/Inputs/ExportExportGetArgs.cs create mode 100644 sdk/dotnet/BcmData/Inputs/ExportExportRefreshCadenceArgs.cs create mode 100644 sdk/dotnet/BcmData/Inputs/ExportExportRefreshCadenceGetArgs.cs create mode 100644 sdk/dotnet/BcmData/Inputs/ExportTimeoutsArgs.cs create mode 100644 sdk/dotnet/BcmData/Inputs/ExportTimeoutsGetArgs.cs create mode 100644 sdk/dotnet/BcmData/Outputs/ExportExport.cs create mode 100644 sdk/dotnet/BcmData/Outputs/ExportExportDataQuery.cs create mode 100644 sdk/dotnet/BcmData/Outputs/ExportExportDestinationConfiguration.cs create mode 100644 sdk/dotnet/BcmData/Outputs/ExportExportDestinationConfigurationS3Destination.cs create mode 100644 sdk/dotnet/BcmData/Outputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration.cs create mode 100644 sdk/dotnet/BcmData/Outputs/ExportExportRefreshCadence.cs create mode 100644 sdk/dotnet/BcmData/Outputs/ExportTimeouts.cs create mode 100644 sdk/dotnet/BcmData/README.md create mode 100644 sdk/dotnet/Bedrock/AgentAgent.cs create mode 100644 sdk/dotnet/Bedrock/AgentAgentActionGroup.cs create mode 100644 sdk/dotnet/Bedrock/AgentAgentAlias.cs create mode 100644 sdk/dotnet/Bedrock/AgentKnowledgeBase.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupActionGroupExecutorArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupActionGroupExecutorGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaS3Args.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaS3GetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentAgentAliasRoutingConfigurationArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentAgentAliasRoutingConfigurationGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentAgentAliasTimeoutsArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentAgentAliasTimeoutsGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentAgentPromptOverrideConfigurationArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentAgentPromptOverrideConfigurationGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentAgentTimeoutsArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentAgentTimeoutsGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseTimeoutsArgs.cs create mode 100644 sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseTimeoutsGetArgs.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentAgentActionGroupActionGroupExecutor.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentAgentActionGroupApiSchema.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentAgentActionGroupApiSchemaS3.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentAgentAliasRoutingConfiguration.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentAgentAliasTimeouts.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentAgentPromptOverrideConfiguration.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentAgentTimeouts.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseKnowledgeBaseConfiguration.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfiguration.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfiguration.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRdsConfiguration.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping.cs create mode 100644 sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseTimeouts.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndCostCategoryArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndCostCategoryGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndDimensionArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndDimensionGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndTagsArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndTagsGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotCostCategoryArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotCostCategoryGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotDimensionArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotDimensionGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotTagsArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotTagsGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrCostCategoryArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrCostCategoryGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrDimensionArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrDimensionGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrTagsArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrTagsGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndCostCategoryArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndCostCategoryGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndDimensionArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndDimensionGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndTagsArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndTagsGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotCostCategoryArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotCostCategoryGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotDimensionArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotDimensionGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotTagsArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotTagsGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrCostCategoryArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrCostCategoryGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrDimensionArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrDimensionGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrTagsArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrTagsGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndCostCategoryArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndCostCategoryGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndDimensionArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndDimensionGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndTagsArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndTagsGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotCostCategoryArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotCostCategoryGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotDimensionArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotDimensionGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotTagsArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotTagsGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrCostCategoryArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrCostCategoryGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrDimensionArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrDimensionGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrTagsArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrTagsGetArgs.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAnd.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAndCostCategory.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAndDimension.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAndTags.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNot.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNotCostCategory.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNotDimension.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNotTags.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOr.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOrCostCategory.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOrDimension.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOrTags.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAnd.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAndCostCategory.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAndDimension.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAndTags.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNot.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNotCostCategory.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNotDimension.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNotTags.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOr.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOrCostCategory.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOrDimension.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOrTags.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAnd.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAndCostCategory.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAndDimension.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAndTags.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNot.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNotCostCategory.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNotDimension.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNotTags.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOr.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOrCostCategory.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOrDimension.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOrTags.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndCostCategoryResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndDimensionResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndTagResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotCostCategoryResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotDimensionResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotTagResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrCostCategoryResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrDimensionResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrTagResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndCostCategoryResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndDimensionResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndTagResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotCostCategoryResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotDimensionResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotTagResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrCostCategoryResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrDimensionResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrTagResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndCostCategoryResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndDimensionResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndTagResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotCostCategoryResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotDimensionResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotTagResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrCostCategoryResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrDimensionResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrResult.cs create mode 100644 sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrTagResult.cs create mode 100644 sdk/dotnet/GlobalAccelerator/CrossAccountAttachment.cs create mode 100644 sdk/dotnet/GlobalAccelerator/Inputs/CrossAccountAttachmentResourceArgs.cs create mode 100644 sdk/dotnet/GlobalAccelerator/Inputs/CrossAccountAttachmentResourceGetArgs.cs create mode 100644 sdk/dotnet/GlobalAccelerator/Outputs/CrossAccountAttachmentResource.cs create mode 100644 sdk/dotnet/IdentityStore/GetGroups.cs create mode 100644 sdk/dotnet/IdentityStore/Outputs/GetGroupsGroupResult.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsGetArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationGetArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationGetArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorGetArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterGetArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsGetArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationGetArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationGetArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs.cs create mode 100644 sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationGetArgs.cs create mode 100644 sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfiguration.cs create mode 100644 sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions.cs create mode 100644 sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration.cs create mode 100644 sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor.cs create mode 100644 sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter.cs create mode 100644 sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration.cs create mode 100644 sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions.cs create mode 100644 sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration.cs create mode 100644 sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration.cs create mode 100644 sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigArgs.cs create mode 100644 sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigContainerConfigArgs.cs create mode 100644 sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigContainerConfigGetArgs.cs create mode 100644 sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs.cs create mode 100644 sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfigGetArgs.cs create mode 100644 sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigGetArgs.cs create mode 100644 sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigFileSystemConfigArgs.cs create mode 100644 sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigFileSystemConfigGetArgs.cs create mode 100644 sdk/dotnet/Sagemaker/Outputs/AppImageConfigCodeEditorAppImageConfig.cs create mode 100644 sdk/dotnet/Sagemaker/Outputs/AppImageConfigCodeEditorAppImageConfigContainerConfig.cs create mode 100644 sdk/dotnet/Sagemaker/Outputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfig.cs create mode 100644 sdk/dotnet/Sagemaker/Outputs/AppImageConfigJupyterLabImageConfigFileSystemConfig.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionArgs.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionGetArgs.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionStaticArgs.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionStaticGetArgs.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedArgs.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedGetArgs.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedPrincipalArgs.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedPrincipalGetArgs.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedResourceArgs.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedResourceGetArgs.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinition.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionStatic.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionTemplateLinked.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionTemplateLinkedPrincipal.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionTemplateLinkedResource.cs create mode 100644 sdk/dotnet/VerifiedPermissions/Policy.cs create mode 100644 sdk/go/aws/bcmdata/export.go create mode 100644 sdk/go/aws/bcmdata/init.go create mode 100644 sdk/go/aws/bcmdata/pulumiTypes.go create mode 100644 sdk/go/aws/bedrock/agentAgent.go create mode 100644 sdk/go/aws/bedrock/agentAgentActionGroup.go create mode 100644 sdk/go/aws/bedrock/agentAgentAlias.go create mode 100644 sdk/go/aws/bedrock/agentKnowledgeBase.go create mode 100644 sdk/go/aws/globalaccelerator/crossAccountAttachment.go create mode 100644 sdk/go/aws/identitystore/getGroups.go create mode 100644 sdk/go/aws/verifiedpermissions/policy.go create mode 100644 sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecServiceDiscoveryArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpecServiceDiscovery.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecServiceDiscovery.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/Export.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/ExportArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDataQueryArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDestinationConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDestinationConfigurationS3DestinationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportRefreshCadenceArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportState.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportTimeoutsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExport.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDataQuery.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDestinationConfiguration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDestinationConfigurationS3Destination.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportRefreshCadence.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportTimeouts.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgent.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentActionGroup.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentActionGroupArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentAlias.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentAliasArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentKnowledgeBase.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentKnowledgeBaseArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupActionGroupExecutorArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupApiSchemaArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupApiSchemaS3Args.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupState.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentAliasRoutingConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentAliasState.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentAliasTimeoutsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentPromptOverrideConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentState.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentTimeoutsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseState.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseTimeoutsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentActionGroupActionGroupExecutor.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentActionGroupApiSchema.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentActionGroupApiSchemaS3.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentAliasRoutingConfiguration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentAliasTimeouts.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentPromptOverrideConfiguration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentTimeouts.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseKnowledgeBaseConfiguration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfiguration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfiguration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRdsConfiguration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseTimeouts.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndCostCategoryArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndDimensionArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndTagsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotCostCategoryArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotDimensionArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotTagsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrCostCategoryArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrDimensionArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrTagsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndCostCategoryArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndDimensionArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndTagsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotCostCategoryArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotDimensionArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotTagsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrCostCategoryArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrDimensionArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrTagsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndCostCategoryArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndDimensionArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndTagsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotCostCategoryArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotDimensionArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotTagsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrCostCategoryArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrDimensionArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrTagsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAnd.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAndCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAndDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAndTags.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNot.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNotCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNotDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNotTags.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOr.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOrCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOrDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOrTags.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAnd.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAndCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAndDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAndTags.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNot.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNotCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNotDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNotTags.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOr.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOrCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOrDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOrTags.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAnd.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAndCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAndDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAndTags.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNot.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNotCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNotDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNotTags.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOr.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOrCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOrDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOrTags.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAnd.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAndCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAndDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAndTag.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNot.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNotCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNotDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNotTag.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOr.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOrCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOrDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOrTag.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAnd.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAndCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAndDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAndTag.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNot.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNotCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNotDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNotTag.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOr.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOrCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOrDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOrTag.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAnd.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAndCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAndDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAndTag.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNot.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNotCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNotDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNotTag.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOr.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOrCostCategory.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOrDimension.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOrTag.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CrossAccountAttachment.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CrossAccountAttachmentArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CrossAccountAttachmentResourceArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CrossAccountAttachmentState.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/outputs/CrossAccountAttachmentResource.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupsPlainArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetGroupsGroup.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetGroupsResult.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfiguration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigCodeEditorAppImageConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigCodeEditorAppImageConfigContainerConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigJupyterLabImageConfigFileSystemConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigCodeEditorAppImageConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigCodeEditorAppImageConfigContainerConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigJupyterLabImageConfigFileSystemConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/Policy.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/PolicyArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionStaticArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionTemplateLinkedArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionTemplateLinkedPrincipalArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionTemplateLinkedResourceArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyState.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinition.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionStatic.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionTemplateLinked.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionTemplateLinkedPrincipal.java create mode 100644 sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionTemplateLinkedResource.java create mode 100644 sdk/nodejs/bcmdata/export.ts create mode 100644 sdk/nodejs/bcmdata/index.ts create mode 100644 sdk/nodejs/bedrock/agentAgent.ts create mode 100644 sdk/nodejs/bedrock/agentAgentActionGroup.ts create mode 100644 sdk/nodejs/bedrock/agentAgentAlias.ts create mode 100644 sdk/nodejs/bedrock/agentKnowledgeBase.ts create mode 100644 sdk/nodejs/globalaccelerator/crossAccountAttachment.ts create mode 100644 sdk/nodejs/identitystore/getGroups.ts create mode 100644 sdk/nodejs/verifiedpermissions/policy.ts create mode 100644 sdk/python/pulumi_aws/bcmdata/__init__.py create mode 100644 sdk/python/pulumi_aws/bcmdata/_inputs.py create mode 100644 sdk/python/pulumi_aws/bcmdata/export.py create mode 100644 sdk/python/pulumi_aws/bcmdata/outputs.py create mode 100644 sdk/python/pulumi_aws/bedrock/agent_agent.py create mode 100644 sdk/python/pulumi_aws/bedrock/agent_agent_action_group.py create mode 100644 sdk/python/pulumi_aws/bedrock/agent_agent_alias.py create mode 100644 sdk/python/pulumi_aws/bedrock/agent_knowledge_base.py create mode 100644 sdk/python/pulumi_aws/globalaccelerator/cross_account_attachment.py create mode 100644 sdk/python/pulumi_aws/identitystore/get_groups.py create mode 100644 sdk/python/pulumi_aws/verifiedpermissions/policy.py diff --git a/sdk/dotnet/AppMesh/Inputs/MeshSpecArgs.cs b/sdk/dotnet/AppMesh/Inputs/MeshSpecArgs.cs index d22f89dca3c..d4208829120 100644 --- a/sdk/dotnet/AppMesh/Inputs/MeshSpecArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/MeshSpecArgs.cs @@ -18,6 +18,12 @@ public sealed class MeshSpecArgs : global::Pulumi.ResourceArgs [Input("egressFilter")] public Input? EgressFilter { get; set; } + /// + /// The service discovery information for the service mesh. + /// + [Input("serviceDiscovery")] + public Input? ServiceDiscovery { get; set; } + public MeshSpecArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterArgs.cs b/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterArgs.cs index f9e69577087..351c83fa073 100644 --- a/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterArgs.cs @@ -12,10 +12,6 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class MeshSpecEgressFilterArgs : global::Pulumi.ResourceArgs { - /// - /// Egress filter type. By default, the type is `DROP_ALL`. - /// Valid values are `ALLOW_ALL` and `DROP_ALL`. - /// [Input("type")] public Input? Type { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterGetArgs.cs index 70cc2bfc81b..afda87da6e9 100644 --- a/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/MeshSpecEgressFilterGetArgs.cs @@ -12,10 +12,6 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class MeshSpecEgressFilterGetArgs : global::Pulumi.ResourceArgs { - /// - /// Egress filter type. By default, the type is `DROP_ALL`. - /// Valid values are `ALLOW_ALL` and `DROP_ALL`. - /// [Input("type")] public Input? Type { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/MeshSpecGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/MeshSpecGetArgs.cs index d5e63977c54..0c546fba4f2 100644 --- a/sdk/dotnet/AppMesh/Inputs/MeshSpecGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/MeshSpecGetArgs.cs @@ -18,6 +18,12 @@ public sealed class MeshSpecGetArgs : global::Pulumi.ResourceArgs [Input("egressFilter")] public Input? EgressFilter { get; set; } + /// + /// The service discovery information for the service mesh. + /// + [Input("serviceDiscovery")] + public Input? ServiceDiscovery { get; set; } + public MeshSpecGetArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryArgs.cs b/sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryArgs.cs new file mode 100644 index 00000000000..321ce28c829 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class MeshSpecServiceDiscoveryArgs : global::Pulumi.ResourceArgs + { + [Input("ipPreference")] + public Input? IpPreference { get; set; } + + public MeshSpecServiceDiscoveryArgs() + { + } + public static new MeshSpecServiceDiscoveryArgs Empty => new MeshSpecServiceDiscoveryArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryGetArgs.cs new file mode 100644 index 00000000000..3d27de7679a --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/MeshSpecServiceDiscoveryGetArgs.cs @@ -0,0 +1,23 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class MeshSpecServiceDiscoveryGetArgs : global::Pulumi.ResourceArgs + { + [Input("ipPreference")] + public Input? IpPreference { get; set; } + + public MeshSpecServiceDiscoveryGetArgs() + { + } + public static new MeshSpecServiceDiscoveryGetArgs Empty => new MeshSpecServiceDiscoveryGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetMeshSpecResult.cs b/sdk/dotnet/AppMesh/Outputs/GetMeshSpecResult.cs index 464529e8277..0a1203b32ce 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetMeshSpecResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetMeshSpecResult.cs @@ -14,11 +14,16 @@ namespace Pulumi.Aws.AppMesh.Outputs public sealed class GetMeshSpecResult { public readonly ImmutableArray EgressFilters; + public readonly ImmutableArray ServiceDiscoveries; [OutputConstructor] - private GetMeshSpecResult(ImmutableArray egressFilters) + private GetMeshSpecResult( + ImmutableArray egressFilters, + + ImmutableArray serviceDiscoveries) { EgressFilters = egressFilters; + ServiceDiscoveries = serviceDiscoveries; } } } diff --git a/sdk/dotnet/AppMesh/Outputs/GetMeshSpecServiceDiscoveryResult.cs b/sdk/dotnet/AppMesh/Outputs/GetMeshSpecServiceDiscoveryResult.cs new file mode 100644 index 00000000000..8a35dc33a39 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetMeshSpecServiceDiscoveryResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetMeshSpecServiceDiscoveryResult + { + public readonly string IpPreference; + + [OutputConstructor] + private GetMeshSpecServiceDiscoveryResult(string ipPreference) + { + IpPreference = ipPreference; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/MeshSpec.cs b/sdk/dotnet/AppMesh/Outputs/MeshSpec.cs index c9abe1a1ef4..ce4f1f5a733 100644 --- a/sdk/dotnet/AppMesh/Outputs/MeshSpec.cs +++ b/sdk/dotnet/AppMesh/Outputs/MeshSpec.cs @@ -17,11 +17,19 @@ public sealed class MeshSpec /// Egress filter rules for the service mesh. /// public readonly Outputs.MeshSpecEgressFilter? EgressFilter; + /// + /// The service discovery information for the service mesh. + /// + public readonly Outputs.MeshSpecServiceDiscovery? ServiceDiscovery; [OutputConstructor] - private MeshSpec(Outputs.MeshSpecEgressFilter? egressFilter) + private MeshSpec( + Outputs.MeshSpecEgressFilter? egressFilter, + + Outputs.MeshSpecServiceDiscovery? serviceDiscovery) { EgressFilter = egressFilter; + ServiceDiscovery = serviceDiscovery; } } } diff --git a/sdk/dotnet/AppMesh/Outputs/MeshSpecEgressFilter.cs b/sdk/dotnet/AppMesh/Outputs/MeshSpecEgressFilter.cs index 07947c5585d..3c8eca11ed0 100644 --- a/sdk/dotnet/AppMesh/Outputs/MeshSpecEgressFilter.cs +++ b/sdk/dotnet/AppMesh/Outputs/MeshSpecEgressFilter.cs @@ -13,10 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class MeshSpecEgressFilter { - /// - /// Egress filter type. By default, the type is `DROP_ALL`. - /// Valid values are `ALLOW_ALL` and `DROP_ALL`. - /// public readonly string? Type; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/MeshSpecServiceDiscovery.cs b/sdk/dotnet/AppMesh/Outputs/MeshSpecServiceDiscovery.cs new file mode 100644 index 00000000000..7c641f46c05 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/MeshSpecServiceDiscovery.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class MeshSpecServiceDiscovery + { + public readonly string? IpPreference; + + [OutputConstructor] + private MeshSpecServiceDiscovery(string? ipPreference) + { + IpPreference = ipPreference; + } + } +} diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitArgs.cs index 9b9e448daaa..8793489783b 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionRetryStrategyEvaluateOnExitArgs : global::Pulumi.ResourceArgs { /// - /// Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + /// Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. /// [Input("action", required: true)] public Input Action { get; set; } = null!; diff --git a/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitGetArgs.cs b/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitGetArgs.cs index a0b09f92ecf..0ede2dbbf41 100644 --- a/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitGetArgs.cs +++ b/sdk/dotnet/Batch/Inputs/JobDefinitionRetryStrategyEvaluateOnExitGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.Batch.Inputs public sealed class JobDefinitionRetryStrategyEvaluateOnExitGetArgs : global::Pulumi.ResourceArgs { /// - /// Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + /// Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. /// [Input("action", required: true)] public Input Action { get; set; } = null!; diff --git a/sdk/dotnet/Batch/JobDefinition.cs b/sdk/dotnet/Batch/JobDefinition.cs index 682f1b31753..011e788e99e 100644 --- a/sdk/dotnet/Batch/JobDefinition.cs +++ b/sdk/dotnet/Batch/JobDefinition.cs @@ -314,8 +314,7 @@ public partial class JobDefinition : global::Pulumi.CustomResource public Output ArnPrefix { get; private set; } = null!; /// - /// A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - /// provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + /// A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. /// [Output("containerProperties")] public Output ContainerProperties { get; private set; } = null!; @@ -339,8 +338,7 @@ public partial class JobDefinition : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - /// provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + /// A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. /// [Output("nodeProperties")] public Output NodeProperties { get; private set; } = null!; @@ -364,8 +362,7 @@ public partial class JobDefinition : global::Pulumi.CustomResource public Output PropagateTags { get; private set; } = null!; /// - /// Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - /// Maximum number of `retry_strategy` is `1`. Defined below. + /// Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. /// [Output("retryStrategy")] public Output RetryStrategy { get; private set; } = null!; @@ -455,8 +452,7 @@ public static JobDefinition Get(string name, Input id, JobDefinitionStat public sealed class JobDefinitionArgs : global::Pulumi.ResourceArgs { /// - /// A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - /// provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + /// A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. /// [Input("containerProperties")] public Input? ContainerProperties { get; set; } @@ -480,8 +476,7 @@ public sealed class JobDefinitionArgs : global::Pulumi.ResourceArgs public Input? Name { get; set; } /// - /// A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - /// provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + /// A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. /// [Input("nodeProperties")] public Input? NodeProperties { get; set; } @@ -517,8 +512,7 @@ public InputList PlatformCapabilities public Input? PropagateTags { get; set; } /// - /// Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - /// Maximum number of `retry_strategy` is `1`. Defined below. + /// Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. /// [Input("retryStrategy")] public Input? RetryStrategy { get; set; } @@ -576,8 +570,7 @@ public sealed class JobDefinitionState : global::Pulumi.ResourceArgs public Input? ArnPrefix { get; set; } /// - /// A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - /// provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + /// A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. /// [Input("containerProperties")] public Input? ContainerProperties { get; set; } @@ -601,8 +594,7 @@ public sealed class JobDefinitionState : global::Pulumi.ResourceArgs public Input? Name { get; set; } /// - /// A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - /// provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + /// A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. /// [Input("nodeProperties")] public Input? NodeProperties { get; set; } @@ -638,8 +630,7 @@ public InputList PlatformCapabilities public Input? PropagateTags { get; set; } /// - /// Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - /// Maximum number of `retry_strategy` is `1`. Defined below. + /// Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. /// [Input("retryStrategy")] public Input? RetryStrategy { get; set; } diff --git a/sdk/dotnet/Batch/Outputs/JobDefinitionRetryStrategyEvaluateOnExit.cs b/sdk/dotnet/Batch/Outputs/JobDefinitionRetryStrategyEvaluateOnExit.cs index 89bfd71daf0..1c1bb371b8f 100644 --- a/sdk/dotnet/Batch/Outputs/JobDefinitionRetryStrategyEvaluateOnExit.cs +++ b/sdk/dotnet/Batch/Outputs/JobDefinitionRetryStrategyEvaluateOnExit.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.Batch.Outputs public sealed class JobDefinitionRetryStrategyEvaluateOnExit { /// - /// Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + /// Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. /// public readonly string Action; /// diff --git a/sdk/dotnet/BcmData/Export.cs b/sdk/dotnet/BcmData/Export.cs new file mode 100644 index 00000000000..857214e08f7 --- /dev/null +++ b/sdk/dotnet/BcmData/Export.cs @@ -0,0 +1,215 @@ +// *** WARNING: this file 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.BcmData +{ + /// + /// Resource for managing an AWS BCM Data Exports Export. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = new Aws.BcmData.Export("test", new() + /// { + /// Export = new Aws.BcmData.Inputs.ExportExportArgs + /// { + /// Name = "testexample", + /// DataQueries = new[] + /// { + /// new Aws.BcmData.Inputs.ExportExportDataQueryArgs + /// { + /// QueryStatement = "SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT", + /// TableConfigurations = + /// { + /// { "COST_AND_USAGE_REPORT", + /// { + /// { "TIME_GRANULARITY", "HOURLY" }, + /// { "INCLUDE_RESOURCES", "FALSE" }, + /// { "INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY", "FALSE" }, + /// { "INCLUDE_SPLIT_COST_ALLOCATION_DATA", "FALSE" }, + /// } }, + /// }, + /// }, + /// }, + /// DestinationConfigurations = new[] + /// { + /// new Aws.BcmData.Inputs.ExportExportDestinationConfigurationArgs + /// { + /// S3Destinations = new[] + /// { + /// new Aws.BcmData.Inputs.ExportExportDestinationConfigurationS3DestinationArgs + /// { + /// S3Bucket = testAwsS3Bucket.Bucket, + /// S3Prefix = testAwsS3Bucket.BucketPrefix, + /// S3Region = testAwsS3Bucket.Region, + /// S3OutputConfigurations = new[] + /// { + /// new Aws.BcmData.Inputs.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs + /// { + /// Overwrite = "OVERWRITE_REPORT", + /// Format = "TEXT_OR_CSV", + /// Compression = "GZIP", + /// OutputType = "CUSTOM", + /// }, + /// }, + /// }, + /// }, + /// }, + /// }, + /// RefreshCadences = new[] + /// { + /// new Aws.BcmData.Inputs.ExportExportRefreshCadenceArgs + /// { + /// Frequency = "SYNCHRONOUS", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import BCM Data Exports Export using the `export_arn`. For example: + /// + /// ```sh + /// $ pulumi import aws:bcmdata/export:Export example export-id-12345678 + /// ``` + /// + [AwsResourceType("aws:bcmdata/export:Export")] + public partial class Export : global::Pulumi.CustomResource + { + /// + /// The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + /// + [Output("export")] + public Output Export { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + + /// + /// Create a Export 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 Export(string name, ExportArgs? args = null, CustomResourceOptions? options = null) + : base("aws:bcmdata/export:Export", name, args ?? new ExportArgs(), MakeResourceOptions(options, "")) + { + } + + private Export(string name, Input id, ExportState? state = null, CustomResourceOptions? options = null) + : base("aws:bcmdata/export:Export", 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 Export 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 Export Get(string name, Input id, ExportState? state = null, CustomResourceOptions? options = null) + { + return new Export(name, id, state, options); + } + } + + public sealed class ExportArgs : global::Pulumi.ResourceArgs + { + /// + /// The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + /// + [Input("export")] + public Input? Export { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public ExportArgs() + { + } + public static new ExportArgs Empty => new ExportArgs(); + } + + public sealed class ExportState : global::Pulumi.ResourceArgs + { + /// + /// The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + /// + [Input("export")] + public Input? Export { 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; } + + public ExportState() + { + } + public static new ExportState Empty => new ExportState(); + } +} diff --git a/sdk/dotnet/BcmData/Inputs/ExportExportArgs.cs b/sdk/dotnet/BcmData/Inputs/ExportExportArgs.cs new file mode 100644 index 00000000000..a61c4747f5e --- /dev/null +++ b/sdk/dotnet/BcmData/Inputs/ExportExportArgs.cs @@ -0,0 +1,74 @@ +// *** WARNING: this file 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.BcmData.Inputs +{ + + public sealed class ExportExportArgs : global::Pulumi.ResourceArgs + { + [Input("dataQueries")] + private InputList? _dataQueries; + + /// + /// Data query for this specific data export. See the `data_query` argument reference below. + /// + public InputList DataQueries + { + get => _dataQueries ?? (_dataQueries = new InputList()); + set => _dataQueries = value; + } + + /// + /// Description for this specific data export. + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("destinationConfigurations")] + private InputList? _destinationConfigurations; + + /// + /// Destination configuration for this specific data export. See the `destination_configurations` argument reference below. + /// + public InputList DestinationConfigurations + { + get => _destinationConfigurations ?? (_destinationConfigurations = new InputList()); + set => _destinationConfigurations = value; + } + + /// + /// Amazon Resource Name (ARN) for this export. + /// + [Input("exportArn")] + public Input? ExportArn { get; set; } + + /// + /// Name of this specific data export. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("refreshCadences")] + private InputList? _refreshCadences; + + /// + /// Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refresh_cadence` argument reference below. + /// + public InputList RefreshCadences + { + get => _refreshCadences ?? (_refreshCadences = new InputList()); + set => _refreshCadences = value; + } + + public ExportExportArgs() + { + } + public static new ExportExportArgs Empty => new ExportExportArgs(); + } +} diff --git a/sdk/dotnet/BcmData/Inputs/ExportExportDataQueryArgs.cs b/sdk/dotnet/BcmData/Inputs/ExportExportDataQueryArgs.cs new file mode 100644 index 00000000000..ca34622c80c --- /dev/null +++ b/sdk/dotnet/BcmData/Inputs/ExportExportDataQueryArgs.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.BcmData.Inputs +{ + + public sealed class ExportExportDataQueryArgs : global::Pulumi.ResourceArgs + { + /// + /// Query statement. + /// + [Input("queryStatement", required: true)] + public Input QueryStatement { get; set; } = null!; + + [Input("tableConfigurations")] + private InputMap>? _tableConfigurations; + + /// + /// Table configuration. + /// + public InputMap> TableConfigurations + { + get => _tableConfigurations ?? (_tableConfigurations = new InputMap>()); + set => _tableConfigurations = value; + } + + public ExportExportDataQueryArgs() + { + } + public static new ExportExportDataQueryArgs Empty => new ExportExportDataQueryArgs(); + } +} diff --git a/sdk/dotnet/BcmData/Inputs/ExportExportDataQueryGetArgs.cs b/sdk/dotnet/BcmData/Inputs/ExportExportDataQueryGetArgs.cs new file mode 100644 index 00000000000..0ac54b3941a --- /dev/null +++ b/sdk/dotnet/BcmData/Inputs/ExportExportDataQueryGetArgs.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.BcmData.Inputs +{ + + public sealed class ExportExportDataQueryGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Query statement. + /// + [Input("queryStatement", required: true)] + public Input QueryStatement { get; set; } = null!; + + [Input("tableConfigurations")] + private InputMap>? _tableConfigurations; + + /// + /// Table configuration. + /// + public InputMap> TableConfigurations + { + get => _tableConfigurations ?? (_tableConfigurations = new InputMap>()); + set => _tableConfigurations = value; + } + + public ExportExportDataQueryGetArgs() + { + } + public static new ExportExportDataQueryGetArgs Empty => new ExportExportDataQueryGetArgs(); + } +} diff --git a/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationArgs.cs b/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationArgs.cs new file mode 100644 index 00000000000..20ec83b8091 --- /dev/null +++ b/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.BcmData.Inputs +{ + + public sealed class ExportExportDestinationConfigurationArgs : global::Pulumi.ResourceArgs + { + [Input("s3Destinations")] + private InputList? _s3Destinations; + + /// + /// Object that describes the destination of the data exports file. See the `s3_destination` argument reference below. + /// + public InputList S3Destinations + { + get => _s3Destinations ?? (_s3Destinations = new InputList()); + set => _s3Destinations = value; + } + + public ExportExportDestinationConfigurationArgs() + { + } + public static new ExportExportDestinationConfigurationArgs Empty => new ExportExportDestinationConfigurationArgs(); + } +} diff --git a/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationGetArgs.cs b/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationGetArgs.cs new file mode 100644 index 00000000000..37c77f04480 --- /dev/null +++ b/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.BcmData.Inputs +{ + + public sealed class ExportExportDestinationConfigurationGetArgs : global::Pulumi.ResourceArgs + { + [Input("s3Destinations")] + private InputList? _s3Destinations; + + /// + /// Object that describes the destination of the data exports file. See the `s3_destination` argument reference below. + /// + public InputList S3Destinations + { + get => _s3Destinations ?? (_s3Destinations = new InputList()); + set => _s3Destinations = value; + } + + public ExportExportDestinationConfigurationGetArgs() + { + } + public static new ExportExportDestinationConfigurationGetArgs Empty => new ExportExportDestinationConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationArgs.cs b/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationArgs.cs new file mode 100644 index 00000000000..37cd7640041 --- /dev/null +++ b/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.BcmData.Inputs +{ + + public sealed class ExportExportDestinationConfigurationS3DestinationArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the Amazon S3 bucket used as the destination of a data export file. + /// + [Input("s3Bucket", required: true)] + public Input S3Bucket { get; set; } = null!; + + [Input("s3OutputConfigurations")] + private InputList? _s3OutputConfigurations; + + /// + /// Output configuration for the data export. See the `s3_output_configurations` argument reference below. + /// + public InputList S3OutputConfigurations + { + get => _s3OutputConfigurations ?? (_s3OutputConfigurations = new InputList()); + set => _s3OutputConfigurations = value; + } + + /// + /// S3 path prefix you want prepended to the name of your data export. + /// + [Input("s3Prefix", required: true)] + public Input S3Prefix { get; set; } = null!; + + /// + /// S3 bucket region. + /// + [Input("s3Region", required: true)] + public Input S3Region { get; set; } = null!; + + public ExportExportDestinationConfigurationS3DestinationArgs() + { + } + public static new ExportExportDestinationConfigurationS3DestinationArgs Empty => new ExportExportDestinationConfigurationS3DestinationArgs(); + } +} diff --git a/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationGetArgs.cs b/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationGetArgs.cs new file mode 100644 index 00000000000..eb6c8b6a7ff --- /dev/null +++ b/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.BcmData.Inputs +{ + + public sealed class ExportExportDestinationConfigurationS3DestinationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the Amazon S3 bucket used as the destination of a data export file. + /// + [Input("s3Bucket", required: true)] + public Input S3Bucket { get; set; } = null!; + + [Input("s3OutputConfigurations")] + private InputList? _s3OutputConfigurations; + + /// + /// Output configuration for the data export. See the `s3_output_configurations` argument reference below. + /// + public InputList S3OutputConfigurations + { + get => _s3OutputConfigurations ?? (_s3OutputConfigurations = new InputList()); + set => _s3OutputConfigurations = value; + } + + /// + /// S3 path prefix you want prepended to the name of your data export. + /// + [Input("s3Prefix", required: true)] + public Input S3Prefix { get; set; } = null!; + + /// + /// S3 bucket region. + /// + [Input("s3Region", required: true)] + public Input S3Region { get; set; } = null!; + + public ExportExportDestinationConfigurationS3DestinationGetArgs() + { + } + public static new ExportExportDestinationConfigurationS3DestinationGetArgs Empty => new ExportExportDestinationConfigurationS3DestinationGetArgs(); + } +} diff --git a/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs.cs b/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs.cs new file mode 100644 index 00000000000..58c9876a0ea --- /dev/null +++ b/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file 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.BcmData.Inputs +{ + + public sealed class ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Compression type for the data export. Valid values `GZIP`, `PARQUET`. + /// + [Input("compression", required: true)] + public Input Compression { get; set; } = null!; + + /// + /// File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + /// + [Input("format", required: true)] + public Input Format { get; set; } = null!; + + /// + /// Output type for the data export. Valid value `CUSTOM`. + /// + [Input("outputType", required: true)] + public Input OutputType { get; set; } = null!; + + /// + /// The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + /// + [Input("overwrite", required: true)] + public Input Overwrite { get; set; } = null!; + + public ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs() + { + } + public static new ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs Empty => new ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs(); + } +} diff --git a/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationGetArgs.cs b/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationGetArgs.cs new file mode 100644 index 00000000000..499babd4d15 --- /dev/null +++ b/sdk/dotnet/BcmData/Inputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file 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.BcmData.Inputs +{ + + public sealed class ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Compression type for the data export. Valid values `GZIP`, `PARQUET`. + /// + [Input("compression", required: true)] + public Input Compression { get; set; } = null!; + + /// + /// File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + /// + [Input("format", required: true)] + public Input Format { get; set; } = null!; + + /// + /// Output type for the data export. Valid value `CUSTOM`. + /// + [Input("outputType", required: true)] + public Input OutputType { get; set; } = null!; + + /// + /// The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + /// + [Input("overwrite", required: true)] + public Input Overwrite { get; set; } = null!; + + public ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationGetArgs() + { + } + public static new ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationGetArgs Empty => new ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/BcmData/Inputs/ExportExportGetArgs.cs b/sdk/dotnet/BcmData/Inputs/ExportExportGetArgs.cs new file mode 100644 index 00000000000..b4006f4101a --- /dev/null +++ b/sdk/dotnet/BcmData/Inputs/ExportExportGetArgs.cs @@ -0,0 +1,74 @@ +// *** WARNING: this file 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.BcmData.Inputs +{ + + public sealed class ExportExportGetArgs : global::Pulumi.ResourceArgs + { + [Input("dataQueries")] + private InputList? _dataQueries; + + /// + /// Data query for this specific data export. See the `data_query` argument reference below. + /// + public InputList DataQueries + { + get => _dataQueries ?? (_dataQueries = new InputList()); + set => _dataQueries = value; + } + + /// + /// Description for this specific data export. + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("destinationConfigurations")] + private InputList? _destinationConfigurations; + + /// + /// Destination configuration for this specific data export. See the `destination_configurations` argument reference below. + /// + public InputList DestinationConfigurations + { + get => _destinationConfigurations ?? (_destinationConfigurations = new InputList()); + set => _destinationConfigurations = value; + } + + /// + /// Amazon Resource Name (ARN) for this export. + /// + [Input("exportArn")] + public Input? ExportArn { get; set; } + + /// + /// Name of this specific data export. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("refreshCadences")] + private InputList? _refreshCadences; + + /// + /// Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refresh_cadence` argument reference below. + /// + public InputList RefreshCadences + { + get => _refreshCadences ?? (_refreshCadences = new InputList()); + set => _refreshCadences = value; + } + + public ExportExportGetArgs() + { + } + public static new ExportExportGetArgs Empty => new ExportExportGetArgs(); + } +} diff --git a/sdk/dotnet/BcmData/Inputs/ExportExportRefreshCadenceArgs.cs b/sdk/dotnet/BcmData/Inputs/ExportExportRefreshCadenceArgs.cs new file mode 100644 index 00000000000..2d413aed696 --- /dev/null +++ b/sdk/dotnet/BcmData/Inputs/ExportExportRefreshCadenceArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.BcmData.Inputs +{ + + public sealed class ExportExportRefreshCadenceArgs : global::Pulumi.ResourceArgs + { + /// + /// Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + /// + [Input("frequency", required: true)] + public Input Frequency { get; set; } = null!; + + public ExportExportRefreshCadenceArgs() + { + } + public static new ExportExportRefreshCadenceArgs Empty => new ExportExportRefreshCadenceArgs(); + } +} diff --git a/sdk/dotnet/BcmData/Inputs/ExportExportRefreshCadenceGetArgs.cs b/sdk/dotnet/BcmData/Inputs/ExportExportRefreshCadenceGetArgs.cs new file mode 100644 index 00000000000..d8e06cbfd02 --- /dev/null +++ b/sdk/dotnet/BcmData/Inputs/ExportExportRefreshCadenceGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.BcmData.Inputs +{ + + public sealed class ExportExportRefreshCadenceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + /// + [Input("frequency", required: true)] + public Input Frequency { get; set; } = null!; + + public ExportExportRefreshCadenceGetArgs() + { + } + public static new ExportExportRefreshCadenceGetArgs Empty => new ExportExportRefreshCadenceGetArgs(); + } +} diff --git a/sdk/dotnet/BcmData/Inputs/ExportTimeoutsArgs.cs b/sdk/dotnet/BcmData/Inputs/ExportTimeoutsArgs.cs new file mode 100644 index 00000000000..94d1eab51c1 --- /dev/null +++ b/sdk/dotnet/BcmData/Inputs/ExportTimeoutsArgs.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.BcmData.Inputs +{ + + public sealed class ExportTimeoutsArgs : 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 ExportTimeoutsArgs() + { + } + public static new ExportTimeoutsArgs Empty => new ExportTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/BcmData/Inputs/ExportTimeoutsGetArgs.cs b/sdk/dotnet/BcmData/Inputs/ExportTimeoutsGetArgs.cs new file mode 100644 index 00000000000..bff90838663 --- /dev/null +++ b/sdk/dotnet/BcmData/Inputs/ExportTimeoutsGetArgs.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.BcmData.Inputs +{ + + public sealed class ExportTimeoutsGetArgs : 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 ExportTimeoutsGetArgs() + { + } + public static new ExportTimeoutsGetArgs Empty => new ExportTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/BcmData/Outputs/ExportExport.cs b/sdk/dotnet/BcmData/Outputs/ExportExport.cs new file mode 100644 index 00000000000..39eb2b2c25f --- /dev/null +++ b/sdk/dotnet/BcmData/Outputs/ExportExport.cs @@ -0,0 +1,63 @@ +// *** WARNING: this file 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.BcmData.Outputs +{ + + [OutputType] + public sealed class ExportExport + { + /// + /// Data query for this specific data export. See the `data_query` argument reference below. + /// + public readonly ImmutableArray DataQueries; + /// + /// Description for this specific data export. + /// + public readonly string? Description; + /// + /// Destination configuration for this specific data export. See the `destination_configurations` argument reference below. + /// + public readonly ImmutableArray DestinationConfigurations; + /// + /// Amazon Resource Name (ARN) for this export. + /// + public readonly string? ExportArn; + /// + /// Name of this specific data export. + /// + public readonly string Name; + /// + /// Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refresh_cadence` argument reference below. + /// + public readonly ImmutableArray RefreshCadences; + + [OutputConstructor] + private ExportExport( + ImmutableArray dataQueries, + + string? description, + + ImmutableArray destinationConfigurations, + + string? exportArn, + + string name, + + ImmutableArray refreshCadences) + { + DataQueries = dataQueries; + Description = description; + DestinationConfigurations = destinationConfigurations; + ExportArn = exportArn; + Name = name; + RefreshCadences = refreshCadences; + } + } +} diff --git a/sdk/dotnet/BcmData/Outputs/ExportExportDataQuery.cs b/sdk/dotnet/BcmData/Outputs/ExportExportDataQuery.cs new file mode 100644 index 00000000000..1b3e0253b55 --- /dev/null +++ b/sdk/dotnet/BcmData/Outputs/ExportExportDataQuery.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.BcmData.Outputs +{ + + [OutputType] + public sealed class ExportExportDataQuery + { + /// + /// Query statement. + /// + public readonly string QueryStatement; + /// + /// Table configuration. + /// + public readonly ImmutableDictionary>? TableConfigurations; + + [OutputConstructor] + private ExportExportDataQuery( + string queryStatement, + + ImmutableDictionary>? tableConfigurations) + { + QueryStatement = queryStatement; + TableConfigurations = tableConfigurations; + } + } +} diff --git a/sdk/dotnet/BcmData/Outputs/ExportExportDestinationConfiguration.cs b/sdk/dotnet/BcmData/Outputs/ExportExportDestinationConfiguration.cs new file mode 100644 index 00000000000..4c0ccddd2b4 --- /dev/null +++ b/sdk/dotnet/BcmData/Outputs/ExportExportDestinationConfiguration.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.BcmData.Outputs +{ + + [OutputType] + public sealed class ExportExportDestinationConfiguration + { + /// + /// Object that describes the destination of the data exports file. See the `s3_destination` argument reference below. + /// + public readonly ImmutableArray S3Destinations; + + [OutputConstructor] + private ExportExportDestinationConfiguration(ImmutableArray s3Destinations) + { + S3Destinations = s3Destinations; + } + } +} diff --git a/sdk/dotnet/BcmData/Outputs/ExportExportDestinationConfigurationS3Destination.cs b/sdk/dotnet/BcmData/Outputs/ExportExportDestinationConfigurationS3Destination.cs new file mode 100644 index 00000000000..4af60abc3ac --- /dev/null +++ b/sdk/dotnet/BcmData/Outputs/ExportExportDestinationConfigurationS3Destination.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.BcmData.Outputs +{ + + [OutputType] + public sealed class ExportExportDestinationConfigurationS3Destination + { + /// + /// Name of the Amazon S3 bucket used as the destination of a data export file. + /// + public readonly string S3Bucket; + /// + /// Output configuration for the data export. See the `s3_output_configurations` argument reference below. + /// + public readonly ImmutableArray S3OutputConfigurations; + /// + /// S3 path prefix you want prepended to the name of your data export. + /// + public readonly string S3Prefix; + /// + /// S3 bucket region. + /// + public readonly string S3Region; + + [OutputConstructor] + private ExportExportDestinationConfigurationS3Destination( + string s3Bucket, + + ImmutableArray s3OutputConfigurations, + + string s3Prefix, + + string s3Region) + { + S3Bucket = s3Bucket; + S3OutputConfigurations = s3OutputConfigurations; + S3Prefix = s3Prefix; + S3Region = s3Region; + } + } +} diff --git a/sdk/dotnet/BcmData/Outputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration.cs b/sdk/dotnet/BcmData/Outputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration.cs new file mode 100644 index 00000000000..6a5638801c7 --- /dev/null +++ b/sdk/dotnet/BcmData/Outputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration.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.BcmData.Outputs +{ + + [OutputType] + public sealed class ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration + { + /// + /// Compression type for the data export. Valid values `GZIP`, `PARQUET`. + /// + public readonly string Compression; + /// + /// File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + /// + public readonly string Format; + /// + /// Output type for the data export. Valid value `CUSTOM`. + /// + public readonly string OutputType; + /// + /// The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + /// + public readonly string Overwrite; + + [OutputConstructor] + private ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration( + string compression, + + string format, + + string outputType, + + string overwrite) + { + Compression = compression; + Format = format; + OutputType = outputType; + Overwrite = overwrite; + } + } +} diff --git a/sdk/dotnet/BcmData/Outputs/ExportExportRefreshCadence.cs b/sdk/dotnet/BcmData/Outputs/ExportExportRefreshCadence.cs new file mode 100644 index 00000000000..b70a965075c --- /dev/null +++ b/sdk/dotnet/BcmData/Outputs/ExportExportRefreshCadence.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.BcmData.Outputs +{ + + [OutputType] + public sealed class ExportExportRefreshCadence + { + /// + /// Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + /// + public readonly string Frequency; + + [OutputConstructor] + private ExportExportRefreshCadence(string frequency) + { + Frequency = frequency; + } + } +} diff --git a/sdk/dotnet/BcmData/Outputs/ExportTimeouts.cs b/sdk/dotnet/BcmData/Outputs/ExportTimeouts.cs new file mode 100644 index 00000000000..07007eb61a0 --- /dev/null +++ b/sdk/dotnet/BcmData/Outputs/ExportTimeouts.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.BcmData.Outputs +{ + + [OutputType] + public sealed class ExportTimeouts + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.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 ExportTimeouts( + string? create, + + string? delete, + + string? update) + { + Create = create; + Delete = delete; + Update = update; + } + } +} diff --git a/sdk/dotnet/BcmData/README.md b/sdk/dotnet/BcmData/README.md new file mode 100644 index 00000000000..9d868f18f20 --- /dev/null +++ b/sdk/dotnet/BcmData/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources. diff --git a/sdk/dotnet/Bedrock/AgentAgent.cs b/sdk/dotnet/Bedrock/AgentAgent.cs new file mode 100644 index 00000000000..486205e0f45 --- /dev/null +++ b/sdk/dotnet/Bedrock/AgentAgent.cs @@ -0,0 +1,446 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock +{ + /// + /// Resource for managing an AWS Agents for Amazon Bedrock Agent. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var current = Aws.GetCallerIdentity.Invoke(); + /// + /// var currentGetRegion = Aws.GetRegion.Invoke(); + /// + /// var exampleAgentTrust = Aws.Iam.GetPolicyDocument.Invoke(new() + /// { + /// Statements = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// { + /// Actions = new[] + /// { + /// "sts:AssumeRole", + /// }, + /// Principals = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementPrincipalInputArgs + /// { + /// Identifiers = new[] + /// { + /// "bedrock.amazonaws.com", + /// }, + /// Type = "Service", + /// }, + /// }, + /// Conditions = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs + /// { + /// Test = "StringEquals", + /// Values = new[] + /// { + /// current.Apply(getCallerIdentityResult => getCallerIdentityResult.AccountId), + /// }, + /// Variable = "aws:SourceAccount", + /// }, + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementConditionInputArgs + /// { + /// Test = "ArnLike", + /// Values = new[] + /// { + /// $"arn:aws:bedrock:{currentGetRegion.Apply(getRegionResult => getRegionResult.Name)}:{current.Apply(getCallerIdentityResult => getCallerIdentityResult.AccountId)}:agent/*", + /// }, + /// Variable = "AWS:SourceArn", + /// }, + /// }, + /// }, + /// }, + /// }); + /// + /// var example = new Aws.Iam.Role("example", new() + /// { + /// AssumeRolePolicy = exampleAgentTrust.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json), + /// NamePrefix = "AmazonBedrockExecutionRoleForAgents_", + /// }); + /// + /// var exampleAgentPermissions = Aws.Iam.GetPolicyDocument.Invoke(new() + /// { + /// Statements = new[] + /// { + /// new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs + /// { + /// Actions = new[] + /// { + /// "bedrock:InvokeModel", + /// }, + /// Resources = new[] + /// { + /// $"arn:aws:bedrock:{currentGetRegion.Apply(getRegionResult => getRegionResult.Name)}::foundation-model/anthropic.claude-v2", + /// }, + /// }, + /// }, + /// }); + /// + /// var exampleRolePolicy = new Aws.Iam.RolePolicy("example", new() + /// { + /// Policy = exampleAgentPermissions.Apply(getPolicyDocumentResult => getPolicyDocumentResult.Json), + /// Role = example.Id, + /// }); + /// + /// var test = new Aws.Bedrock.AgentAgent("test", new() + /// { + /// AgentName = "my-agent-name", + /// AgentResourceRoleArn = example.Arn, + /// IdleSessionTtlInSeconds = 500, + /// FoundationModel = "anthropic.claude-v2", + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import Agents for Amazon Bedrock Agent using the `abcdef1234`. For example: + /// + /// ```sh + /// $ pulumi import aws:bedrock/agentAgent:AgentAgent example abcdef1234 + /// ``` + /// + [AwsResourceType("aws:bedrock/agentAgent:AgentAgent")] + public partial class AgentAgent : global::Pulumi.CustomResource + { + /// + /// ARN of the Agent. + /// + [Output("agentArn")] + public Output AgentArn { get; private set; } = null!; + + /// + /// ID of the Agent. + /// + [Output("agentId")] + public Output AgentId { get; private set; } = null!; + + /// + /// Name for the agent. + /// + [Output("agentName")] + public Output AgentName { get; private set; } = null!; + + /// + /// ARN of the Role for the agent. + /// + [Output("agentResourceRoleArn")] + public Output AgentResourceRoleArn { get; private set; } = null!; + + /// + /// Version of the Agent. + /// + [Output("agentVersion")] + public Output AgentVersion { get; private set; } = null!; + + /// + /// ARN of customer manager key to use for encryption. + /// + [Output("customerEncryptionKeyArn")] + public Output CustomerEncryptionKeyArn { get; private set; } = null!; + + /// + /// Description of the agent. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Foundation model for the agent to use. + /// + /// The following arguments are optional: + /// + [Output("foundationModel")] + public Output FoundationModel { get; private set; } = null!; + + /// + /// TTL in seconds for the agent to idle. + /// + [Output("idleSessionTtlInSeconds")] + public Output IdleSessionTtlInSeconds { get; private set; } = null!; + + /// + /// Instructions to tell agent what it should do. + /// + [Output("instruction")] + public Output Instruction { get; private set; } = null!; + + [Output("prepareAgent")] + public Output PrepareAgent { get; private set; } = null!; + + /// + /// Prompt Override Configuration + /// + [Output("promptOverrideConfigurations")] + public Output> PromptOverrideConfigurations { get; private set; } = null!; + + /// + /// Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + + /// + /// Create a AgentAgent 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 AgentAgent(string name, AgentAgentArgs args, CustomResourceOptions? options = null) + : base("aws:bedrock/agentAgent:AgentAgent", name, args ?? new AgentAgentArgs(), MakeResourceOptions(options, "")) + { + } + + private AgentAgent(string name, Input id, AgentAgentState? state = null, CustomResourceOptions? options = null) + : base("aws:bedrock/agentAgent:AgentAgent", 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 AgentAgent 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 AgentAgent Get(string name, Input id, AgentAgentState? state = null, CustomResourceOptions? options = null) + { + return new AgentAgent(name, id, state, options); + } + } + + public sealed class AgentAgentArgs : global::Pulumi.ResourceArgs + { + /// + /// Name for the agent. + /// + [Input("agentName", required: true)] + public Input AgentName { get; set; } = null!; + + /// + /// ARN of the Role for the agent. + /// + [Input("agentResourceRoleArn", required: true)] + public Input AgentResourceRoleArn { get; set; } = null!; + + /// + /// ARN of customer manager key to use for encryption. + /// + [Input("customerEncryptionKeyArn")] + public Input? CustomerEncryptionKeyArn { get; set; } + + /// + /// Description of the agent. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Foundation model for the agent to use. + /// + /// The following arguments are optional: + /// + [Input("foundationModel", required: true)] + public Input FoundationModel { get; set; } = null!; + + /// + /// TTL in seconds for the agent to idle. + /// + [Input("idleSessionTtlInSeconds")] + public Input? IdleSessionTtlInSeconds { get; set; } + + /// + /// Instructions to tell agent what it should do. + /// + [Input("instruction")] + public Input? Instruction { get; set; } + + [Input("prepareAgent")] + public Input? PrepareAgent { get; set; } + + [Input("promptOverrideConfigurations")] + private InputList? _promptOverrideConfigurations; + + /// + /// Prompt Override Configuration + /// + public InputList PromptOverrideConfigurations + { + get => _promptOverrideConfigurations ?? (_promptOverrideConfigurations = new InputList()); + set => _promptOverrideConfigurations = value; + } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value tags for the place index. 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 AgentAgentArgs() + { + } + public static new AgentAgentArgs Empty => new AgentAgentArgs(); + } + + public sealed class AgentAgentState : global::Pulumi.ResourceArgs + { + /// + /// ARN of the Agent. + /// + [Input("agentArn")] + public Input? AgentArn { get; set; } + + /// + /// ID of the Agent. + /// + [Input("agentId")] + public Input? AgentId { get; set; } + + /// + /// Name for the agent. + /// + [Input("agentName")] + public Input? AgentName { get; set; } + + /// + /// ARN of the Role for the agent. + /// + [Input("agentResourceRoleArn")] + public Input? AgentResourceRoleArn { get; set; } + + /// + /// Version of the Agent. + /// + [Input("agentVersion")] + public Input? AgentVersion { get; set; } + + /// + /// ARN of customer manager key to use for encryption. + /// + [Input("customerEncryptionKeyArn")] + public Input? CustomerEncryptionKeyArn { get; set; } + + /// + /// Description of the agent. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Foundation model for the agent to use. + /// + /// The following arguments are optional: + /// + [Input("foundationModel")] + public Input? FoundationModel { get; set; } + + /// + /// TTL in seconds for the agent to idle. + /// + [Input("idleSessionTtlInSeconds")] + public Input? IdleSessionTtlInSeconds { get; set; } + + /// + /// Instructions to tell agent what it should do. + /// + [Input("instruction")] + public Input? Instruction { get; set; } + + [Input("prepareAgent")] + public Input? PrepareAgent { get; set; } + + [Input("promptOverrideConfigurations")] + private InputList? _promptOverrideConfigurations; + + /// + /// Prompt Override Configuration + /// + public InputList PromptOverrideConfigurations + { + get => _promptOverrideConfigurations ?? (_promptOverrideConfigurations = new InputList()); + set => _promptOverrideConfigurations = value; + } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public AgentAgentState() + { + } + public static new AgentAgentState Empty => new AgentAgentState(); + } +} diff --git a/sdk/dotnet/Bedrock/AgentAgentActionGroup.cs b/sdk/dotnet/Bedrock/AgentAgentActionGroup.cs new file mode 100644 index 00000000000..78e24de9b68 --- /dev/null +++ b/sdk/dotnet/Bedrock/AgentAgentActionGroup.cs @@ -0,0 +1,252 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock +{ + /// + /// Resource for managing an AWS Agents for Amazon Bedrock Agent Action Group. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.Bedrock.AgentAgentActionGroup("example", new() + /// { + /// ActionGroupName = "example", + /// AgentId = "ABDJFOWER1", + /// AgentVersion = "DRAFT", + /// SkipResourceInUseCheck = true, + /// ActionGroupExecutor = new Aws.Bedrock.Inputs.AgentAgentActionGroupActionGroupExecutorArgs + /// { + /// Lambda = "arn:aws:lambda:us-east-1:123456789012:function:example-function", + /// }, + /// ApiSchema = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaArgs + /// { + /// S3 = new Aws.Bedrock.Inputs.AgentAgentActionGroupApiSchemaS3Args + /// { + /// S3BucketName = "example-bucket", + /// S3ObjectKey = "path/to/schema.json", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import Agents for Amazon Bedrock Agent Action Group using the `example_id_arg`. For example: + /// + /// ```sh + /// $ pulumi import aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup example ABDJFOWER1,HSKTNKANI4,DRAFT + /// ``` + /// + [AwsResourceType("aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup")] + public partial class AgentAgentActionGroup : global::Pulumi.CustomResource + { + /// + /// Configuration of the executor for the Action Group. + /// + [Output("actionGroupExecutor")] + public Output ActionGroupExecutor { get; private set; } = null!; + + [Output("actionGroupId")] + public Output ActionGroupId { get; private set; } = null!; + + /// + /// Name of the Agent Action Group. + /// + [Output("actionGroupName")] + public Output ActionGroupName { get; private set; } = null!; + + [Output("actionGroupState")] + public Output ActionGroupState { get; private set; } = null!; + + /// + /// Id of the Agent for the Action Group. + /// + [Output("agentId")] + public Output AgentId { get; private set; } = null!; + + /// + /// Version of the Agent to attach the Action Group to. + /// + [Output("agentVersion")] + public Output AgentVersion { get; private set; } = null!; + + /// + /// Configuration of the API Schema for the Action Group. + /// + [Output("apiSchema")] + public Output ApiSchema { get; private set; } = null!; + + [Output("description")] + public Output Description { get; private set; } = null!; + + [Output("parentActionGroupSignature")] + public Output ParentActionGroupSignature { get; private set; } = null!; + + [Output("skipResourceInUseCheck")] + public Output SkipResourceInUseCheck { get; private set; } = null!; + + + /// + /// Create a AgentAgentActionGroup 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 AgentAgentActionGroup(string name, AgentAgentActionGroupArgs args, CustomResourceOptions? options = null) + : base("aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup", name, args ?? new AgentAgentActionGroupArgs(), MakeResourceOptions(options, "")) + { + } + + private AgentAgentActionGroup(string name, Input id, AgentAgentActionGroupState? state = null, CustomResourceOptions? options = null) + : base("aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup", 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 AgentAgentActionGroup 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 AgentAgentActionGroup Get(string name, Input id, AgentAgentActionGroupState? state = null, CustomResourceOptions? options = null) + { + return new AgentAgentActionGroup(name, id, state, options); + } + } + + public sealed class AgentAgentActionGroupArgs : global::Pulumi.ResourceArgs + { + /// + /// Configuration of the executor for the Action Group. + /// + [Input("actionGroupExecutor")] + public Input? ActionGroupExecutor { get; set; } + + /// + /// Name of the Agent Action Group. + /// + [Input("actionGroupName", required: true)] + public Input ActionGroupName { get; set; } = null!; + + [Input("actionGroupState")] + public Input? ActionGroupState { get; set; } + + /// + /// Id of the Agent for the Action Group. + /// + [Input("agentId", required: true)] + public Input AgentId { get; set; } = null!; + + /// + /// Version of the Agent to attach the Action Group to. + /// + [Input("agentVersion", required: true)] + public Input AgentVersion { get; set; } = null!; + + /// + /// Configuration of the API Schema for the Action Group. + /// + [Input("apiSchema")] + public Input? ApiSchema { get; set; } + + [Input("description")] + public Input? Description { get; set; } + + [Input("parentActionGroupSignature")] + public Input? ParentActionGroupSignature { get; set; } + + [Input("skipResourceInUseCheck")] + public Input? SkipResourceInUseCheck { get; set; } + + public AgentAgentActionGroupArgs() + { + } + public static new AgentAgentActionGroupArgs Empty => new AgentAgentActionGroupArgs(); + } + + public sealed class AgentAgentActionGroupState : global::Pulumi.ResourceArgs + { + /// + /// Configuration of the executor for the Action Group. + /// + [Input("actionGroupExecutor")] + public Input? ActionGroupExecutor { get; set; } + + [Input("actionGroupId")] + public Input? ActionGroupId { get; set; } + + /// + /// Name of the Agent Action Group. + /// + [Input("actionGroupName")] + public Input? ActionGroupName { get; set; } + + [Input("actionGroupState")] + public Input? ActionGroupState { get; set; } + + /// + /// Id of the Agent for the Action Group. + /// + [Input("agentId")] + public Input? AgentId { get; set; } + + /// + /// Version of the Agent to attach the Action Group to. + /// + [Input("agentVersion")] + public Input? AgentVersion { get; set; } + + /// + /// Configuration of the API Schema for the Action Group. + /// + [Input("apiSchema")] + public Input? ApiSchema { get; set; } + + [Input("description")] + public Input? Description { get; set; } + + [Input("parentActionGroupSignature")] + public Input? ParentActionGroupSignature { get; set; } + + [Input("skipResourceInUseCheck")] + public Input? SkipResourceInUseCheck { get; set; } + + public AgentAgentActionGroupState() + { + } + public static new AgentAgentActionGroupState Empty => new AgentAgentActionGroupState(); + } +} diff --git a/sdk/dotnet/Bedrock/AgentAgentAlias.cs b/sdk/dotnet/Bedrock/AgentAgentAlias.cs new file mode 100644 index 00000000000..d758037e7f4 --- /dev/null +++ b/sdk/dotnet/Bedrock/AgentAgentAlias.cs @@ -0,0 +1,246 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock +{ + /// + /// Resource for managing an AWS Agents for Amazon Bedrock Agent Alias. + /// + /// ## Example Usage + /// + /// ## Import + /// + /// Using `pulumi import`, import Agents for Amazon Bedrock Agent Alias using the `AGENT_ID,ALIAS_ID`. For example: + /// + /// ```sh + /// $ pulumi import aws:bedrock/agentAgentAlias:AgentAgentAlias example AGENT_ID,ALIAS_ID + /// ``` + /// + [AwsResourceType("aws:bedrock/agentAgentAlias:AgentAgentAlias")] + public partial class AgentAgentAlias : global::Pulumi.CustomResource + { + /// + /// ARN of the Agent Alias. + /// + [Output("agentAliasArn")] + public Output AgentAliasArn { get; private set; } = null!; + + [Output("agentAliasId")] + public Output AgentAliasId { get; private set; } = null!; + + /// + /// Name of the alias. + /// + [Output("agentAliasName")] + public Output AgentAliasName { get; private set; } = null!; + + /// + /// Identifier of the agent to create an alias for. + /// + [Output("agentId")] + public Output AgentId { get; private set; } = null!; + + /// + /// Description of the alias of the agent. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Routing configuration of the alias + /// + [Output("routingConfigurations")] + public Output> RoutingConfigurations { get; private set; } = null!; + + /// + /// Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + /// The following arguments are optional: + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + + /// + /// Create a AgentAgentAlias 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 AgentAgentAlias(string name, AgentAgentAliasArgs args, CustomResourceOptions? options = null) + : base("aws:bedrock/agentAgentAlias:AgentAgentAlias", name, args ?? new AgentAgentAliasArgs(), MakeResourceOptions(options, "")) + { + } + + private AgentAgentAlias(string name, Input id, AgentAgentAliasState? state = null, CustomResourceOptions? options = null) + : base("aws:bedrock/agentAgentAlias:AgentAgentAlias", 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 AgentAgentAlias 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 AgentAgentAlias Get(string name, Input id, AgentAgentAliasState? state = null, CustomResourceOptions? options = null) + { + return new AgentAgentAlias(name, id, state, options); + } + } + + public sealed class AgentAgentAliasArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the alias. + /// + [Input("agentAliasName", required: true)] + public Input AgentAliasName { get; set; } = null!; + + /// + /// Identifier of the agent to create an alias for. + /// + [Input("agentId", required: true)] + public Input AgentId { get; set; } = null!; + + /// + /// Description of the alias of the agent. + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("routingConfigurations")] + private InputList? _routingConfigurations; + + /// + /// Routing configuration of the alias + /// + public InputList RoutingConfigurations + { + get => _routingConfigurations ?? (_routingConfigurations = new InputList()); + set => _routingConfigurations = value; + } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + /// The following arguments are optional: + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public AgentAgentAliasArgs() + { + } + public static new AgentAgentAliasArgs Empty => new AgentAgentAliasArgs(); + } + + public sealed class AgentAgentAliasState : global::Pulumi.ResourceArgs + { + /// + /// ARN of the Agent Alias. + /// + [Input("agentAliasArn")] + public Input? AgentAliasArn { get; set; } + + [Input("agentAliasId")] + public Input? AgentAliasId { get; set; } + + /// + /// Name of the alias. + /// + [Input("agentAliasName")] + public Input? AgentAliasName { get; set; } + + /// + /// Identifier of the agent to create an alias for. + /// + [Input("agentId")] + public Input? AgentId { get; set; } + + /// + /// Description of the alias of the agent. + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("routingConfigurations")] + private InputList? _routingConfigurations; + + /// + /// Routing configuration of the alias + /// + public InputList RoutingConfigurations + { + get => _routingConfigurations ?? (_routingConfigurations = new InputList()); + set => _routingConfigurations = value; + } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + /// The following arguments are optional: + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public AgentAgentAliasState() + { + } + public static new AgentAgentAliasState Empty => new AgentAgentAliasState(); + } +} diff --git a/sdk/dotnet/Bedrock/AgentKnowledgeBase.cs b/sdk/dotnet/Bedrock/AgentKnowledgeBase.cs new file mode 100644 index 00000000000..1b36f18ecaf --- /dev/null +++ b/sdk/dotnet/Bedrock/AgentKnowledgeBase.cs @@ -0,0 +1,303 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock +{ + /// + /// Resource for managing an AWS Agents for Amazon Bedrock Knowledge Base. + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = new Aws.Bedrock.AgentKnowledgeBase("test", new() + /// { + /// Name = "example", + /// RoleArn = example.Arn, + /// KnowledgeBaseConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs + /// { + /// VectorKnowledgeBaseConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs + /// { + /// EmbeddingModelArn = "arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1", + /// }, + /// Type = "VECTOR", + /// }, + /// StorageConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseStorageConfigurationArgs + /// { + /// Type = "OPENSEARCH_SERVERLESS", + /// OpensearchServerlessConfiguration = new Aws.Bedrock.Inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs + /// { + /// CollectionArn = "arn:aws:aoss:us-west-2:1234567890:collection/142bezjddq707i5stcrf", + /// VectorIndexName = "bedrock-knowledge-base-default-index", + /// FieldMapping = new Aws.Bedrock.Inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs + /// { + /// VectorField = "bedrock-knowledge-base-default-vector", + /// TextField = "AMAZON_BEDROCK_TEXT_CHUNK", + /// MetadataField = "AMAZON_BEDROCK_METADATA", + /// }, + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import Agents for Amazon Bedrock Knowledge Base using the `Q1IYMH6GQG`. For example: + /// + /// ```sh + /// $ pulumi import aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase example Q1IYMH6GQG + /// ``` + /// + [AwsResourceType("aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase")] + public partial class AgentKnowledgeBase : global::Pulumi.CustomResource + { + /// + /// ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + [Output("createdAt")] + public Output CreatedAt { get; private set; } = null!; + + /// + /// A description of the knowledge base. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + [Output("failureReasons")] + public Output> FailureReasons { get; private set; } = null!; + + /// + /// Contains details about the embeddings model used for the knowledge base. + /// + [Output("knowledgeBaseConfiguration")] + public Output KnowledgeBaseConfiguration { get; private set; } = null!; + + /// + /// A name for the knowledge base. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The ARN of the IAM role with permissions to create the knowledge base. + /// + [Output("roleArn")] + public Output RoleArn { get; private set; } = null!; + + /// + /// Contains details about the configuration of the vector database used for the knowledge base. + /// + [Output("storageConfiguration")] + public Output StorageConfiguration { get; private set; } = null!; + + /// + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + [Output("updatedAt")] + public Output UpdatedAt { get; private set; } = null!; + + + /// + /// Create a AgentKnowledgeBase 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 AgentKnowledgeBase(string name, AgentKnowledgeBaseArgs args, CustomResourceOptions? options = null) + : base("aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase", name, args ?? new AgentKnowledgeBaseArgs(), MakeResourceOptions(options, "")) + { + } + + private AgentKnowledgeBase(string name, Input id, AgentKnowledgeBaseState? state = null, CustomResourceOptions? options = null) + : base("aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase", 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 AgentKnowledgeBase 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 AgentKnowledgeBase Get(string name, Input id, AgentKnowledgeBaseState? state = null, CustomResourceOptions? options = null) + { + return new AgentKnowledgeBase(name, id, state, options); + } + } + + public sealed class AgentKnowledgeBaseArgs : global::Pulumi.ResourceArgs + { + /// + /// A description of the knowledge base. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Contains details about the embeddings model used for the knowledge base. + /// + [Input("knowledgeBaseConfiguration")] + public Input? KnowledgeBaseConfiguration { get; set; } + + /// + /// A name for the knowledge base. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The ARN of the IAM role with permissions to create the knowledge base. + /// + [Input("roleArn", required: true)] + public Input RoleArn { get; set; } = null!; + + /// + /// Contains details about the configuration of the vector database used for the knowledge base. + /// + [Input("storageConfiguration")] + public Input? StorageConfiguration { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public AgentKnowledgeBaseArgs() + { + } + public static new AgentKnowledgeBaseArgs Empty => new AgentKnowledgeBaseArgs(); + } + + public sealed class AgentKnowledgeBaseState : global::Pulumi.ResourceArgs + { + /// + /// ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + /// + [Input("arn")] + public Input? Arn { get; set; } + + [Input("createdAt")] + public Input? CreatedAt { get; set; } + + /// + /// A description of the knowledge base. + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("failureReasons")] + private InputList? _failureReasons; + public InputList FailureReasons + { + get => _failureReasons ?? (_failureReasons = new InputList()); + set => _failureReasons = value; + } + + /// + /// Contains details about the embeddings model used for the knowledge base. + /// + [Input("knowledgeBaseConfiguration")] + public Input? KnowledgeBaseConfiguration { get; set; } + + /// + /// A name for the knowledge base. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// The ARN of the IAM role with permissions to create the knowledge base. + /// + [Input("roleArn")] + public Input? RoleArn { get; set; } + + /// + /// Contains details about the configuration of the vector database used for the knowledge base. + /// + [Input("storageConfiguration")] + public Input? StorageConfiguration { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + [Input("updatedAt")] + public Input? UpdatedAt { get; set; } + + public AgentKnowledgeBaseState() + { + } + public static new AgentKnowledgeBaseState Empty => new AgentKnowledgeBaseState(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupActionGroupExecutorArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupActionGroupExecutorArgs.cs new file mode 100644 index 00000000000..0373a46a776 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupActionGroupExecutorArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentAgentActionGroupActionGroupExecutorArgs : global::Pulumi.ResourceArgs + { + /// + /// ARN of the Lambda that defines the business logic for the action group. + /// + [Input("lambda")] + public Input? Lambda { get; set; } + + public AgentAgentActionGroupActionGroupExecutorArgs() + { + } + public static new AgentAgentActionGroupActionGroupExecutorArgs Empty => new AgentAgentActionGroupActionGroupExecutorArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupActionGroupExecutorGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupActionGroupExecutorGetArgs.cs new file mode 100644 index 00000000000..be96b9c602e --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupActionGroupExecutorGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentAgentActionGroupActionGroupExecutorGetArgs : global::Pulumi.ResourceArgs + { + /// + /// ARN of the Lambda that defines the business logic for the action group. + /// + [Input("lambda")] + public Input? Lambda { get; set; } + + public AgentAgentActionGroupActionGroupExecutorGetArgs() + { + } + public static new AgentAgentActionGroupActionGroupExecutorGetArgs Empty => new AgentAgentActionGroupActionGroupExecutorGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaArgs.cs new file mode 100644 index 00000000000..bc71f512e18 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentAgentActionGroupApiSchemaArgs : global::Pulumi.ResourceArgs + { + /// + /// YAML or JSON OpenAPI Schema. + /// + [Input("payload")] + public Input? Payload { get; set; } + + /// + /// Configuration of S3 schema location + /// + [Input("s3")] + public Input? S3 { get; set; } + + public AgentAgentActionGroupApiSchemaArgs() + { + } + public static new AgentAgentActionGroupApiSchemaArgs Empty => new AgentAgentActionGroupApiSchemaArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaGetArgs.cs new file mode 100644 index 00000000000..8a57774553b --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentAgentActionGroupApiSchemaGetArgs : global::Pulumi.ResourceArgs + { + /// + /// YAML or JSON OpenAPI Schema. + /// + [Input("payload")] + public Input? Payload { get; set; } + + /// + /// Configuration of S3 schema location + /// + [Input("s3")] + public Input? S3 { get; set; } + + public AgentAgentActionGroupApiSchemaGetArgs() + { + } + public static new AgentAgentActionGroupApiSchemaGetArgs Empty => new AgentAgentActionGroupApiSchemaGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaS3Args.cs b/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaS3Args.cs new file mode 100644 index 00000000000..d5e8075b8a9 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaS3Args.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.Bedrock.Inputs +{ + + public sealed class AgentAgentActionGroupApiSchemaS3Args : global::Pulumi.ResourceArgs + { + /// + /// The S3 bucket name that contains the OpenAPI Schema. + /// + [Input("s3BucketName")] + public Input? S3BucketName { get; set; } + + /// + /// The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + /// + /// The following arguments are optional: + /// + [Input("s3ObjectKey")] + public Input? S3ObjectKey { get; set; } + + public AgentAgentActionGroupApiSchemaS3Args() + { + } + public static new AgentAgentActionGroupApiSchemaS3Args Empty => new AgentAgentActionGroupApiSchemaS3Args(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaS3GetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaS3GetArgs.cs new file mode 100644 index 00000000000..18b54abd16a --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentAgentActionGroupApiSchemaS3GetArgs.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.Bedrock.Inputs +{ + + public sealed class AgentAgentActionGroupApiSchemaS3GetArgs : global::Pulumi.ResourceArgs + { + /// + /// The S3 bucket name that contains the OpenAPI Schema. + /// + [Input("s3BucketName")] + public Input? S3BucketName { get; set; } + + /// + /// The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + /// + /// The following arguments are optional: + /// + [Input("s3ObjectKey")] + public Input? S3ObjectKey { get; set; } + + public AgentAgentActionGroupApiSchemaS3GetArgs() + { + } + public static new AgentAgentActionGroupApiSchemaS3GetArgs Empty => new AgentAgentActionGroupApiSchemaS3GetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentAgentAliasRoutingConfigurationArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentAgentAliasRoutingConfigurationArgs.cs new file mode 100644 index 00000000000..9903f279155 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentAgentAliasRoutingConfigurationArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentAgentAliasRoutingConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Version of the agent the alias routes to. + /// + [Input("agentVersion", required: true)] + public Input AgentVersion { get; set; } = null!; + + public AgentAgentAliasRoutingConfigurationArgs() + { + } + public static new AgentAgentAliasRoutingConfigurationArgs Empty => new AgentAgentAliasRoutingConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentAgentAliasRoutingConfigurationGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentAgentAliasRoutingConfigurationGetArgs.cs new file mode 100644 index 00000000000..cc58de1f2dd --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentAgentAliasRoutingConfigurationGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentAgentAliasRoutingConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Version of the agent the alias routes to. + /// + [Input("agentVersion", required: true)] + public Input AgentVersion { get; set; } = null!; + + public AgentAgentAliasRoutingConfigurationGetArgs() + { + } + public static new AgentAgentAliasRoutingConfigurationGetArgs Empty => new AgentAgentAliasRoutingConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentAgentAliasTimeoutsArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentAgentAliasTimeoutsArgs.cs new file mode 100644 index 00000000000..c07a0704988 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentAgentAliasTimeoutsArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentAgentAliasTimeoutsArgs : 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 AgentAgentAliasTimeoutsArgs() + { + } + public static new AgentAgentAliasTimeoutsArgs Empty => new AgentAgentAliasTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentAgentAliasTimeoutsGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentAgentAliasTimeoutsGetArgs.cs new file mode 100644 index 00000000000..7c6953b467f --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentAgentAliasTimeoutsGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentAgentAliasTimeoutsGetArgs : 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 AgentAgentAliasTimeoutsGetArgs() + { + } + public static new AgentAgentAliasTimeoutsGetArgs Empty => new AgentAgentAliasTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentAgentPromptOverrideConfigurationArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentAgentPromptOverrideConfigurationArgs.cs new file mode 100644 index 00000000000..9f63e08b6f5 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentAgentPromptOverrideConfigurationArgs.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentAgentPromptOverrideConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// ARN of Lambda to use when parsing the raw foundation model output. + /// + [Input("overrideLambda", required: true)] + public Input OverrideLambda { get; set; } = null!; + + [Input("promptConfigurations", required: true)] + private InputList? _promptConfigurations; + + /// + /// List of prompt configurations. + /// + /// The following arguments are optional: + /// + public InputList PromptConfigurations + { + get => _promptConfigurations ?? (_promptConfigurations = new InputList()); + set => _promptConfigurations = value; + } + + public AgentAgentPromptOverrideConfigurationArgs() + { + } + public static new AgentAgentPromptOverrideConfigurationArgs Empty => new AgentAgentPromptOverrideConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentAgentPromptOverrideConfigurationGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentAgentPromptOverrideConfigurationGetArgs.cs new file mode 100644 index 00000000000..fa4717fd06d --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentAgentPromptOverrideConfigurationGetArgs.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentAgentPromptOverrideConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// ARN of Lambda to use when parsing the raw foundation model output. + /// + [Input("overrideLambda", required: true)] + public Input OverrideLambda { get; set; } = null!; + + [Input("promptConfigurations", required: true)] + private InputList? _promptConfigurations; + + /// + /// List of prompt configurations. + /// + /// The following arguments are optional: + /// + public InputList PromptConfigurations + { + get => _promptConfigurations ?? (_promptConfigurations = new InputList()); + set => _promptConfigurations = value; + } + + public AgentAgentPromptOverrideConfigurationGetArgs() + { + } + public static new AgentAgentPromptOverrideConfigurationGetArgs Empty => new AgentAgentPromptOverrideConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentAgentTimeoutsArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentAgentTimeoutsArgs.cs new file mode 100644 index 00000000000..5295cbe176a --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentAgentTimeoutsArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentAgentTimeoutsArgs : 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 AgentAgentTimeoutsArgs() + { + } + public static new AgentAgentTimeoutsArgs Empty => new AgentAgentTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentAgentTimeoutsGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentAgentTimeoutsGetArgs.cs new file mode 100644 index 00000000000..90799958e7e --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentAgentTimeoutsGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentAgentTimeoutsGetArgs : 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 AgentAgentTimeoutsGetArgs() + { + } + public static new AgentAgentTimeoutsGetArgs Empty => new AgentAgentTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationArgs.cs new file mode 100644 index 00000000000..6717787aa84 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseKnowledgeBaseConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// Contains details about the embeddings model that'sused to convert the data source. + /// + [Input("vectorKnowledgeBaseConfiguration")] + public Input? VectorKnowledgeBaseConfiguration { get; set; } + + public AgentKnowledgeBaseKnowledgeBaseConfigurationArgs() + { + } + public static new AgentKnowledgeBaseKnowledgeBaseConfigurationArgs Empty => new AgentKnowledgeBaseKnowledgeBaseConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationGetArgs.cs new file mode 100644 index 00000000000..994e9fa2a67 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseKnowledgeBaseConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// Contains details about the embeddings model that'sused to convert the data source. + /// + [Input("vectorKnowledgeBaseConfiguration")] + public Input? VectorKnowledgeBaseConfiguration { get; set; } + + public AgentKnowledgeBaseKnowledgeBaseConfigurationGetArgs() + { + } + public static new AgentKnowledgeBaseKnowledgeBaseConfigurationGetArgs Empty => new AgentKnowledgeBaseKnowledgeBaseConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs.cs new file mode 100644 index 00000000000..cee5264b9dd --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the model used to create vector embeddings for the knowledge base. + /// + [Input("embeddingModelArn", required: true)] + public Input EmbeddingModelArn { get; set; } = null!; + + public AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs() + { + } + public static new AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs Empty => new AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationGetArgs.cs new file mode 100644 index 00000000000..f5ec367d247 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the model used to create vector embeddings for the knowledge base. + /// + [Input("embeddingModelArn", required: true)] + public Input EmbeddingModelArn { get; set; } = null!; + + public AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationGetArgs() + { + } + public static new AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationGetArgs Empty => new AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationArgs.cs new file mode 100644 index 00000000000..0ce38172220 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + /// + [Input("opensearchServerlessConfiguration")] + public Input? OpensearchServerlessConfiguration { get; set; } + + /// + /// Contains the storage configuration of the knowledge base in Pinecone. + /// + [Input("pineconeConfiguration")] + public Input? PineconeConfiguration { get; set; } + + /// + /// Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + /// + [Input("rdsConfiguration")] + public Input? RdsConfiguration { get; set; } + + /// + /// Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + /// + [Input("redisEnterpriseCloudConfiguration")] + public Input? RedisEnterpriseCloudConfiguration { get; set; } + + /// + /// The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public AgentKnowledgeBaseStorageConfigurationArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationArgs Empty => new AgentKnowledgeBaseStorageConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationGetArgs.cs new file mode 100644 index 00000000000..4d9031b4f94 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + /// + [Input("opensearchServerlessConfiguration")] + public Input? OpensearchServerlessConfiguration { get; set; } + + /// + /// Contains the storage configuration of the knowledge base in Pinecone. + /// + [Input("pineconeConfiguration")] + public Input? PineconeConfiguration { get; set; } + + /// + /// Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + /// + [Input("rdsConfiguration")] + public Input? RdsConfiguration { get; set; } + + /// + /// Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + /// + [Input("redisEnterpriseCloudConfiguration")] + public Input? RedisEnterpriseCloudConfiguration { get; set; } + + /// + /// The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public AgentKnowledgeBaseStorageConfigurationGetArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationGetArgs Empty => new AgentKnowledgeBaseStorageConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs.cs new file mode 100644 index 00000000000..ccf634fddd4 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the OpenSearch Service vector store. + /// + [Input("collectionArn", required: true)] + public Input CollectionArn { get; set; } = null!; + + /// + /// Contains the names of the fields to which to map information about the vector store. + /// + [Input("fieldMapping")] + public Input? FieldMapping { get; set; } + + /// + /// The name of the vector store. + /// + [Input("vectorIndexName", required: true)] + public Input VectorIndexName { get; set; } = null!; + + public AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs Empty => new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs.cs new file mode 100644 index 00000000000..9f7915fb8f8 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the field in which Amazon Bedrock stores metadata about the vector store. + /// + [Input("metadataField")] + public Input? MetadataField { get; set; } + + /// + /// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + /// + [Input("textField")] + public Input? TextField { get; set; } + + /// + /// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + /// + [Input("vectorField")] + public Input? VectorField { get; set; } + + public AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs Empty => new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingGetArgs.cs new file mode 100644 index 00000000000..ac3a9e4a5ce --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the field in which Amazon Bedrock stores metadata about the vector store. + /// + [Input("metadataField")] + public Input? MetadataField { get; set; } + + /// + /// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + /// + [Input("textField")] + public Input? TextField { get; set; } + + /// + /// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + /// + [Input("vectorField")] + public Input? VectorField { get; set; } + + public AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingGetArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingGetArgs Empty => new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationGetArgs.cs new file mode 100644 index 00000000000..60750587186 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the OpenSearch Service vector store. + /// + [Input("collectionArn", required: true)] + public Input CollectionArn { get; set; } = null!; + + /// + /// Contains the names of the fields to which to map information about the vector store. + /// + [Input("fieldMapping")] + public Input? FieldMapping { get; set; } + + /// + /// The name of the vector store. + /// + [Input("vectorIndexName", required: true)] + public Input VectorIndexName { get; set; } = null!; + + public AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationGetArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationGetArgs Empty => new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs.cs new file mode 100644 index 00000000000..ee8265e6f95 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The endpoint URL for your index management page. + /// + [Input("connectionString", required: true)] + public Input ConnectionString { get; set; } = null!; + + /// + /// The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + /// + [Input("credentialsSecretArn", required: true)] + public Input CredentialsSecretArn { get; set; } = null!; + + /// + /// Contains the names of the fields to which to map information about the vector store. + /// + [Input("fieldMapping")] + public Input? FieldMapping { get; set; } + + /// + /// The namespace to be used to write new data to your database. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + public AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs Empty => new AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs.cs new file mode 100644 index 00000000000..94380c86252 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the field in which Amazon Bedrock stores metadata about the vector store. + /// + [Input("metadataField")] + public Input? MetadataField { get; set; } + + /// + /// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + /// + [Input("textField")] + public Input? TextField { get; set; } + + public AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs Empty => new AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingGetArgs.cs new file mode 100644 index 00000000000..43aec221929 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the field in which Amazon Bedrock stores metadata about the vector store. + /// + [Input("metadataField")] + public Input? MetadataField { get; set; } + + /// + /// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + /// + [Input("textField")] + public Input? TextField { get; set; } + + public AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingGetArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingGetArgs Empty => new AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationGetArgs.cs new file mode 100644 index 00000000000..42084ab193f --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationPineconeConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The endpoint URL for your index management page. + /// + [Input("connectionString", required: true)] + public Input ConnectionString { get; set; } = null!; + + /// + /// The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + /// + [Input("credentialsSecretArn", required: true)] + public Input CredentialsSecretArn { get; set; } = null!; + + /// + /// Contains the names of the fields to which to map information about the vector store. + /// + [Input("fieldMapping")] + public Input? FieldMapping { get; set; } + + /// + /// The namespace to be used to write new data to your database. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + public AgentKnowledgeBaseStorageConfigurationPineconeConfigurationGetArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationPineconeConfigurationGetArgs Empty => new AgentKnowledgeBaseStorageConfigurationPineconeConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs.cs new file mode 100644 index 00000000000..5a42f218467 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + /// + [Input("credentialsSecretArn", required: true)] + public Input CredentialsSecretArn { get; set; } = null!; + + /// + /// The name of your Amazon RDS database. + /// + [Input("databaseName", required: true)] + public Input DatabaseName { get; set; } = null!; + + /// + /// Contains the names of the fields to which to map information about the vector store. + /// + [Input("fieldMapping")] + public Input? FieldMapping { get; set; } + + /// + /// The namespace to be used to write new data to your database. + /// + [Input("resourceArn", required: true)] + public Input ResourceArn { get; set; } = null!; + + /// + /// The name of the table in the database. + /// + [Input("tableName", required: true)] + public Input TableName { get; set; } = null!; + + public AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs Empty => new AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs.cs new file mode 100644 index 00000000000..9887824c487 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the field in which Amazon Bedrock stores metadata about the vector store. + /// + [Input("metadataField", required: true)] + public Input MetadataField { get; set; } = null!; + + /// + /// The name of the field in which Amazon Bedrock stores the ID for each entry. + /// + [Input("primaryKeyField", required: true)] + public Input PrimaryKeyField { get; set; } = null!; + + /// + /// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + /// + [Input("textField", required: true)] + public Input TextField { get; set; } = null!; + + /// + /// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + /// + [Input("vectorField", required: true)] + public Input VectorField { get; set; } = null!; + + public AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs Empty => new AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingGetArgs.cs new file mode 100644 index 00000000000..1b41ebb4cc2 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the field in which Amazon Bedrock stores metadata about the vector store. + /// + [Input("metadataField", required: true)] + public Input MetadataField { get; set; } = null!; + + /// + /// The name of the field in which Amazon Bedrock stores the ID for each entry. + /// + [Input("primaryKeyField", required: true)] + public Input PrimaryKeyField { get; set; } = null!; + + /// + /// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + /// + [Input("textField", required: true)] + public Input TextField { get; set; } = null!; + + /// + /// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + /// + [Input("vectorField", required: true)] + public Input VectorField { get; set; } = null!; + + public AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingGetArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingGetArgs Empty => new AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationGetArgs.cs new file mode 100644 index 00000000000..85643292bc4 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationRdsConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + /// + [Input("credentialsSecretArn", required: true)] + public Input CredentialsSecretArn { get; set; } = null!; + + /// + /// The name of your Amazon RDS database. + /// + [Input("databaseName", required: true)] + public Input DatabaseName { get; set; } = null!; + + /// + /// Contains the names of the fields to which to map information about the vector store. + /// + [Input("fieldMapping")] + public Input? FieldMapping { get; set; } + + /// + /// The namespace to be used to write new data to your database. + /// + [Input("resourceArn", required: true)] + public Input ResourceArn { get; set; } = null!; + + /// + /// The name of the table in the database. + /// + [Input("tableName", required: true)] + public Input TableName { get; set; } = null!; + + public AgentKnowledgeBaseStorageConfigurationRdsConfigurationGetArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationRdsConfigurationGetArgs Empty => new AgentKnowledgeBaseStorageConfigurationRdsConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs.cs new file mode 100644 index 00000000000..2fc51814943 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + /// + [Input("credentialsSecretArn", required: true)] + public Input CredentialsSecretArn { get; set; } = null!; + + /// + /// The endpoint URL of the Redis Enterprise Cloud database. + /// + [Input("endpoint", required: true)] + public Input Endpoint { get; set; } = null!; + + /// + /// Contains the names of the fields to which to map information about the vector store. + /// + [Input("fieldMapping")] + public Input? FieldMapping { get; set; } + + /// + /// The name of the vector store. + /// + [Input("vectorIndexName", required: true)] + public Input VectorIndexName { get; set; } = null!; + + public AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs Empty => new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs.cs new file mode 100644 index 00000000000..c6f6de5a5a6 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the field in which Amazon Bedrock stores metadata about the vector store. + /// + [Input("metadataField")] + public Input? MetadataField { get; set; } + + /// + /// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + /// + [Input("textField")] + public Input? TextField { get; set; } + + /// + /// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + /// + [Input("vectorField")] + public Input? VectorField { get; set; } + + public AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs Empty => new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingGetArgs.cs new file mode 100644 index 00000000000..0ff75adec0e --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The name of the field in which Amazon Bedrock stores metadata about the vector store. + /// + [Input("metadataField")] + public Input? MetadataField { get; set; } + + /// + /// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + /// + [Input("textField")] + public Input? TextField { get; set; } + + /// + /// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + /// + [Input("vectorField")] + public Input? VectorField { get; set; } + + public AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingGetArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingGetArgs Empty => new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationGetArgs.cs new file mode 100644 index 00000000000..0766c52191d --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationGetArgs.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + /// + [Input("credentialsSecretArn", required: true)] + public Input CredentialsSecretArn { get; set; } = null!; + + /// + /// The endpoint URL of the Redis Enterprise Cloud database. + /// + [Input("endpoint", required: true)] + public Input Endpoint { get; set; } = null!; + + /// + /// Contains the names of the fields to which to map information about the vector store. + /// + [Input("fieldMapping")] + public Input? FieldMapping { get; set; } + + /// + /// The name of the vector store. + /// + [Input("vectorIndexName", required: true)] + public Input VectorIndexName { get; set; } = null!; + + public AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationGetArgs() + { + } + public static new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationGetArgs Empty => new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseTimeoutsArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseTimeoutsArgs.cs new file mode 100644 index 00000000000..e8775b546ef --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseTimeoutsArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseTimeoutsArgs : 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 AgentKnowledgeBaseTimeoutsArgs() + { + } + public static new AgentKnowledgeBaseTimeoutsArgs Empty => new AgentKnowledgeBaseTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseTimeoutsGetArgs.cs b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseTimeoutsGetArgs.cs new file mode 100644 index 00000000000..80b7d0e9b99 --- /dev/null +++ b/sdk/dotnet/Bedrock/Inputs/AgentKnowledgeBaseTimeoutsGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Inputs +{ + + public sealed class AgentKnowledgeBaseTimeoutsGetArgs : 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 AgentKnowledgeBaseTimeoutsGetArgs() + { + } + public static new AgentKnowledgeBaseTimeoutsGetArgs Empty => new AgentKnowledgeBaseTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentAgentActionGroupActionGroupExecutor.cs b/sdk/dotnet/Bedrock/Outputs/AgentAgentActionGroupActionGroupExecutor.cs new file mode 100644 index 00000000000..da98537f446 --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentAgentActionGroupActionGroupExecutor.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentAgentActionGroupActionGroupExecutor + { + /// + /// ARN of the Lambda that defines the business logic for the action group. + /// + public readonly string? Lambda; + + [OutputConstructor] + private AgentAgentActionGroupActionGroupExecutor(string? lambda) + { + Lambda = lambda; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentAgentActionGroupApiSchema.cs b/sdk/dotnet/Bedrock/Outputs/AgentAgentActionGroupApiSchema.cs new file mode 100644 index 00000000000..df32e55f085 --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentAgentActionGroupApiSchema.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentAgentActionGroupApiSchema + { + /// + /// YAML or JSON OpenAPI Schema. + /// + public readonly string? Payload; + /// + /// Configuration of S3 schema location + /// + public readonly Outputs.AgentAgentActionGroupApiSchemaS3? S3; + + [OutputConstructor] + private AgentAgentActionGroupApiSchema( + string? payload, + + Outputs.AgentAgentActionGroupApiSchemaS3? s3) + { + Payload = payload; + S3 = s3; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentAgentActionGroupApiSchemaS3.cs b/sdk/dotnet/Bedrock/Outputs/AgentAgentActionGroupApiSchemaS3.cs new file mode 100644 index 00000000000..43c7d2c2bc9 --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentAgentActionGroupApiSchemaS3.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.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentAgentActionGroupApiSchemaS3 + { + /// + /// The S3 bucket name that contains the OpenAPI Schema. + /// + public readonly string? S3BucketName; + /// + /// The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + /// + /// The following arguments are optional: + /// + public readonly string? S3ObjectKey; + + [OutputConstructor] + private AgentAgentActionGroupApiSchemaS3( + string? s3BucketName, + + string? s3ObjectKey) + { + S3BucketName = s3BucketName; + S3ObjectKey = s3ObjectKey; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentAgentAliasRoutingConfiguration.cs b/sdk/dotnet/Bedrock/Outputs/AgentAgentAliasRoutingConfiguration.cs new file mode 100644 index 00000000000..ca8e57fff6d --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentAgentAliasRoutingConfiguration.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentAgentAliasRoutingConfiguration + { + /// + /// Version of the agent the alias routes to. + /// + public readonly string AgentVersion; + + [OutputConstructor] + private AgentAgentAliasRoutingConfiguration(string agentVersion) + { + AgentVersion = agentVersion; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentAgentAliasTimeouts.cs b/sdk/dotnet/Bedrock/Outputs/AgentAgentAliasTimeouts.cs new file mode 100644 index 00000000000..28f10f88f79 --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentAgentAliasTimeouts.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentAgentAliasTimeouts + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.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 AgentAgentAliasTimeouts( + string? create, + + string? delete, + + string? update) + { + Create = create; + Delete = delete; + Update = update; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentAgentPromptOverrideConfiguration.cs b/sdk/dotnet/Bedrock/Outputs/AgentAgentPromptOverrideConfiguration.cs new file mode 100644 index 00000000000..c979d142c7f --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentAgentPromptOverrideConfiguration.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.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentAgentPromptOverrideConfiguration + { + /// + /// ARN of Lambda to use when parsing the raw foundation model output. + /// + public readonly string OverrideLambda; + /// + /// List of prompt configurations. + /// + /// The following arguments are optional: + /// + public readonly ImmutableArray PromptConfigurations; + + [OutputConstructor] + private AgentAgentPromptOverrideConfiguration( + string overrideLambda, + + ImmutableArray promptConfigurations) + { + OverrideLambda = overrideLambda; + PromptConfigurations = promptConfigurations; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentAgentTimeouts.cs b/sdk/dotnet/Bedrock/Outputs/AgentAgentTimeouts.cs new file mode 100644 index 00000000000..668637fb7b7 --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentAgentTimeouts.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentAgentTimeouts + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.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 AgentAgentTimeouts( + string? create, + + string? delete, + + string? update) + { + Create = create; + Delete = delete; + Update = update; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseKnowledgeBaseConfiguration.cs b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseKnowledgeBaseConfiguration.cs new file mode 100644 index 00000000000..82c7f9d7860 --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseKnowledgeBaseConfiguration.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentKnowledgeBaseKnowledgeBaseConfiguration + { + /// + /// The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + /// + public readonly string Type; + /// + /// Contains details about the embeddings model that'sused to convert the data source. + /// + public readonly Outputs.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration? VectorKnowledgeBaseConfiguration; + + [OutputConstructor] + private AgentKnowledgeBaseKnowledgeBaseConfiguration( + string type, + + Outputs.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration? vectorKnowledgeBaseConfiguration) + { + Type = type; + VectorKnowledgeBaseConfiguration = vectorKnowledgeBaseConfiguration; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration.cs b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration.cs new file mode 100644 index 00000000000..2a1dfc70f39 --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration + { + /// + /// The ARN of the model used to create vector embeddings for the knowledge base. + /// + public readonly string EmbeddingModelArn; + + [OutputConstructor] + private AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration(string embeddingModelArn) + { + EmbeddingModelArn = embeddingModelArn; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfiguration.cs b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfiguration.cs new file mode 100644 index 00000000000..62a89e48cc6 --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfiguration.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.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentKnowledgeBaseStorageConfiguration + { + /// + /// Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + /// + public readonly Outputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration? OpensearchServerlessConfiguration; + /// + /// Contains the storage configuration of the knowledge base in Pinecone. + /// + public readonly Outputs.AgentKnowledgeBaseStorageConfigurationPineconeConfiguration? PineconeConfiguration; + /// + /// Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + /// + public readonly Outputs.AgentKnowledgeBaseStorageConfigurationRdsConfiguration? RdsConfiguration; + /// + /// Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + /// + public readonly Outputs.AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration? RedisEnterpriseCloudConfiguration; + /// + /// The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + /// + public readonly string Type; + + [OutputConstructor] + private AgentKnowledgeBaseStorageConfiguration( + Outputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration? opensearchServerlessConfiguration, + + Outputs.AgentKnowledgeBaseStorageConfigurationPineconeConfiguration? pineconeConfiguration, + + Outputs.AgentKnowledgeBaseStorageConfigurationRdsConfiguration? rdsConfiguration, + + Outputs.AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration? redisEnterpriseCloudConfiguration, + + string type) + { + OpensearchServerlessConfiguration = opensearchServerlessConfiguration; + PineconeConfiguration = pineconeConfiguration; + RdsConfiguration = rdsConfiguration; + RedisEnterpriseCloudConfiguration = redisEnterpriseCloudConfiguration; + Type = type; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration.cs b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration.cs new file mode 100644 index 00000000000..4555223d08b --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration + { + /// + /// The ARN of the OpenSearch Service vector store. + /// + public readonly string CollectionArn; + /// + /// Contains the names of the fields to which to map information about the vector store. + /// + public readonly Outputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping? FieldMapping; + /// + /// The name of the vector store. + /// + public readonly string VectorIndexName; + + [OutputConstructor] + private AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration( + string collectionArn, + + Outputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping? fieldMapping, + + string vectorIndexName) + { + CollectionArn = collectionArn; + FieldMapping = fieldMapping; + VectorIndexName = vectorIndexName; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping.cs b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping.cs new file mode 100644 index 00000000000..87364c54b76 --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping + { + /// + /// The name of the field in which Amazon Bedrock stores metadata about the vector store. + /// + public readonly string? MetadataField; + /// + /// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + /// + public readonly string? TextField; + /// + /// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + /// + public readonly string? VectorField; + + [OutputConstructor] + private AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping( + string? metadataField, + + string? textField, + + string? vectorField) + { + MetadataField = metadataField; + TextField = textField; + VectorField = vectorField; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfiguration.cs b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfiguration.cs new file mode 100644 index 00000000000..f9fa28bd18f --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfiguration.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.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentKnowledgeBaseStorageConfigurationPineconeConfiguration + { + /// + /// The endpoint URL for your index management page. + /// + public readonly string ConnectionString; + /// + /// The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + /// + public readonly string CredentialsSecretArn; + /// + /// Contains the names of the fields to which to map information about the vector store. + /// + public readonly Outputs.AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping? FieldMapping; + /// + /// The namespace to be used to write new data to your database. + /// + public readonly string? Namespace; + + [OutputConstructor] + private AgentKnowledgeBaseStorageConfigurationPineconeConfiguration( + string connectionString, + + string credentialsSecretArn, + + Outputs.AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping? fieldMapping, + + string? @namespace) + { + ConnectionString = connectionString; + CredentialsSecretArn = credentialsSecretArn; + FieldMapping = fieldMapping; + Namespace = @namespace; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping.cs b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping.cs new file mode 100644 index 00000000000..e064fff45db --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping + { + /// + /// The name of the field in which Amazon Bedrock stores metadata about the vector store. + /// + public readonly string? MetadataField; + /// + /// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + /// + public readonly string? TextField; + + [OutputConstructor] + private AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping( + string? metadataField, + + string? textField) + { + MetadataField = metadataField; + TextField = textField; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRdsConfiguration.cs b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRdsConfiguration.cs new file mode 100644 index 00000000000..0afa65db37e --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRdsConfiguration.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.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentKnowledgeBaseStorageConfigurationRdsConfiguration + { + /// + /// The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + /// + public readonly string CredentialsSecretArn; + /// + /// The name of your Amazon RDS database. + /// + public readonly string DatabaseName; + /// + /// Contains the names of the fields to which to map information about the vector store. + /// + public readonly Outputs.AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping? FieldMapping; + /// + /// The namespace to be used to write new data to your database. + /// + public readonly string ResourceArn; + /// + /// The name of the table in the database. + /// + public readonly string TableName; + + [OutputConstructor] + private AgentKnowledgeBaseStorageConfigurationRdsConfiguration( + string credentialsSecretArn, + + string databaseName, + + Outputs.AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping? fieldMapping, + + string resourceArn, + + string tableName) + { + CredentialsSecretArn = credentialsSecretArn; + DatabaseName = databaseName; + FieldMapping = fieldMapping; + ResourceArn = resourceArn; + TableName = tableName; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping.cs b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping.cs new file mode 100644 index 00000000000..d3467acc4cb --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping.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.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping + { + /// + /// The name of the field in which Amazon Bedrock stores metadata about the vector store. + /// + public readonly string MetadataField; + /// + /// The name of the field in which Amazon Bedrock stores the ID for each entry. + /// + public readonly string PrimaryKeyField; + /// + /// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + /// + public readonly string TextField; + /// + /// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + /// + public readonly string VectorField; + + [OutputConstructor] + private AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping( + string metadataField, + + string primaryKeyField, + + string textField, + + string vectorField) + { + MetadataField = metadataField; + PrimaryKeyField = primaryKeyField; + TextField = textField; + VectorField = vectorField; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration.cs b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration.cs new file mode 100644 index 00000000000..f90ee2edbef --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration.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.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration + { + /// + /// The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + /// + public readonly string CredentialsSecretArn; + /// + /// The endpoint URL of the Redis Enterprise Cloud database. + /// + public readonly string Endpoint; + /// + /// Contains the names of the fields to which to map information about the vector store. + /// + public readonly Outputs.AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping? FieldMapping; + /// + /// The name of the vector store. + /// + public readonly string VectorIndexName; + + [OutputConstructor] + private AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration( + string credentialsSecretArn, + + string endpoint, + + Outputs.AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping? fieldMapping, + + string vectorIndexName) + { + CredentialsSecretArn = credentialsSecretArn; + Endpoint = endpoint; + FieldMapping = fieldMapping; + VectorIndexName = vectorIndexName; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping.cs b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping.cs new file mode 100644 index 00000000000..7475337120d --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping + { + /// + /// The name of the field in which Amazon Bedrock stores metadata about the vector store. + /// + public readonly string? MetadataField; + /// + /// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + /// + public readonly string? TextField; + /// + /// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + /// + public readonly string? VectorField; + + [OutputConstructor] + private AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping( + string? metadataField, + + string? textField, + + string? vectorField) + { + MetadataField = metadataField; + TextField = textField; + VectorField = vectorField; + } + } +} diff --git a/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseTimeouts.cs b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseTimeouts.cs new file mode 100644 index 00000000000..cb4856ea37f --- /dev/null +++ b/sdk/dotnet/Bedrock/Outputs/AgentKnowledgeBaseTimeouts.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Bedrock.Outputs +{ + + [OutputType] + public sealed class AgentKnowledgeBaseTimeouts + { + /// + /// A string that can be [parsed as a duration](https://pkg.go.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 AgentKnowledgeBaseTimeouts( + string? create, + + string? delete, + + string? update) + { + Create = create; + Delete = delete; + Update = update; + } + } +} diff --git a/sdk/dotnet/CloudFormation/StackSet.cs b/sdk/dotnet/CloudFormation/StackSet.cs index 875d9ba54ce..33ecd32c9e3 100644 --- a/sdk/dotnet/CloudFormation/StackSet.cs +++ b/sdk/dotnet/CloudFormation/StackSet.cs @@ -16,6 +16,8 @@ namespace Pulumi.Aws.CloudFormation /// /// > **NOTE:** All `NoEcho` template parameters must be ignored with the `lifecycle` configuration block `ignore_changes` argument. /// + /// > **NOTE:** When using a delegated administrator account, ensure that your IAM User or Role has the `organizations:ListDelegatedAdministrators` permission. Otherwise, you may get an error like `ValidationError: Account used is not a delegated administrator`. + /// /// ## Example Usage /// /// ```csharp diff --git a/sdk/dotnet/CodeCommit/Repository.cs b/sdk/dotnet/CodeCommit/Repository.cs index b084e79364d..9d1f242f9ab 100644 --- a/sdk/dotnet/CodeCommit/Repository.cs +++ b/sdk/dotnet/CodeCommit/Repository.cs @@ -99,7 +99,7 @@ public partial class Repository : global::Pulumi.CustomResource public Output Description { get; private set; } = null!; /// - /// The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + /// The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. /// [Output("kmsKeyId")] public Output KmsKeyId { get; private set; } = null!; @@ -187,7 +187,7 @@ public sealed class RepositoryArgs : global::Pulumi.ResourceArgs public Input? Description { get; set; } /// - /// The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + /// The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. /// [Input("kmsKeyId")] public Input? KmsKeyId { get; set; } @@ -249,7 +249,7 @@ public sealed class RepositoryState : global::Pulumi.ResourceArgs public Input? Description { get; set; } /// - /// The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + /// The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. /// [Input("kmsKeyId")] public Input? KmsKeyId { get; set; } diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index 2e8a1c35e4a..1e521c709cc 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -1337,6 +1337,10 @@ public class Endpoints public string? Route53domains { get; set; } = null!; /// /// Use this to override the default service endpoint URL + /// + public string? Route53profiles { get; set; } = null!; + /// + /// Use this to override the default service endpoint URL /// public string? Route53recoverycontrolconfig { get; set; } = null!; /// diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndArgs.cs new file mode 100644 index 00000000000..d4401b4df1a --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndAndArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleAndAndArgs() + { + } + public static new CostCategoryRuleRuleAndAndArgs Empty => new CostCategoryRuleRuleAndAndArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndCostCategoryArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndCostCategoryArgs.cs new file mode 100644 index 00000000000..09e3f6dc7af --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndCostCategoryArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndAndCostCategoryArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndAndCostCategoryArgs() + { + } + public static new CostCategoryRuleRuleAndAndCostCategoryArgs Empty => new CostCategoryRuleRuleAndAndCostCategoryArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndCostCategoryGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndCostCategoryGetArgs.cs new file mode 100644 index 00000000000..312d4ba1a95 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndCostCategoryGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndAndCostCategoryGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndAndCostCategoryGetArgs() + { + } + public static new CostCategoryRuleRuleAndAndCostCategoryGetArgs Empty => new CostCategoryRuleRuleAndAndCostCategoryGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndDimensionArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndDimensionArgs.cs new file mode 100644 index 00000000000..1643ef21e9d --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndDimensionArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndAndDimensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndAndDimensionArgs() + { + } + public static new CostCategoryRuleRuleAndAndDimensionArgs Empty => new CostCategoryRuleRuleAndAndDimensionArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndDimensionGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndDimensionGetArgs.cs new file mode 100644 index 00000000000..6a1942cf230 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndDimensionGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndAndDimensionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndAndDimensionGetArgs() + { + } + public static new CostCategoryRuleRuleAndAndDimensionGetArgs Empty => new CostCategoryRuleRuleAndAndDimensionGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndGetArgs.cs new file mode 100644 index 00000000000..f159e21c53e --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndAndGetArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleAndAndGetArgs() + { + } + public static new CostCategoryRuleRuleAndAndGetArgs Empty => new CostCategoryRuleRuleAndAndGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndTagsArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndTagsArgs.cs new file mode 100644 index 00000000000..0c077eb6c90 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndTagsArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndAndTagsArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndAndTagsArgs() + { + } + public static new CostCategoryRuleRuleAndAndTagsArgs Empty => new CostCategoryRuleRuleAndAndTagsArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndTagsGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndTagsGetArgs.cs new file mode 100644 index 00000000000..23f1befdd93 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndAndTagsGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndAndTagsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndAndTagsGetArgs() + { + } + public static new CostCategoryRuleRuleAndAndTagsGetArgs Empty => new CostCategoryRuleRuleAndAndTagsGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndArgs.cs index c39df8f9301..5c45ef961e8 100644 --- a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndArgs.cs +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndArgs.cs @@ -12,12 +12,31 @@ namespace Pulumi.Aws.CostExplorer.Inputs public sealed class CostCategoryRuleRuleAndArgs : global::Pulumi.ResourceArgs { + [Input("ands")] + private InputList? _ands; + public InputList Ands + { + get => _ands ?? (_ands = new InputList()); + set => _ands = value; + } + [Input("costCategory")] public Input? CostCategory { get; set; } [Input("dimension")] public Input? Dimension { get; set; } + [Input("not")] + public Input? Not { get; set; } + + [Input("ors")] + private InputList? _ors; + public InputList Ors + { + get => _ors ?? (_ors = new InputList()); + set => _ors = value; + } + /// /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndGetArgs.cs index 9f09eeda443..ef4fb82eb79 100644 --- a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndGetArgs.cs +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndGetArgs.cs @@ -12,12 +12,31 @@ namespace Pulumi.Aws.CostExplorer.Inputs public sealed class CostCategoryRuleRuleAndGetArgs : global::Pulumi.ResourceArgs { + [Input("ands")] + private InputList? _ands; + public InputList Ands + { + get => _ands ?? (_ands = new InputList()); + set => _ands = value; + } + [Input("costCategory")] public Input? CostCategory { get; set; } [Input("dimension")] public Input? Dimension { get; set; } + [Input("not")] + public Input? Not { get; set; } + + [Input("ors")] + private InputList? _ors; + public InputList Ors + { + get => _ors ?? (_ors = new InputList()); + set => _ors = value; + } + /// /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotArgs.cs new file mode 100644 index 00000000000..72b3ac14be9 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndNotArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleAndNotArgs() + { + } + public static new CostCategoryRuleRuleAndNotArgs Empty => new CostCategoryRuleRuleAndNotArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotCostCategoryArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotCostCategoryArgs.cs new file mode 100644 index 00000000000..e1fb259b640 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotCostCategoryArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndNotCostCategoryArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndNotCostCategoryArgs() + { + } + public static new CostCategoryRuleRuleAndNotCostCategoryArgs Empty => new CostCategoryRuleRuleAndNotCostCategoryArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotCostCategoryGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotCostCategoryGetArgs.cs new file mode 100644 index 00000000000..d9ad8848402 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotCostCategoryGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndNotCostCategoryGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndNotCostCategoryGetArgs() + { + } + public static new CostCategoryRuleRuleAndNotCostCategoryGetArgs Empty => new CostCategoryRuleRuleAndNotCostCategoryGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotDimensionArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotDimensionArgs.cs new file mode 100644 index 00000000000..765ebf0751b --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotDimensionArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndNotDimensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndNotDimensionArgs() + { + } + public static new CostCategoryRuleRuleAndNotDimensionArgs Empty => new CostCategoryRuleRuleAndNotDimensionArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotDimensionGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotDimensionGetArgs.cs new file mode 100644 index 00000000000..dc9563e086e --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotDimensionGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndNotDimensionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndNotDimensionGetArgs() + { + } + public static new CostCategoryRuleRuleAndNotDimensionGetArgs Empty => new CostCategoryRuleRuleAndNotDimensionGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotGetArgs.cs new file mode 100644 index 00000000000..20676bd1b99 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndNotGetArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleAndNotGetArgs() + { + } + public static new CostCategoryRuleRuleAndNotGetArgs Empty => new CostCategoryRuleRuleAndNotGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotTagsArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotTagsArgs.cs new file mode 100644 index 00000000000..2b46d26402c --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotTagsArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndNotTagsArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndNotTagsArgs() + { + } + public static new CostCategoryRuleRuleAndNotTagsArgs Empty => new CostCategoryRuleRuleAndNotTagsArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotTagsGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotTagsGetArgs.cs new file mode 100644 index 00000000000..b9c1878276a --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndNotTagsGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndNotTagsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndNotTagsGetArgs() + { + } + public static new CostCategoryRuleRuleAndNotTagsGetArgs Empty => new CostCategoryRuleRuleAndNotTagsGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrArgs.cs new file mode 100644 index 00000000000..dc8f2f583d3 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndOrArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleAndOrArgs() + { + } + public static new CostCategoryRuleRuleAndOrArgs Empty => new CostCategoryRuleRuleAndOrArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrCostCategoryArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrCostCategoryArgs.cs new file mode 100644 index 00000000000..af797253b5f --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrCostCategoryArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndOrCostCategoryArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndOrCostCategoryArgs() + { + } + public static new CostCategoryRuleRuleAndOrCostCategoryArgs Empty => new CostCategoryRuleRuleAndOrCostCategoryArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrCostCategoryGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrCostCategoryGetArgs.cs new file mode 100644 index 00000000000..13488437d83 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrCostCategoryGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndOrCostCategoryGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndOrCostCategoryGetArgs() + { + } + public static new CostCategoryRuleRuleAndOrCostCategoryGetArgs Empty => new CostCategoryRuleRuleAndOrCostCategoryGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrDimensionArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrDimensionArgs.cs new file mode 100644 index 00000000000..5da7f211da0 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrDimensionArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndOrDimensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndOrDimensionArgs() + { + } + public static new CostCategoryRuleRuleAndOrDimensionArgs Empty => new CostCategoryRuleRuleAndOrDimensionArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrDimensionGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrDimensionGetArgs.cs new file mode 100644 index 00000000000..30bf0e8df91 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrDimensionGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndOrDimensionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndOrDimensionGetArgs() + { + } + public static new CostCategoryRuleRuleAndOrDimensionGetArgs Empty => new CostCategoryRuleRuleAndOrDimensionGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrGetArgs.cs new file mode 100644 index 00000000000..e105b24461d --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndOrGetArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleAndOrGetArgs() + { + } + public static new CostCategoryRuleRuleAndOrGetArgs Empty => new CostCategoryRuleRuleAndOrGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrTagsArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrTagsArgs.cs new file mode 100644 index 00000000000..693dabc129d --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrTagsArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndOrTagsArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndOrTagsArgs() + { + } + public static new CostCategoryRuleRuleAndOrTagsArgs Empty => new CostCategoryRuleRuleAndOrTagsArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrTagsGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrTagsGetArgs.cs new file mode 100644 index 00000000000..32fbeff2bbb --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleAndOrTagsGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleAndOrTagsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleAndOrTagsGetArgs() + { + } + public static new CostCategoryRuleRuleAndOrTagsGetArgs Empty => new CostCategoryRuleRuleAndOrTagsGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndArgs.cs new file mode 100644 index 00000000000..a493954bd90 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotAndArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleNotAndArgs() + { + } + public static new CostCategoryRuleRuleNotAndArgs Empty => new CostCategoryRuleRuleNotAndArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndCostCategoryArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndCostCategoryArgs.cs new file mode 100644 index 00000000000..a739e7d98c3 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndCostCategoryArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotAndCostCategoryArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotAndCostCategoryArgs() + { + } + public static new CostCategoryRuleRuleNotAndCostCategoryArgs Empty => new CostCategoryRuleRuleNotAndCostCategoryArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndCostCategoryGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndCostCategoryGetArgs.cs new file mode 100644 index 00000000000..9913551d54d --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndCostCategoryGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotAndCostCategoryGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotAndCostCategoryGetArgs() + { + } + public static new CostCategoryRuleRuleNotAndCostCategoryGetArgs Empty => new CostCategoryRuleRuleNotAndCostCategoryGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndDimensionArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndDimensionArgs.cs new file mode 100644 index 00000000000..8ea74136cc9 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndDimensionArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotAndDimensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotAndDimensionArgs() + { + } + public static new CostCategoryRuleRuleNotAndDimensionArgs Empty => new CostCategoryRuleRuleNotAndDimensionArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndDimensionGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndDimensionGetArgs.cs new file mode 100644 index 00000000000..04ef4ce5e25 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndDimensionGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotAndDimensionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotAndDimensionGetArgs() + { + } + public static new CostCategoryRuleRuleNotAndDimensionGetArgs Empty => new CostCategoryRuleRuleNotAndDimensionGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndGetArgs.cs new file mode 100644 index 00000000000..cac1036233d --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotAndGetArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleNotAndGetArgs() + { + } + public static new CostCategoryRuleRuleNotAndGetArgs Empty => new CostCategoryRuleRuleNotAndGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndTagsArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndTagsArgs.cs new file mode 100644 index 00000000000..c59fa716403 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndTagsArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotAndTagsArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotAndTagsArgs() + { + } + public static new CostCategoryRuleRuleNotAndTagsArgs Empty => new CostCategoryRuleRuleNotAndTagsArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndTagsGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndTagsGetArgs.cs new file mode 100644 index 00000000000..da717c4fde5 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotAndTagsGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotAndTagsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotAndTagsGetArgs() + { + } + public static new CostCategoryRuleRuleNotAndTagsGetArgs Empty => new CostCategoryRuleRuleNotAndTagsGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotArgs.cs index cf7716f2615..067bff8a8d9 100644 --- a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotArgs.cs +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotArgs.cs @@ -12,12 +12,31 @@ namespace Pulumi.Aws.CostExplorer.Inputs public sealed class CostCategoryRuleRuleNotArgs : global::Pulumi.ResourceArgs { + [Input("ands")] + private InputList? _ands; + public InputList Ands + { + get => _ands ?? (_ands = new InputList()); + set => _ands = value; + } + [Input("costCategory")] public Input? CostCategory { get; set; } [Input("dimension")] public Input? Dimension { get; set; } + [Input("not")] + public Input? Not { get; set; } + + [Input("ors")] + private InputList? _ors; + public InputList Ors + { + get => _ors ?? (_ors = new InputList()); + set => _ors = value; + } + /// /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotGetArgs.cs index a6a0c7a11f8..130302ec2fa 100644 --- a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotGetArgs.cs +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotGetArgs.cs @@ -12,12 +12,31 @@ namespace Pulumi.Aws.CostExplorer.Inputs public sealed class CostCategoryRuleRuleNotGetArgs : global::Pulumi.ResourceArgs { + [Input("ands")] + private InputList? _ands; + public InputList Ands + { + get => _ands ?? (_ands = new InputList()); + set => _ands = value; + } + [Input("costCategory")] public Input? CostCategory { get; set; } [Input("dimension")] public Input? Dimension { get; set; } + [Input("not")] + public Input? Not { get; set; } + + [Input("ors")] + private InputList? _ors; + public InputList Ors + { + get => _ors ?? (_ors = new InputList()); + set => _ors = value; + } + /// /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotArgs.cs new file mode 100644 index 00000000000..e57237c48e8 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotNotArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleNotNotArgs() + { + } + public static new CostCategoryRuleRuleNotNotArgs Empty => new CostCategoryRuleRuleNotNotArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotCostCategoryArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotCostCategoryArgs.cs new file mode 100644 index 00000000000..d2f1fae039f --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotCostCategoryArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotNotCostCategoryArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotNotCostCategoryArgs() + { + } + public static new CostCategoryRuleRuleNotNotCostCategoryArgs Empty => new CostCategoryRuleRuleNotNotCostCategoryArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotCostCategoryGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotCostCategoryGetArgs.cs new file mode 100644 index 00000000000..119ab12ebff --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotCostCategoryGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotNotCostCategoryGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotNotCostCategoryGetArgs() + { + } + public static new CostCategoryRuleRuleNotNotCostCategoryGetArgs Empty => new CostCategoryRuleRuleNotNotCostCategoryGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotDimensionArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotDimensionArgs.cs new file mode 100644 index 00000000000..7fef52346de --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotDimensionArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotNotDimensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotNotDimensionArgs() + { + } + public static new CostCategoryRuleRuleNotNotDimensionArgs Empty => new CostCategoryRuleRuleNotNotDimensionArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotDimensionGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotDimensionGetArgs.cs new file mode 100644 index 00000000000..71d11b5c1a6 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotDimensionGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotNotDimensionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotNotDimensionGetArgs() + { + } + public static new CostCategoryRuleRuleNotNotDimensionGetArgs Empty => new CostCategoryRuleRuleNotNotDimensionGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotGetArgs.cs new file mode 100644 index 00000000000..3c611af7fa3 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotNotGetArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleNotNotGetArgs() + { + } + public static new CostCategoryRuleRuleNotNotGetArgs Empty => new CostCategoryRuleRuleNotNotGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotTagsArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotTagsArgs.cs new file mode 100644 index 00000000000..d7b9a6c843f --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotTagsArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotNotTagsArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotNotTagsArgs() + { + } + public static new CostCategoryRuleRuleNotNotTagsArgs Empty => new CostCategoryRuleRuleNotNotTagsArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotTagsGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotTagsGetArgs.cs new file mode 100644 index 00000000000..ab809e61841 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotNotTagsGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotNotTagsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotNotTagsGetArgs() + { + } + public static new CostCategoryRuleRuleNotNotTagsGetArgs Empty => new CostCategoryRuleRuleNotNotTagsGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrArgs.cs new file mode 100644 index 00000000000..33b2d211182 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotOrArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleNotOrArgs() + { + } + public static new CostCategoryRuleRuleNotOrArgs Empty => new CostCategoryRuleRuleNotOrArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrCostCategoryArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrCostCategoryArgs.cs new file mode 100644 index 00000000000..5d8143c5a0e --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrCostCategoryArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotOrCostCategoryArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotOrCostCategoryArgs() + { + } + public static new CostCategoryRuleRuleNotOrCostCategoryArgs Empty => new CostCategoryRuleRuleNotOrCostCategoryArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrCostCategoryGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrCostCategoryGetArgs.cs new file mode 100644 index 00000000000..97acfdc7ed1 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrCostCategoryGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotOrCostCategoryGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotOrCostCategoryGetArgs() + { + } + public static new CostCategoryRuleRuleNotOrCostCategoryGetArgs Empty => new CostCategoryRuleRuleNotOrCostCategoryGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrDimensionArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrDimensionArgs.cs new file mode 100644 index 00000000000..7fb8ab8065d --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrDimensionArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotOrDimensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotOrDimensionArgs() + { + } + public static new CostCategoryRuleRuleNotOrDimensionArgs Empty => new CostCategoryRuleRuleNotOrDimensionArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrDimensionGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrDimensionGetArgs.cs new file mode 100644 index 00000000000..1fae28f18fd --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrDimensionGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotOrDimensionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotOrDimensionGetArgs() + { + } + public static new CostCategoryRuleRuleNotOrDimensionGetArgs Empty => new CostCategoryRuleRuleNotOrDimensionGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrGetArgs.cs new file mode 100644 index 00000000000..029e8fefc34 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotOrGetArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleNotOrGetArgs() + { + } + public static new CostCategoryRuleRuleNotOrGetArgs Empty => new CostCategoryRuleRuleNotOrGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrTagsArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrTagsArgs.cs new file mode 100644 index 00000000000..55d76a45f1f --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrTagsArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotOrTagsArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotOrTagsArgs() + { + } + public static new CostCategoryRuleRuleNotOrTagsArgs Empty => new CostCategoryRuleRuleNotOrTagsArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrTagsGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrTagsGetArgs.cs new file mode 100644 index 00000000000..3f668904ffc --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleNotOrTagsGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleNotOrTagsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleNotOrTagsGetArgs() + { + } + public static new CostCategoryRuleRuleNotOrTagsGetArgs Empty => new CostCategoryRuleRuleNotOrTagsGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndArgs.cs new file mode 100644 index 00000000000..8bbab1c224f --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrAndArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleOrAndArgs() + { + } + public static new CostCategoryRuleRuleOrAndArgs Empty => new CostCategoryRuleRuleOrAndArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndCostCategoryArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndCostCategoryArgs.cs new file mode 100644 index 00000000000..3f57d2a32ca --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndCostCategoryArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrAndCostCategoryArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrAndCostCategoryArgs() + { + } + public static new CostCategoryRuleRuleOrAndCostCategoryArgs Empty => new CostCategoryRuleRuleOrAndCostCategoryArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndCostCategoryGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndCostCategoryGetArgs.cs new file mode 100644 index 00000000000..12195e2bf6c --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndCostCategoryGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrAndCostCategoryGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrAndCostCategoryGetArgs() + { + } + public static new CostCategoryRuleRuleOrAndCostCategoryGetArgs Empty => new CostCategoryRuleRuleOrAndCostCategoryGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndDimensionArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndDimensionArgs.cs new file mode 100644 index 00000000000..e1b5917aef4 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndDimensionArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrAndDimensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrAndDimensionArgs() + { + } + public static new CostCategoryRuleRuleOrAndDimensionArgs Empty => new CostCategoryRuleRuleOrAndDimensionArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndDimensionGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndDimensionGetArgs.cs new file mode 100644 index 00000000000..1457525b585 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndDimensionGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrAndDimensionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrAndDimensionGetArgs() + { + } + public static new CostCategoryRuleRuleOrAndDimensionGetArgs Empty => new CostCategoryRuleRuleOrAndDimensionGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndGetArgs.cs new file mode 100644 index 00000000000..06c6a310dbf --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrAndGetArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleOrAndGetArgs() + { + } + public static new CostCategoryRuleRuleOrAndGetArgs Empty => new CostCategoryRuleRuleOrAndGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndTagsArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndTagsArgs.cs new file mode 100644 index 00000000000..0d4cfeba122 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndTagsArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrAndTagsArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrAndTagsArgs() + { + } + public static new CostCategoryRuleRuleOrAndTagsArgs Empty => new CostCategoryRuleRuleOrAndTagsArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndTagsGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndTagsGetArgs.cs new file mode 100644 index 00000000000..57e2e5333c6 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrAndTagsGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrAndTagsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrAndTagsGetArgs() + { + } + public static new CostCategoryRuleRuleOrAndTagsGetArgs Empty => new CostCategoryRuleRuleOrAndTagsGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrArgs.cs index d2ebfc9202a..c914f3955bb 100644 --- a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrArgs.cs +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrArgs.cs @@ -12,12 +12,31 @@ namespace Pulumi.Aws.CostExplorer.Inputs public sealed class CostCategoryRuleRuleOrArgs : global::Pulumi.ResourceArgs { + [Input("ands")] + private InputList? _ands; + public InputList Ands + { + get => _ands ?? (_ands = new InputList()); + set => _ands = value; + } + [Input("costCategory")] public Input? CostCategory { get; set; } [Input("dimension")] public Input? Dimension { get; set; } + [Input("not")] + public Input? Not { get; set; } + + [Input("ors")] + private InputList? _ors; + public InputList Ors + { + get => _ors ?? (_ors = new InputList()); + set => _ors = value; + } + /// /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrGetArgs.cs index 4bd98d81ed2..79803f9a9b3 100644 --- a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrGetArgs.cs +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrGetArgs.cs @@ -12,12 +12,31 @@ namespace Pulumi.Aws.CostExplorer.Inputs public sealed class CostCategoryRuleRuleOrGetArgs : global::Pulumi.ResourceArgs { + [Input("ands")] + private InputList? _ands; + public InputList Ands + { + get => _ands ?? (_ands = new InputList()); + set => _ands = value; + } + [Input("costCategory")] public Input? CostCategory { get; set; } [Input("dimension")] public Input? Dimension { get; set; } + [Input("not")] + public Input? Not { get; set; } + + [Input("ors")] + private InputList? _ors; + public InputList Ors + { + get => _ors ?? (_ors = new InputList()); + set => _ors = value; + } + /// /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotArgs.cs new file mode 100644 index 00000000000..0f5bfc40e13 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrNotArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleOrNotArgs() + { + } + public static new CostCategoryRuleRuleOrNotArgs Empty => new CostCategoryRuleRuleOrNotArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotCostCategoryArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotCostCategoryArgs.cs new file mode 100644 index 00000000000..d0fe70654db --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotCostCategoryArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrNotCostCategoryArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrNotCostCategoryArgs() + { + } + public static new CostCategoryRuleRuleOrNotCostCategoryArgs Empty => new CostCategoryRuleRuleOrNotCostCategoryArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotCostCategoryGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotCostCategoryGetArgs.cs new file mode 100644 index 00000000000..ba454d389f1 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotCostCategoryGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrNotCostCategoryGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrNotCostCategoryGetArgs() + { + } + public static new CostCategoryRuleRuleOrNotCostCategoryGetArgs Empty => new CostCategoryRuleRuleOrNotCostCategoryGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotDimensionArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotDimensionArgs.cs new file mode 100644 index 00000000000..9dc2357e5ce --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotDimensionArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrNotDimensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrNotDimensionArgs() + { + } + public static new CostCategoryRuleRuleOrNotDimensionArgs Empty => new CostCategoryRuleRuleOrNotDimensionArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotDimensionGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotDimensionGetArgs.cs new file mode 100644 index 00000000000..7dd436c862a --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotDimensionGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrNotDimensionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrNotDimensionGetArgs() + { + } + public static new CostCategoryRuleRuleOrNotDimensionGetArgs Empty => new CostCategoryRuleRuleOrNotDimensionGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotGetArgs.cs new file mode 100644 index 00000000000..6d4b4878a4a --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrNotGetArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleOrNotGetArgs() + { + } + public static new CostCategoryRuleRuleOrNotGetArgs Empty => new CostCategoryRuleRuleOrNotGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotTagsArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotTagsArgs.cs new file mode 100644 index 00000000000..80b652c6f66 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotTagsArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrNotTagsArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrNotTagsArgs() + { + } + public static new CostCategoryRuleRuleOrNotTagsArgs Empty => new CostCategoryRuleRuleOrNotTagsArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotTagsGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotTagsGetArgs.cs new file mode 100644 index 00000000000..8a06619c8b0 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrNotTagsGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrNotTagsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrNotTagsGetArgs() + { + } + public static new CostCategoryRuleRuleOrNotTagsGetArgs Empty => new CostCategoryRuleRuleOrNotTagsGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrArgs.cs new file mode 100644 index 00000000000..f3c74865520 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrOrArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleOrOrArgs() + { + } + public static new CostCategoryRuleRuleOrOrArgs Empty => new CostCategoryRuleRuleOrOrArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrCostCategoryArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrCostCategoryArgs.cs new file mode 100644 index 00000000000..7143b4316e6 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrCostCategoryArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrOrCostCategoryArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrOrCostCategoryArgs() + { + } + public static new CostCategoryRuleRuleOrOrCostCategoryArgs Empty => new CostCategoryRuleRuleOrOrCostCategoryArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrCostCategoryGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrCostCategoryGetArgs.cs new file mode 100644 index 00000000000..3a3c9165104 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrCostCategoryGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrOrCostCategoryGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrOrCostCategoryGetArgs() + { + } + public static new CostCategoryRuleRuleOrOrCostCategoryGetArgs Empty => new CostCategoryRuleRuleOrOrCostCategoryGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrDimensionArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrDimensionArgs.cs new file mode 100644 index 00000000000..6c5ef812d92 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrDimensionArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrOrDimensionArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrOrDimensionArgs() + { + } + public static new CostCategoryRuleRuleOrOrDimensionArgs Empty => new CostCategoryRuleRuleOrOrDimensionArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrDimensionGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrDimensionGetArgs.cs new file mode 100644 index 00000000000..4f173d5cd0e --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrDimensionGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrOrDimensionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Unique name of the Cost Category. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrOrDimensionGetArgs() + { + } + public static new CostCategoryRuleRuleOrOrDimensionGetArgs Empty => new CostCategoryRuleRuleOrOrDimensionGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrGetArgs.cs new file mode 100644 index 00000000000..2aab2fa38af --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrOrGetArgs : global::Pulumi.ResourceArgs + { + [Input("costCategory")] + public Input? CostCategory { get; set; } + + [Input("dimension")] + public Input? Dimension { get; set; } + + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Input("tags")] + public Input? Tags { get; set; } + + public CostCategoryRuleRuleOrOrGetArgs() + { + } + public static new CostCategoryRuleRuleOrOrGetArgs Empty => new CostCategoryRuleRuleOrOrGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrTagsArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrTagsArgs.cs new file mode 100644 index 00000000000..5fa1b80064c --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrTagsArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrOrTagsArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrOrTagsArgs() + { + } + public static new CostCategoryRuleRuleOrOrTagsArgs Empty => new CostCategoryRuleRuleOrOrTagsArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrTagsGetArgs.cs b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrTagsGetArgs.cs new file mode 100644 index 00000000000..159569de583 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Inputs/CostCategoryRuleRuleOrOrTagsGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Inputs +{ + + public sealed class CostCategoryRuleRuleOrOrTagsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Key for the tag. + /// + [Input("key")] + public Input? Key { get; set; } + + [Input("matchOptions")] + private InputList? _matchOptions; + + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public InputList MatchOptions + { + get => _matchOptions ?? (_matchOptions = new InputList()); + set => _matchOptions = value; + } + + [Input("values")] + private InputList? _values; + + /// + /// Specific value of the Cost Category. + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public CostCategoryRuleRuleOrOrTagsGetArgs() + { + } + public static new CostCategoryRuleRuleOrOrTagsGetArgs Empty => new CostCategoryRuleRuleOrOrTagsGetArgs(); + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAnd.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAnd.cs index 036a56c2fca..300ec085e64 100644 --- a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAnd.cs +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAnd.cs @@ -13,8 +13,11 @@ namespace Pulumi.Aws.CostExplorer.Outputs [OutputType] public sealed class CostCategoryRuleRuleAnd { + public readonly ImmutableArray Ands; public readonly Outputs.CostCategoryRuleRuleAndCostCategory? CostCategory; public readonly Outputs.CostCategoryRuleRuleAndDimension? Dimension; + public readonly Outputs.CostCategoryRuleRuleAndNot? Not; + public readonly ImmutableArray Ors; /// /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// @@ -22,14 +25,23 @@ public sealed class CostCategoryRuleRuleAnd [OutputConstructor] private CostCategoryRuleRuleAnd( + ImmutableArray ands, + Outputs.CostCategoryRuleRuleAndCostCategory? costCategory, Outputs.CostCategoryRuleRuleAndDimension? dimension, + Outputs.CostCategoryRuleRuleAndNot? not, + + ImmutableArray ors, + Outputs.CostCategoryRuleRuleAndTags? tags) { + Ands = ands; CostCategory = costCategory; Dimension = dimension; + Not = not; + Ors = ors; Tags = tags; } } diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAnd.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAnd.cs new file mode 100644 index 00000000000..e23df1627d0 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAnd.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleAndAnd + { + public readonly Outputs.CostCategoryRuleRuleAndAndCostCategory? CostCategory; + public readonly Outputs.CostCategoryRuleRuleAndAndDimension? Dimension; + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public readonly Outputs.CostCategoryRuleRuleAndAndTags? Tags; + + [OutputConstructor] + private CostCategoryRuleRuleAndAnd( + Outputs.CostCategoryRuleRuleAndAndCostCategory? costCategory, + + Outputs.CostCategoryRuleRuleAndAndDimension? dimension, + + Outputs.CostCategoryRuleRuleAndAndTags? tags) + { + CostCategory = costCategory; + Dimension = dimension; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAndCostCategory.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAndCostCategory.cs new file mode 100644 index 00000000000..7de05b8ad08 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAndCostCategory.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleAndAndCostCategory + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleAndAndCostCategory( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAndDimension.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAndDimension.cs new file mode 100644 index 00000000000..7761bffe47c --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAndDimension.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleAndAndDimension + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleAndAndDimension( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAndTags.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAndTags.cs new file mode 100644 index 00000000000..08b0963019a --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndAndTags.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleAndAndTags + { + /// + /// Key for the tag. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleAndAndTags( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNot.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNot.cs new file mode 100644 index 00000000000..b8da03a6a84 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNot.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleAndNot + { + public readonly Outputs.CostCategoryRuleRuleAndNotCostCategory? CostCategory; + public readonly Outputs.CostCategoryRuleRuleAndNotDimension? Dimension; + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public readonly Outputs.CostCategoryRuleRuleAndNotTags? Tags; + + [OutputConstructor] + private CostCategoryRuleRuleAndNot( + Outputs.CostCategoryRuleRuleAndNotCostCategory? costCategory, + + Outputs.CostCategoryRuleRuleAndNotDimension? dimension, + + Outputs.CostCategoryRuleRuleAndNotTags? tags) + { + CostCategory = costCategory; + Dimension = dimension; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNotCostCategory.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNotCostCategory.cs new file mode 100644 index 00000000000..edc16f8247e --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNotCostCategory.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleAndNotCostCategory + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleAndNotCostCategory( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNotDimension.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNotDimension.cs new file mode 100644 index 00000000000..f1ca536745b --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNotDimension.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleAndNotDimension + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleAndNotDimension( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNotTags.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNotTags.cs new file mode 100644 index 00000000000..6d78b2c96a5 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndNotTags.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleAndNotTags + { + /// + /// Key for the tag. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleAndNotTags( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOr.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOr.cs new file mode 100644 index 00000000000..04d0c043fce --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOr.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleAndOr + { + public readonly Outputs.CostCategoryRuleRuleAndOrCostCategory? CostCategory; + public readonly Outputs.CostCategoryRuleRuleAndOrDimension? Dimension; + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public readonly Outputs.CostCategoryRuleRuleAndOrTags? Tags; + + [OutputConstructor] + private CostCategoryRuleRuleAndOr( + Outputs.CostCategoryRuleRuleAndOrCostCategory? costCategory, + + Outputs.CostCategoryRuleRuleAndOrDimension? dimension, + + Outputs.CostCategoryRuleRuleAndOrTags? tags) + { + CostCategory = costCategory; + Dimension = dimension; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOrCostCategory.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOrCostCategory.cs new file mode 100644 index 00000000000..68c76203d32 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOrCostCategory.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleAndOrCostCategory + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleAndOrCostCategory( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOrDimension.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOrDimension.cs new file mode 100644 index 00000000000..e28b5c7786e --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOrDimension.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleAndOrDimension + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleAndOrDimension( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOrTags.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOrTags.cs new file mode 100644 index 00000000000..0c6228f6425 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleAndOrTags.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleAndOrTags + { + /// + /// Key for the tag. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleAndOrTags( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNot.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNot.cs index f60298c5af9..eac74492d1c 100644 --- a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNot.cs +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNot.cs @@ -13,8 +13,11 @@ namespace Pulumi.Aws.CostExplorer.Outputs [OutputType] public sealed class CostCategoryRuleRuleNot { + public readonly ImmutableArray Ands; public readonly Outputs.CostCategoryRuleRuleNotCostCategory? CostCategory; public readonly Outputs.CostCategoryRuleRuleNotDimension? Dimension; + public readonly Outputs.CostCategoryRuleRuleNotNot? Not; + public readonly ImmutableArray Ors; /// /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// @@ -22,14 +25,23 @@ public sealed class CostCategoryRuleRuleNot [OutputConstructor] private CostCategoryRuleRuleNot( + ImmutableArray ands, + Outputs.CostCategoryRuleRuleNotCostCategory? costCategory, Outputs.CostCategoryRuleRuleNotDimension? dimension, + Outputs.CostCategoryRuleRuleNotNot? not, + + ImmutableArray ors, + Outputs.CostCategoryRuleRuleNotTags? tags) { + Ands = ands; CostCategory = costCategory; Dimension = dimension; + Not = not; + Ors = ors; Tags = tags; } } diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAnd.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAnd.cs new file mode 100644 index 00000000000..0e94e660d9b --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAnd.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleNotAnd + { + public readonly Outputs.CostCategoryRuleRuleNotAndCostCategory? CostCategory; + public readonly Outputs.CostCategoryRuleRuleNotAndDimension? Dimension; + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public readonly Outputs.CostCategoryRuleRuleNotAndTags? Tags; + + [OutputConstructor] + private CostCategoryRuleRuleNotAnd( + Outputs.CostCategoryRuleRuleNotAndCostCategory? costCategory, + + Outputs.CostCategoryRuleRuleNotAndDimension? dimension, + + Outputs.CostCategoryRuleRuleNotAndTags? tags) + { + CostCategory = costCategory; + Dimension = dimension; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAndCostCategory.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAndCostCategory.cs new file mode 100644 index 00000000000..395138d1cd0 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAndCostCategory.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleNotAndCostCategory + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleNotAndCostCategory( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAndDimension.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAndDimension.cs new file mode 100644 index 00000000000..cec7d5a7842 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAndDimension.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleNotAndDimension + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleNotAndDimension( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAndTags.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAndTags.cs new file mode 100644 index 00000000000..1cea178404a --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotAndTags.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleNotAndTags + { + /// + /// Key for the tag. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleNotAndTags( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNot.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNot.cs new file mode 100644 index 00000000000..b16a7fee8fa --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNot.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleNotNot + { + public readonly Outputs.CostCategoryRuleRuleNotNotCostCategory? CostCategory; + public readonly Outputs.CostCategoryRuleRuleNotNotDimension? Dimension; + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public readonly Outputs.CostCategoryRuleRuleNotNotTags? Tags; + + [OutputConstructor] + private CostCategoryRuleRuleNotNot( + Outputs.CostCategoryRuleRuleNotNotCostCategory? costCategory, + + Outputs.CostCategoryRuleRuleNotNotDimension? dimension, + + Outputs.CostCategoryRuleRuleNotNotTags? tags) + { + CostCategory = costCategory; + Dimension = dimension; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNotCostCategory.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNotCostCategory.cs new file mode 100644 index 00000000000..19aff15733a --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNotCostCategory.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleNotNotCostCategory + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleNotNotCostCategory( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNotDimension.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNotDimension.cs new file mode 100644 index 00000000000..df3fb7a1e71 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNotDimension.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleNotNotDimension + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleNotNotDimension( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNotTags.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNotTags.cs new file mode 100644 index 00000000000..0e77d093a5b --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotNotTags.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleNotNotTags + { + /// + /// Key for the tag. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleNotNotTags( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOr.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOr.cs new file mode 100644 index 00000000000..041383338f3 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOr.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleNotOr + { + public readonly Outputs.CostCategoryRuleRuleNotOrCostCategory? CostCategory; + public readonly Outputs.CostCategoryRuleRuleNotOrDimension? Dimension; + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public readonly Outputs.CostCategoryRuleRuleNotOrTags? Tags; + + [OutputConstructor] + private CostCategoryRuleRuleNotOr( + Outputs.CostCategoryRuleRuleNotOrCostCategory? costCategory, + + Outputs.CostCategoryRuleRuleNotOrDimension? dimension, + + Outputs.CostCategoryRuleRuleNotOrTags? tags) + { + CostCategory = costCategory; + Dimension = dimension; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOrCostCategory.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOrCostCategory.cs new file mode 100644 index 00000000000..843a1799e30 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOrCostCategory.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleNotOrCostCategory + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleNotOrCostCategory( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOrDimension.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOrDimension.cs new file mode 100644 index 00000000000..36fbd745421 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOrDimension.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleNotOrDimension + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleNotOrDimension( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOrTags.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOrTags.cs new file mode 100644 index 00000000000..98d6223fc46 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleNotOrTags.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleNotOrTags + { + /// + /// Key for the tag. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleNotOrTags( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOr.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOr.cs index 0714998243b..4be4ccaf931 100644 --- a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOr.cs +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOr.cs @@ -13,8 +13,11 @@ namespace Pulumi.Aws.CostExplorer.Outputs [OutputType] public sealed class CostCategoryRuleRuleOr { + public readonly ImmutableArray Ands; public readonly Outputs.CostCategoryRuleRuleOrCostCategory? CostCategory; public readonly Outputs.CostCategoryRuleRuleOrDimension? Dimension; + public readonly Outputs.CostCategoryRuleRuleOrNot? Not; + public readonly ImmutableArray Ors; /// /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. /// @@ -22,14 +25,23 @@ public sealed class CostCategoryRuleRuleOr [OutputConstructor] private CostCategoryRuleRuleOr( + ImmutableArray ands, + Outputs.CostCategoryRuleRuleOrCostCategory? costCategory, Outputs.CostCategoryRuleRuleOrDimension? dimension, + Outputs.CostCategoryRuleRuleOrNot? not, + + ImmutableArray ors, + Outputs.CostCategoryRuleRuleOrTags? tags) { + Ands = ands; CostCategory = costCategory; Dimension = dimension; + Not = not; + Ors = ors; Tags = tags; } } diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAnd.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAnd.cs new file mode 100644 index 00000000000..29c7b2cbdc4 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAnd.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleOrAnd + { + public readonly Outputs.CostCategoryRuleRuleOrAndCostCategory? CostCategory; + public readonly Outputs.CostCategoryRuleRuleOrAndDimension? Dimension; + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public readonly Outputs.CostCategoryRuleRuleOrAndTags? Tags; + + [OutputConstructor] + private CostCategoryRuleRuleOrAnd( + Outputs.CostCategoryRuleRuleOrAndCostCategory? costCategory, + + Outputs.CostCategoryRuleRuleOrAndDimension? dimension, + + Outputs.CostCategoryRuleRuleOrAndTags? tags) + { + CostCategory = costCategory; + Dimension = dimension; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAndCostCategory.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAndCostCategory.cs new file mode 100644 index 00000000000..27a075d8e63 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAndCostCategory.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleOrAndCostCategory + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleOrAndCostCategory( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAndDimension.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAndDimension.cs new file mode 100644 index 00000000000..91263b41b65 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAndDimension.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleOrAndDimension + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleOrAndDimension( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAndTags.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAndTags.cs new file mode 100644 index 00000000000..741dd549fac --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrAndTags.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleOrAndTags + { + /// + /// Key for the tag. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleOrAndTags( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNot.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNot.cs new file mode 100644 index 00000000000..71ae8632697 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNot.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleOrNot + { + public readonly Outputs.CostCategoryRuleRuleOrNotCostCategory? CostCategory; + public readonly Outputs.CostCategoryRuleRuleOrNotDimension? Dimension; + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public readonly Outputs.CostCategoryRuleRuleOrNotTags? Tags; + + [OutputConstructor] + private CostCategoryRuleRuleOrNot( + Outputs.CostCategoryRuleRuleOrNotCostCategory? costCategory, + + Outputs.CostCategoryRuleRuleOrNotDimension? dimension, + + Outputs.CostCategoryRuleRuleOrNotTags? tags) + { + CostCategory = costCategory; + Dimension = dimension; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNotCostCategory.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNotCostCategory.cs new file mode 100644 index 00000000000..bce61754f06 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNotCostCategory.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleOrNotCostCategory + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleOrNotCostCategory( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNotDimension.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNotDimension.cs new file mode 100644 index 00000000000..70027982099 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNotDimension.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleOrNotDimension + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleOrNotDimension( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNotTags.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNotTags.cs new file mode 100644 index 00000000000..bacf12d450b --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrNotTags.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleOrNotTags + { + /// + /// Key for the tag. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleOrNotTags( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOr.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOr.cs new file mode 100644 index 00000000000..972886dd558 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOr.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleOrOr + { + public readonly Outputs.CostCategoryRuleRuleOrOrCostCategory? CostCategory; + public readonly Outputs.CostCategoryRuleRuleOrOrDimension? Dimension; + /// + /// Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public readonly Outputs.CostCategoryRuleRuleOrOrTags? Tags; + + [OutputConstructor] + private CostCategoryRuleRuleOrOr( + Outputs.CostCategoryRuleRuleOrOrCostCategory? costCategory, + + Outputs.CostCategoryRuleRuleOrOrDimension? dimension, + + Outputs.CostCategoryRuleRuleOrOrTags? tags) + { + CostCategory = costCategory; + Dimension = dimension; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOrCostCategory.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOrCostCategory.cs new file mode 100644 index 00000000000..4a94bc0a447 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOrCostCategory.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleOrOrCostCategory + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleOrOrCostCategory( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOrDimension.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOrDimension.cs new file mode 100644 index 00000000000..fbffcfedc88 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOrDimension.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleOrOrDimension + { + /// + /// Unique name of the Cost Category. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleOrOrDimension( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOrTags.cs b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOrTags.cs new file mode 100644 index 00000000000..77a0245687f --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/CostCategoryRuleRuleOrOrTags.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class CostCategoryRuleRuleOrOrTags + { + /// + /// Key for the tag. + /// + public readonly string? Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Specific value of the Cost Category. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private CostCategoryRuleRuleOrOrTags( + string? key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndCostCategoryResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndCostCategoryResult.cs new file mode 100644 index 00000000000..55b1fb026a1 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndCostCategoryResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleAndAndCostCategoryResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleAndAndCostCategoryResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndDimensionResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndDimensionResult.cs new file mode 100644 index 00000000000..ff808daed89 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndDimensionResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleAndAndDimensionResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleAndAndDimensionResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndResult.cs new file mode 100644 index 00000000000..34cf01b3dd8 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleAndAndResult + { + /// + /// Configuration block for the filter that's based on `CostCategory` values. See below. + /// + public readonly ImmutableArray CostCategories; + /// + /// Configuration block for the specific `Dimension` to use for `Expression`. See below. + /// + public readonly ImmutableArray Dimensions; + /// + /// Configuration block for the specific `Tag` to use for `Expression`. See below. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetCostCategoryRuleRuleAndAndResult( + ImmutableArray costCategories, + + ImmutableArray dimensions, + + ImmutableArray tags) + { + CostCategories = costCategories; + Dimensions = dimensions; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndTagResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndTagResult.cs new file mode 100644 index 00000000000..cbcd28c571a --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndAndTagResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleAndAndTagResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleAndAndTagResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotCostCategoryResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotCostCategoryResult.cs new file mode 100644 index 00000000000..fac95e675fb --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotCostCategoryResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleAndNotCostCategoryResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleAndNotCostCategoryResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotDimensionResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotDimensionResult.cs new file mode 100644 index 00000000000..636ba80f89d --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotDimensionResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleAndNotDimensionResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleAndNotDimensionResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotResult.cs new file mode 100644 index 00000000000..517ee4dc8dc --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleAndNotResult + { + /// + /// Configuration block for the filter that's based on `CostCategory` values. See below. + /// + public readonly ImmutableArray CostCategories; + /// + /// Configuration block for the specific `Dimension` to use for `Expression`. See below. + /// + public readonly ImmutableArray Dimensions; + /// + /// Configuration block for the specific `Tag` to use for `Expression`. See below. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetCostCategoryRuleRuleAndNotResult( + ImmutableArray costCategories, + + ImmutableArray dimensions, + + ImmutableArray tags) + { + CostCategories = costCategories; + Dimensions = dimensions; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotTagResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotTagResult.cs new file mode 100644 index 00000000000..9956fdcb641 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndNotTagResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleAndNotTagResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleAndNotTagResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrCostCategoryResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrCostCategoryResult.cs new file mode 100644 index 00000000000..83267273027 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrCostCategoryResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleAndOrCostCategoryResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleAndOrCostCategoryResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrDimensionResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrDimensionResult.cs new file mode 100644 index 00000000000..f6d7b9b5745 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrDimensionResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleAndOrDimensionResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleAndOrDimensionResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrResult.cs new file mode 100644 index 00000000000..bcf56be7503 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleAndOrResult + { + /// + /// Configuration block for the filter that's based on `CostCategory` values. See below. + /// + public readonly ImmutableArray CostCategories; + /// + /// Configuration block for the specific `Dimension` to use for `Expression`. See below. + /// + public readonly ImmutableArray Dimensions; + /// + /// Configuration block for the specific `Tag` to use for `Expression`. See below. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetCostCategoryRuleRuleAndOrResult( + ImmutableArray costCategories, + + ImmutableArray dimensions, + + ImmutableArray tags) + { + CostCategories = costCategories; + Dimensions = dimensions; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrTagResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrTagResult.cs new file mode 100644 index 00000000000..3303cded924 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndOrTagResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleAndOrTagResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleAndOrTagResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndResult.cs index 9b2d9f083f0..c85cc7095df 100644 --- a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndResult.cs +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleAndResult.cs @@ -13,6 +13,10 @@ namespace Pulumi.Aws.CostExplorer.Outputs [OutputType] public sealed class GetCostCategoryRuleRuleAndResult { + /// + /// Return results that match both `Dimension` objects. + /// + public readonly ImmutableArray Ands; /// /// Configuration block for the filter that's based on `CostCategory` values. See below. /// @@ -22,20 +26,37 @@ public sealed class GetCostCategoryRuleRuleAndResult /// public readonly ImmutableArray Dimensions; /// + /// Return results that do not match the `Dimension` object. + /// + public readonly ImmutableArray Nots; + /// + /// Return results that match either `Dimension` object. + /// + public readonly ImmutableArray Ors; + /// /// Configuration block for the specific `Tag` to use for `Expression`. See below. /// public readonly ImmutableArray Tags; [OutputConstructor] private GetCostCategoryRuleRuleAndResult( + ImmutableArray ands, + ImmutableArray costCategories, ImmutableArray dimensions, + ImmutableArray nots, + + ImmutableArray ors, + ImmutableArray tags) { + Ands = ands; CostCategories = costCategories; Dimensions = dimensions; + Nots = nots; + Ors = ors; Tags = tags; } } diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndCostCategoryResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndCostCategoryResult.cs new file mode 100644 index 00000000000..bcc182defb0 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndCostCategoryResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleNotAndCostCategoryResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleNotAndCostCategoryResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndDimensionResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndDimensionResult.cs new file mode 100644 index 00000000000..ad1657e73ad --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndDimensionResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleNotAndDimensionResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleNotAndDimensionResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndResult.cs new file mode 100644 index 00000000000..9f65034e1f6 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleNotAndResult + { + /// + /// Configuration block for the filter that's based on `CostCategory` values. See below. + /// + public readonly ImmutableArray CostCategories; + /// + /// Configuration block for the specific `Dimension` to use for `Expression`. See below. + /// + public readonly ImmutableArray Dimensions; + /// + /// Configuration block for the specific `Tag` to use for `Expression`. See below. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetCostCategoryRuleRuleNotAndResult( + ImmutableArray costCategories, + + ImmutableArray dimensions, + + ImmutableArray tags) + { + CostCategories = costCategories; + Dimensions = dimensions; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndTagResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndTagResult.cs new file mode 100644 index 00000000000..0624c8e0008 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotAndTagResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleNotAndTagResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleNotAndTagResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotCostCategoryResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotCostCategoryResult.cs new file mode 100644 index 00000000000..4265212b685 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotCostCategoryResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleNotNotCostCategoryResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleNotNotCostCategoryResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotDimensionResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotDimensionResult.cs new file mode 100644 index 00000000000..6f14c4117f8 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotDimensionResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleNotNotDimensionResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleNotNotDimensionResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotResult.cs new file mode 100644 index 00000000000..aa1142f70d3 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleNotNotResult + { + /// + /// Configuration block for the filter that's based on `CostCategory` values. See below. + /// + public readonly ImmutableArray CostCategories; + /// + /// Configuration block for the specific `Dimension` to use for `Expression`. See below. + /// + public readonly ImmutableArray Dimensions; + /// + /// Configuration block for the specific `Tag` to use for `Expression`. See below. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetCostCategoryRuleRuleNotNotResult( + ImmutableArray costCategories, + + ImmutableArray dimensions, + + ImmutableArray tags) + { + CostCategories = costCategories; + Dimensions = dimensions; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotTagResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotTagResult.cs new file mode 100644 index 00000000000..edf2e3a524e --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotNotTagResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleNotNotTagResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleNotNotTagResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrCostCategoryResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrCostCategoryResult.cs new file mode 100644 index 00000000000..1a8be49f9cf --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrCostCategoryResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleNotOrCostCategoryResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleNotOrCostCategoryResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrDimensionResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrDimensionResult.cs new file mode 100644 index 00000000000..a0f1316f9f5 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrDimensionResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleNotOrDimensionResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleNotOrDimensionResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrResult.cs new file mode 100644 index 00000000000..214f0e99bf4 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleNotOrResult + { + /// + /// Configuration block for the filter that's based on `CostCategory` values. See below. + /// + public readonly ImmutableArray CostCategories; + /// + /// Configuration block for the specific `Dimension` to use for `Expression`. See below. + /// + public readonly ImmutableArray Dimensions; + /// + /// Configuration block for the specific `Tag` to use for `Expression`. See below. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetCostCategoryRuleRuleNotOrResult( + ImmutableArray costCategories, + + ImmutableArray dimensions, + + ImmutableArray tags) + { + CostCategories = costCategories; + Dimensions = dimensions; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrTagResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrTagResult.cs new file mode 100644 index 00000000000..495a0727277 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotOrTagResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleNotOrTagResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleNotOrTagResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotResult.cs index cf9c33aff9a..aca62e35a0d 100644 --- a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotResult.cs +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleNotResult.cs @@ -13,6 +13,10 @@ namespace Pulumi.Aws.CostExplorer.Outputs [OutputType] public sealed class GetCostCategoryRuleRuleNotResult { + /// + /// Return results that match both `Dimension` objects. + /// + public readonly ImmutableArray Ands; /// /// Configuration block for the filter that's based on `CostCategory` values. See below. /// @@ -22,20 +26,37 @@ public sealed class GetCostCategoryRuleRuleNotResult /// public readonly ImmutableArray Dimensions; /// + /// Return results that do not match the `Dimension` object. + /// + public readonly ImmutableArray Nots; + /// + /// Return results that match either `Dimension` object. + /// + public readonly ImmutableArray Ors; + /// /// Configuration block for the specific `Tag` to use for `Expression`. See below. /// public readonly ImmutableArray Tags; [OutputConstructor] private GetCostCategoryRuleRuleNotResult( + ImmutableArray ands, + ImmutableArray costCategories, ImmutableArray dimensions, + ImmutableArray nots, + + ImmutableArray ors, + ImmutableArray tags) { + Ands = ands; CostCategories = costCategories; Dimensions = dimensions; + Nots = nots; + Ors = ors; Tags = tags; } } diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndCostCategoryResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndCostCategoryResult.cs new file mode 100644 index 00000000000..a84b72709a4 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndCostCategoryResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleOrAndCostCategoryResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleOrAndCostCategoryResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndDimensionResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndDimensionResult.cs new file mode 100644 index 00000000000..2406c622c5c --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndDimensionResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleOrAndDimensionResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleOrAndDimensionResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndResult.cs new file mode 100644 index 00000000000..85a783a4914 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleOrAndResult + { + /// + /// Configuration block for the filter that's based on `CostCategory` values. See below. + /// + public readonly ImmutableArray CostCategories; + /// + /// Configuration block for the specific `Dimension` to use for `Expression`. See below. + /// + public readonly ImmutableArray Dimensions; + /// + /// Configuration block for the specific `Tag` to use for `Expression`. See below. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetCostCategoryRuleRuleOrAndResult( + ImmutableArray costCategories, + + ImmutableArray dimensions, + + ImmutableArray tags) + { + CostCategories = costCategories; + Dimensions = dimensions; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndTagResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndTagResult.cs new file mode 100644 index 00000000000..c9081294960 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrAndTagResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleOrAndTagResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleOrAndTagResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotCostCategoryResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotCostCategoryResult.cs new file mode 100644 index 00000000000..cde2c52f0cc --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotCostCategoryResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleOrNotCostCategoryResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleOrNotCostCategoryResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotDimensionResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotDimensionResult.cs new file mode 100644 index 00000000000..e9393c582dd --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotDimensionResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleOrNotDimensionResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleOrNotDimensionResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotResult.cs new file mode 100644 index 00000000000..e739007f888 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleOrNotResult + { + /// + /// Configuration block for the filter that's based on `CostCategory` values. See below. + /// + public readonly ImmutableArray CostCategories; + /// + /// Configuration block for the specific `Dimension` to use for `Expression`. See below. + /// + public readonly ImmutableArray Dimensions; + /// + /// Configuration block for the specific `Tag` to use for `Expression`. See below. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetCostCategoryRuleRuleOrNotResult( + ImmutableArray costCategories, + + ImmutableArray dimensions, + + ImmutableArray tags) + { + CostCategories = costCategories; + Dimensions = dimensions; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotTagResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotTagResult.cs new file mode 100644 index 00000000000..c39a111dc78 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrNotTagResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleOrNotTagResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleOrNotTagResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrCostCategoryResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrCostCategoryResult.cs new file mode 100644 index 00000000000..2f11d4cf796 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrCostCategoryResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleOrOrCostCategoryResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleOrOrCostCategoryResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrDimensionResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrDimensionResult.cs new file mode 100644 index 00000000000..63683f89e34 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrDimensionResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleOrOrDimensionResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleOrOrDimensionResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrResult.cs new file mode 100644 index 00000000000..0c387199563 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleOrOrResult + { + /// + /// Configuration block for the filter that's based on `CostCategory` values. See below. + /// + public readonly ImmutableArray CostCategories; + /// + /// Configuration block for the specific `Dimension` to use for `Expression`. See below. + /// + public readonly ImmutableArray Dimensions; + /// + /// Configuration block for the specific `Tag` to use for `Expression`. See below. + /// + public readonly ImmutableArray Tags; + + [OutputConstructor] + private GetCostCategoryRuleRuleOrOrResult( + ImmutableArray costCategories, + + ImmutableArray dimensions, + + ImmutableArray tags) + { + CostCategories = costCategories; + Dimensions = dimensions; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrTagResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrTagResult.cs new file mode 100644 index 00000000000..667b2e5c893 --- /dev/null +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrOrTagResult.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.CostExplorer.Outputs +{ + + [OutputType] + public sealed class GetCostCategoryRuleRuleOrOrTagResult + { + /// + /// Key for the tag. + /// + public readonly string Key; + /// + /// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + /// + public readonly ImmutableArray MatchOptions; + /// + /// Parameter values. + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetCostCategoryRuleRuleOrOrTagResult( + string key, + + ImmutableArray matchOptions, + + ImmutableArray values) + { + Key = key; + MatchOptions = matchOptions; + Values = values; + } + } +} diff --git a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrResult.cs b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrResult.cs index 5ce6493c31b..9224ceae6bd 100644 --- a/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrResult.cs +++ b/sdk/dotnet/CostExplorer/Outputs/GetCostCategoryRuleRuleOrResult.cs @@ -13,6 +13,10 @@ namespace Pulumi.Aws.CostExplorer.Outputs [OutputType] public sealed class GetCostCategoryRuleRuleOrResult { + /// + /// Return results that match both `Dimension` objects. + /// + public readonly ImmutableArray Ands; /// /// Configuration block for the filter that's based on `CostCategory` values. See below. /// @@ -22,20 +26,37 @@ public sealed class GetCostCategoryRuleRuleOrResult /// public readonly ImmutableArray Dimensions; /// + /// Return results that do not match the `Dimension` object. + /// + public readonly ImmutableArray Nots; + /// + /// Return results that match either `Dimension` object. + /// + public readonly ImmutableArray Ors; + /// /// Configuration block for the specific `Tag` to use for `Expression`. See below. /// public readonly ImmutableArray Tags; [OutputConstructor] private GetCostCategoryRuleRuleOrResult( + ImmutableArray ands, + ImmutableArray costCategories, ImmutableArray dimensions, + ImmutableArray nots, + + ImmutableArray ors, + ImmutableArray tags) { + Ands = ands; CostCategories = costCategories; Dimensions = dimensions; + Nots = nots; + Ors = ors; Tags = tags; } } diff --git a/sdk/dotnet/Ec2/Eip.cs b/sdk/dotnet/Ec2/Eip.cs index 96ab779f665..61d6057fe19 100644 --- a/sdk/dotnet/Ec2/Eip.cs +++ b/sdk/dotnet/Ec2/Eip.cs @@ -174,6 +174,9 @@ public partial class Eip : global::Pulumi.CustomResource [Output("allocationId")] public Output AllocationId { get; private set; } = null!; + [Output("arn")] + public Output Arn { get; private set; } = null!; + /// /// User-specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address. /// @@ -428,6 +431,9 @@ public sealed class EipState : global::Pulumi.ResourceArgs [Input("allocationId")] public Input? AllocationId { get; set; } + [Input("arn")] + public Input? Arn { get; set; } + /// /// User-specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address. /// diff --git a/sdk/dotnet/Ec2/GetElasticIp.cs b/sdk/dotnet/Ec2/GetElasticIp.cs index 2f666280ace..4e2113405ce 100644 --- a/sdk/dotnet/Ec2/GetElasticIp.cs +++ b/sdk/dotnet/Ec2/GetElasticIp.cs @@ -291,6 +291,7 @@ public GetElasticIpInvokeArgs() [OutputType] public sealed class GetElasticIpResult { + public readonly string Arn; /// /// ID representing the association of the address with an instance in a VPC. /// @@ -359,6 +360,8 @@ public sealed class GetElasticIpResult [OutputConstructor] private GetElasticIpResult( + string arn, + string associationId, string carrierIp, @@ -393,6 +396,7 @@ private GetElasticIpResult( ImmutableDictionary tags) { + Arn = arn; AssociationId = associationId; CarrierIp = carrierIp; CustomerOwnedIp = customerOwnedIp; diff --git a/sdk/dotnet/ElastiCache/ReplicationGroup.cs b/sdk/dotnet/ElastiCache/ReplicationGroup.cs index a0eb23e7102..f20516e0389 100644 --- a/sdk/dotnet/ElastiCache/ReplicationGroup.cs +++ b/sdk/dotnet/ElastiCache/ReplicationGroup.cs @@ -537,10 +537,21 @@ public partial class ReplicationGroup : global::Pulumi.CustomResource /// /// Whether to enable encryption in transit. + /// Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + /// Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. /// [Output("transitEncryptionEnabled")] public Output TransitEncryptionEnabled { get; private set; } = null!; + /// + /// A setting that enables clients to migrate to in-transit encryption with no downtime. + /// Valid values are `preferred` and `required`. + /// When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + /// See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + /// + [Output("transitEncryptionMode")] + public Output TransitEncryptionMode { get; private set; } = null!; + /// /// User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. /// @@ -867,10 +878,21 @@ public InputMap Tags /// /// Whether to enable encryption in transit. + /// Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + /// Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. /// [Input("transitEncryptionEnabled")] public Input? TransitEncryptionEnabled { get; set; } + /// + /// A setting that enables clients to migrate to in-transit encryption with no downtime. + /// Valid values are `preferred` and `required`. + /// When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + /// See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + /// + [Input("transitEncryptionMode")] + public Input? TransitEncryptionMode { get; set; } + [Input("userGroupIds")] private InputList? _userGroupIds; @@ -1222,10 +1244,21 @@ public InputMap TagsAll /// /// Whether to enable encryption in transit. + /// Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + /// Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. /// [Input("transitEncryptionEnabled")] public Input? TransitEncryptionEnabled { get; set; } + /// + /// A setting that enables clients to migrate to in-transit encryption with no downtime. + /// Valid values are `preferred` and `required`. + /// When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + /// See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + /// + [Input("transitEncryptionMode")] + public Input? TransitEncryptionMode { get; set; } + [Input("userGroupIds")] private InputList? _userGroupIds; diff --git a/sdk/dotnet/GlobalAccelerator/CrossAccountAttachment.cs b/sdk/dotnet/GlobalAccelerator/CrossAccountAttachment.cs new file mode 100644 index 00000000000..4c508b89726 --- /dev/null +++ b/sdk/dotnet/GlobalAccelerator/CrossAccountAttachment.cs @@ -0,0 +1,304 @@ +// *** WARNING: this file 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.GlobalAccelerator +{ + /// + /// Resource for managing an AWS Global Accelerator Cross Account Attachment. + /// + /// ## 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.GlobalAccelerator.CrossAccountAttachment("example", new() + /// { + /// Name = "example-cross-account-attachment", + /// }); + /// + /// }); + /// ``` + /// + /// ### Usage with Optional Arguments + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.GlobalAccelerator.CrossAccountAttachment("example", new() + /// { + /// Name = "example-cross-account-attachment", + /// Principals = new[] + /// { + /// "123456789012", + /// }, + /// Resources = new[] + /// { + /// new Aws.GlobalAccelerator.Inputs.CrossAccountAttachmentResourceArgs + /// { + /// EndpointId = "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + /// Region = "us-west-2", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import Global Accelerator Cross Account Attachment using the `example_id_arg`. For example: + /// + /// ```sh + /// $ pulumi import aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment example arn:aws:globalaccelerator::012345678910:attachment/01234567-abcd-8910-efgh-123456789012 + /// ``` + /// + [AwsResourceType("aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment")] + public partial class CrossAccountAttachment : global::Pulumi.CustomResource + { + /// + /// ARN of the Cross Account Attachment. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// Creation Time when the Cross Account Attachment. + /// + [Output("createdTime")] + public Output CreatedTime { get; private set; } = null!; + + /// + /// Last modified time of the Cross Account Attachment. + /// + [Output("lastModifiedTime")] + public Output LastModifiedTime { get; private set; } = null!; + + /// + /// Name of the Cross Account Attachment. + /// + /// The following arguments are optional: + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// List of AWS account IDs that are allowed to associate resources with the accelerator. + /// + [Output("principals")] + public Output> Principals { get; private set; } = null!; + + /// + /// List of resources to be associated with the accelerator. + /// + [Output("resources")] + public Output> Resources { get; private set; } = null!; + + /// + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + + /// + /// Create a CrossAccountAttachment 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 CrossAccountAttachment(string name, CrossAccountAttachmentArgs? args = null, CustomResourceOptions? options = null) + : base("aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment", name, args ?? new CrossAccountAttachmentArgs(), MakeResourceOptions(options, "")) + { + } + + private CrossAccountAttachment(string name, Input id, CrossAccountAttachmentState? state = null, CustomResourceOptions? options = null) + : base("aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment", 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 CrossAccountAttachment 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 CrossAccountAttachment Get(string name, Input id, CrossAccountAttachmentState? state = null, CustomResourceOptions? options = null) + { + return new CrossAccountAttachment(name, id, state, options); + } + } + + public sealed class CrossAccountAttachmentArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the Cross Account Attachment. + /// + /// The following arguments are optional: + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("principals")] + private InputList? _principals; + + /// + /// List of AWS account IDs that are allowed to associate resources with the accelerator. + /// + public InputList Principals + { + get => _principals ?? (_principals = new InputList()); + set => _principals = value; + } + + [Input("resources")] + private InputList? _resources; + + /// + /// List of resources to be associated with the accelerator. + /// + public InputList Resources + { + get => _resources ?? (_resources = new InputList()); + set => _resources = value; + } + + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public CrossAccountAttachmentArgs() + { + } + public static new CrossAccountAttachmentArgs Empty => new CrossAccountAttachmentArgs(); + } + + public sealed class CrossAccountAttachmentState : global::Pulumi.ResourceArgs + { + /// + /// ARN of the Cross Account Attachment. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// Creation Time when the Cross Account Attachment. + /// + [Input("createdTime")] + public Input? CreatedTime { get; set; } + + /// + /// Last modified time of the Cross Account Attachment. + /// + [Input("lastModifiedTime")] + public Input? LastModifiedTime { get; set; } + + /// + /// Name of the Cross Account Attachment. + /// + /// The following arguments are optional: + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("principals")] + private InputList? _principals; + + /// + /// List of AWS account IDs that are allowed to associate resources with the accelerator. + /// + public InputList Principals + { + get => _principals ?? (_principals = new InputList()); + set => _principals = value; + } + + [Input("resources")] + private InputList? _resources; + + /// + /// List of resources to be associated with the accelerator. + /// + public InputList Resources + { + get => _resources ?? (_resources = new InputList()); + set => _resources = value; + } + + [Input("tags")] + private InputMap? _tags; + + /// + /// A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Obsolete(@"Please use `tags` instead.")] + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + public CrossAccountAttachmentState() + { + } + public static new CrossAccountAttachmentState Empty => new CrossAccountAttachmentState(); + } +} diff --git a/sdk/dotnet/GlobalAccelerator/Inputs/CrossAccountAttachmentResourceArgs.cs b/sdk/dotnet/GlobalAccelerator/Inputs/CrossAccountAttachmentResourceArgs.cs new file mode 100644 index 00000000000..ed1865a1a6e --- /dev/null +++ b/sdk/dotnet/GlobalAccelerator/Inputs/CrossAccountAttachmentResourceArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.GlobalAccelerator.Inputs +{ + + public sealed class CrossAccountAttachmentResourceArgs : global::Pulumi.ResourceArgs + { + /// + /// The endpoint ID for the endpoint that is specified as a AWS resource. + /// + [Input("endpointId")] + public Input? EndpointId { get; set; } + + /// + /// The AWS Region where a shared endpoint resource is located. + /// + [Input("region")] + public Input? Region { get; set; } + + public CrossAccountAttachmentResourceArgs() + { + } + public static new CrossAccountAttachmentResourceArgs Empty => new CrossAccountAttachmentResourceArgs(); + } +} diff --git a/sdk/dotnet/GlobalAccelerator/Inputs/CrossAccountAttachmentResourceGetArgs.cs b/sdk/dotnet/GlobalAccelerator/Inputs/CrossAccountAttachmentResourceGetArgs.cs new file mode 100644 index 00000000000..a697b1e183b --- /dev/null +++ b/sdk/dotnet/GlobalAccelerator/Inputs/CrossAccountAttachmentResourceGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.GlobalAccelerator.Inputs +{ + + public sealed class CrossAccountAttachmentResourceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The endpoint ID for the endpoint that is specified as a AWS resource. + /// + [Input("endpointId")] + public Input? EndpointId { get; set; } + + /// + /// The AWS Region where a shared endpoint resource is located. + /// + [Input("region")] + public Input? Region { get; set; } + + public CrossAccountAttachmentResourceGetArgs() + { + } + public static new CrossAccountAttachmentResourceGetArgs Empty => new CrossAccountAttachmentResourceGetArgs(); + } +} diff --git a/sdk/dotnet/GlobalAccelerator/Outputs/CrossAccountAttachmentResource.cs b/sdk/dotnet/GlobalAccelerator/Outputs/CrossAccountAttachmentResource.cs new file mode 100644 index 00000000000..ae39ef84f4b --- /dev/null +++ b/sdk/dotnet/GlobalAccelerator/Outputs/CrossAccountAttachmentResource.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.GlobalAccelerator.Outputs +{ + + [OutputType] + public sealed class CrossAccountAttachmentResource + { + /// + /// The endpoint ID for the endpoint that is specified as a AWS resource. + /// + public readonly string? EndpointId; + /// + /// The AWS Region where a shared endpoint resource is located. + /// + public readonly string? Region; + + [OutputConstructor] + private CrossAccountAttachmentResource( + string? endpointId, + + string? region) + { + EndpointId = endpointId; + Region = region; + } + } +} diff --git a/sdk/dotnet/IdentityStore/GetGroups.cs b/sdk/dotnet/IdentityStore/GetGroups.cs new file mode 100644 index 00000000000..35c0998d991 --- /dev/null +++ b/sdk/dotnet/IdentityStore/GetGroups.cs @@ -0,0 +1,127 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.IdentityStore +{ + public static class GetGroups + { + /// + /// Data source for managing an AWS SSO Identity Store Groups. + /// + /// ## 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.SsoAdmin.GetInstances.Invoke(); + /// + /// var exampleGetGroups = Aws.IdentityStore.GetGroups.Invoke(new() + /// { + /// IdentityStoreId = example.Apply(getInstancesResult => getInstancesResult.IdentityStoreIds[0]), + /// }); + /// + /// }); + /// ``` + /// + public static Task InvokeAsync(GetGroupsArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:identitystore/getGroups:getGroups", args ?? new GetGroupsArgs(), options.WithDefaults()); + + /// + /// Data source for managing an AWS SSO Identity Store Groups. + /// + /// ## 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.SsoAdmin.GetInstances.Invoke(); + /// + /// var exampleGetGroups = Aws.IdentityStore.GetGroups.Invoke(new() + /// { + /// IdentityStoreId = example.Apply(getInstancesResult => getInstancesResult.IdentityStoreIds[0]), + /// }); + /// + /// }); + /// ``` + /// + public static Output Invoke(GetGroupsInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:identitystore/getGroups:getGroups", args ?? new GetGroupsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetGroupsArgs : global::Pulumi.InvokeArgs + { + /// + /// Identity Store ID associated with the Single Sign-On (SSO) Instance. + /// + [Input("identityStoreId", required: true)] + public string IdentityStoreId { get; set; } = null!; + + public GetGroupsArgs() + { + } + public static new GetGroupsArgs Empty => new GetGroupsArgs(); + } + + public sealed class GetGroupsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Identity Store ID associated with the Single Sign-On (SSO) Instance. + /// + [Input("identityStoreId", required: true)] + public Input IdentityStoreId { get; set; } = null!; + + public GetGroupsInvokeArgs() + { + } + public static new GetGroupsInvokeArgs Empty => new GetGroupsInvokeArgs(); + } + + + [OutputType] + public sealed class GetGroupsResult + { + /// + /// List of Identity Store Groups + /// + public readonly ImmutableArray Groups; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string IdentityStoreId; + + [OutputConstructor] + private GetGroupsResult( + ImmutableArray groups, + + string id, + + string identityStoreId) + { + Groups = groups; + Id = id; + IdentityStoreId = identityStoreId; + } + } +} diff --git a/sdk/dotnet/IdentityStore/Outputs/GetGroupsGroupResult.cs b/sdk/dotnet/IdentityStore/Outputs/GetGroupsGroupResult.cs new file mode 100644 index 00000000000..202b6232cf6 --- /dev/null +++ b/sdk/dotnet/IdentityStore/Outputs/GetGroupsGroupResult.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.IdentityStore.Outputs +{ + + [OutputType] + public sealed class GetGroupsGroupResult + { + /// + /// Description of the specified group. + /// + public readonly string Description; + /// + /// Group's display name. + /// + public readonly string DisplayName; + /// + /// List of identifiers issued to this resource by an external identity provider. + /// + public readonly ImmutableArray ExternalIds; + /// + /// Identifier of the group in the Identity Store. + /// + public readonly string GroupId; + /// + /// Identity Store ID associated with the Single Sign-On (SSO) Instance. + /// + public readonly string IdentityStoreId; + + [OutputConstructor] + private GetGroupsGroupResult( + string description, + + string displayName, + + ImmutableArray externalIds, + + string groupId, + + string identityStoreId) + { + Description = description; + DisplayName = displayName; + ExternalIds = externalIds; + GroupId = groupId; + IdentityStoreId = identityStoreId; + } + } +} diff --git a/sdk/dotnet/Inputs/ProviderEndpointArgs.cs b/sdk/dotnet/Inputs/ProviderEndpointArgs.cs index 3cd64018384..24a92262028 100644 --- a/sdk/dotnet/Inputs/ProviderEndpointArgs.cs +++ b/sdk/dotnet/Inputs/ProviderEndpointArgs.cs @@ -1356,6 +1356,12 @@ public sealed class ProviderEndpointArgs : global::Pulumi.ResourceArgs [Input("route53domains")] public Input? Route53domains { get; set; } + /// + /// Use this to override the default service endpoint URL + /// + [Input("route53profiles")] + public Input? Route53profiles { get; set; } + /// /// Use this to override the default service endpoint URL /// diff --git a/sdk/dotnet/Kinesis/FirehoseDeliveryStream.cs b/sdk/dotnet/Kinesis/FirehoseDeliveryStream.cs index ce71e27484a..4c32281511c 100644 --- a/sdk/dotnet/Kinesis/FirehoseDeliveryStream.cs +++ b/sdk/dotnet/Kinesis/FirehoseDeliveryStream.cs @@ -10,7 +10,7 @@ namespace Pulumi.Aws.Kinesis { /// - /// Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 and Amazon Redshift. + /// Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 , Amazon Redshift and Snowflake. /// /// For more details, see the [Amazon Kinesis Firehose Documentation](https://aws.amazon.com/documentation/firehose/). /// @@ -839,6 +839,43 @@ namespace Pulumi.Aws.Kinesis /// }); /// ``` /// + /// ### Snowflake Destination + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleSnowflakeDestination = new Aws.Kinesis.FirehoseDeliveryStream("example_snowflake_destination", new() + /// { + /// Name = "example-snowflake-destination", + /// Destination = "snowflake", + /// SnowflakeConfiguration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSnowflakeConfigurationArgs + /// { + /// AccountUrl = "https://example.snowflakecomputing.com", + /// Database = "example-db", + /// PrivateKey = "...", + /// RoleArn = firehose.Arn, + /// Schema = "example-schema", + /// Table = "example-table", + /// User = "example-usr", + /// S3Configuration = new Aws.Kinesis.Inputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs + /// { + /// RoleArn = firehose.Arn, + /// BucketArn = bucket.Arn, + /// BufferingSize = 10, + /// BufferingInterval = 400, + /// CompressionFormat = "GZIP", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// /// ## Import /// /// Using `pulumi import`, import Kinesis Firehose Delivery streams using the stream ARN. For example: @@ -858,7 +895,7 @@ public partial class FirehoseDeliveryStream : global::Pulumi.CustomResource public Output Arn { get; private set; } = null!; /// - /// This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + /// This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. /// [Output("destination")] public Output Destination { get; private set; } = null!; @@ -928,6 +965,12 @@ public partial class FirehoseDeliveryStream : global::Pulumi.CustomResource [Output("serverSideEncryption")] public Output ServerSideEncryption { get; private set; } = null!; + /// + /// Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + /// + [Output("snowflakeConfiguration")] + public Output SnowflakeConfiguration { get; private set; } = null!; + /// /// Configuration options when `destination` is `splunk`. See `splunk_configuration` block below for details. /// @@ -1002,7 +1045,7 @@ public sealed class FirehoseDeliveryStreamArgs : global::Pulumi.ResourceArgs public Input? Arn { get; set; } /// - /// This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + /// This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. /// [Input("destination", required: true)] public Input Destination { get; set; } = null!; @@ -1072,6 +1115,12 @@ public sealed class FirehoseDeliveryStreamArgs : global::Pulumi.ResourceArgs [Input("serverSideEncryption")] public Input? ServerSideEncryption { get; set; } + /// + /// Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + /// + [Input("snowflakeConfiguration")] + public Input? SnowflakeConfiguration { get; set; } + /// /// Configuration options when `destination` is `splunk`. See `splunk_configuration` block below for details. /// @@ -1108,7 +1157,7 @@ public sealed class FirehoseDeliveryStreamState : global::Pulumi.ResourceArgs public Input? Arn { get; set; } /// - /// This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + /// This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. /// [Input("destination")] public Input? Destination { get; set; } @@ -1178,6 +1227,12 @@ public sealed class FirehoseDeliveryStreamState : global::Pulumi.ResourceArgs [Input("serverSideEncryption")] public Input? ServerSideEncryption { get; set; } + /// + /// Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + /// + [Input("snowflakeConfiguration")] + public Input? SnowflakeConfiguration { get; set; } + /// /// Configuration options when `destination` is `splunk`. See `splunk_configuration` block below for details. /// diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationArgs.cs new file mode 100644 index 00000000000..261163eb863 --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationArgs.cs @@ -0,0 +1,148 @@ +// *** WARNING: this file 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.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The URL of the Snowflake account. Format: https://[account_identifier].snowflakecomputing.com. + /// + [Input("accountUrl", required: true)] + public Input AccountUrl { get; set; } = null!; + + /// + /// The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + /// + [Input("cloudwatchLoggingOptions")] + public Input? CloudwatchLoggingOptions { get; set; } + + /// + /// The name of the content column. + /// + [Input("contentColumnName")] + public Input? ContentColumnName { get; set; } + + /// + /// The data loading option. + /// + [Input("dataLoadingOption")] + public Input? DataLoadingOption { get; set; } + + /// + /// The Snowflake database name. + /// + [Input("database", required: true)] + public Input Database { get; set; } = null!; + + [Input("keyPassphrase")] + private Input? _keyPassphrase; + + /// + /// The passphrase for the private key. + /// + public Input? KeyPassphrase + { + get => _keyPassphrase; + set + { + var emptySecret = Output.CreateSecret(0); + _keyPassphrase = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The name of the metadata column. + /// + [Input("metadataColumnName")] + public Input? MetadataColumnName { get; set; } + + [Input("privateKey", required: true)] + private Input? _privateKey; + + /// + /// The private key for authentication. + /// + public Input? PrivateKey + { + get => _privateKey; + set + { + var emptySecret = Output.CreateSecret(0); + _privateKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The processing configuration. See `processing_configuration` block below for details. + /// + [Input("processingConfiguration")] + public Input? ProcessingConfiguration { get; set; } + + /// + /// After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + /// + [Input("retryDuration")] + public Input? RetryDuration { get; set; } + + /// + /// The ARN of the IAM role. + /// + [Input("roleArn", required: true)] + public Input RoleArn { get; set; } = null!; + + /// + /// The S3 backup mode. + /// + [Input("s3BackupMode")] + public Input? S3BackupMode { get; set; } + + /// + /// The S3 configuration. See `s3_configuration` block below for details. + /// + [Input("s3Configuration", required: true)] + public Input S3Configuration { get; set; } = null!; + + /// + /// The Snowflake schema name. + /// + [Input("schema", required: true)] + public Input Schema { get; set; } = null!; + + /// + /// The configuration for Snowflake role. + /// + [Input("snowflakeRoleConfiguration")] + public Input? SnowflakeRoleConfiguration { get; set; } + + /// + /// The VPC configuration for Snowflake. + /// + [Input("snowflakeVpcConfiguration")] + public Input? SnowflakeVpcConfiguration { get; set; } + + /// + /// The Snowflake table name. + /// + [Input("table", required: true)] + public Input Table { get; set; } = null!; + + /// + /// The user for authentication. + /// + [Input("user", required: true)] + public Input User { get; set; } = null!; + + public FirehoseDeliveryStreamSnowflakeConfigurationArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs.cs new file mode 100644 index 00000000000..89e34cb30fe --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs.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.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// Enables or disables the logging. Defaults to `false`. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// The CloudWatch group name for logging. This value is required if `enabled` is true. + /// + [Input("logGroupName")] + public Input? LogGroupName { get; set; } + + /// + /// The CloudWatch log stream name for logging. This value is required if `enabled` is true. + /// + [Input("logStreamName")] + public Input? LogStreamName { get; set; } + + public FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsGetArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsGetArgs.cs new file mode 100644 index 00000000000..664d38346e2 --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsGetArgs.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.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Enables or disables the logging. Defaults to `false`. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// The CloudWatch group name for logging. This value is required if `enabled` is true. + /// + [Input("logGroupName")] + public Input? LogGroupName { get; set; } + + /// + /// The CloudWatch log stream name for logging. This value is required if `enabled` is true. + /// + [Input("logStreamName")] + public Input? LogStreamName { get; set; } + + public FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsGetArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsGetArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationGetArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationGetArgs.cs new file mode 100644 index 00000000000..9de67c70f8f --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationGetArgs.cs @@ -0,0 +1,148 @@ +// *** WARNING: this file 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.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The URL of the Snowflake account. Format: https://[account_identifier].snowflakecomputing.com. + /// + [Input("accountUrl", required: true)] + public Input AccountUrl { get; set; } = null!; + + /// + /// The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + /// + [Input("cloudwatchLoggingOptions")] + public Input? CloudwatchLoggingOptions { get; set; } + + /// + /// The name of the content column. + /// + [Input("contentColumnName")] + public Input? ContentColumnName { get; set; } + + /// + /// The data loading option. + /// + [Input("dataLoadingOption")] + public Input? DataLoadingOption { get; set; } + + /// + /// The Snowflake database name. + /// + [Input("database", required: true)] + public Input Database { get; set; } = null!; + + [Input("keyPassphrase")] + private Input? _keyPassphrase; + + /// + /// The passphrase for the private key. + /// + public Input? KeyPassphrase + { + get => _keyPassphrase; + set + { + var emptySecret = Output.CreateSecret(0); + _keyPassphrase = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The name of the metadata column. + /// + [Input("metadataColumnName")] + public Input? MetadataColumnName { get; set; } + + [Input("privateKey", required: true)] + private Input? _privateKey; + + /// + /// The private key for authentication. + /// + public Input? PrivateKey + { + get => _privateKey; + set + { + var emptySecret = Output.CreateSecret(0); + _privateKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The processing configuration. See `processing_configuration` block below for details. + /// + [Input("processingConfiguration")] + public Input? ProcessingConfiguration { get; set; } + + /// + /// After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + /// + [Input("retryDuration")] + public Input? RetryDuration { get; set; } + + /// + /// The ARN of the IAM role. + /// + [Input("roleArn", required: true)] + public Input RoleArn { get; set; } = null!; + + /// + /// The S3 backup mode. + /// + [Input("s3BackupMode")] + public Input? S3BackupMode { get; set; } + + /// + /// The S3 configuration. See `s3_configuration` block below for details. + /// + [Input("s3Configuration", required: true)] + public Input S3Configuration { get; set; } = null!; + + /// + /// The Snowflake schema name. + /// + [Input("schema", required: true)] + public Input Schema { get; set; } = null!; + + /// + /// The configuration for Snowflake role. + /// + [Input("snowflakeRoleConfiguration")] + public Input? SnowflakeRoleConfiguration { get; set; } + + /// + /// The VPC configuration for Snowflake. + /// + [Input("snowflakeVpcConfiguration")] + public Input? SnowflakeVpcConfiguration { get; set; } + + /// + /// The Snowflake table name. + /// + [Input("table", required: true)] + public Input Table { get; set; } = null!; + + /// + /// The user for authentication. + /// + [Input("user", required: true)] + public Input User { get; set; } = null!; + + public FirehoseDeliveryStreamSnowflakeConfigurationGetArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationGetArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs.cs new file mode 100644 index 00000000000..f44c99d9fe7 --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs.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.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Enables or disables data processing. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + [Input("processors")] + private InputList? _processors; + + /// + /// Specifies the data processors as multiple blocks. See `processors` block below for details. + /// + public InputList Processors + { + get => _processors ?? (_processors = new InputList()); + set => _processors = value; + } + + public FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationGetArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationGetArgs.cs new file mode 100644 index 00000000000..58d205c68f3 --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationGetArgs.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.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Enables or disables data processing. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + [Input("processors")] + private InputList? _processors; + + /// + /// Specifies the data processors as multiple blocks. See `processors` block below for details. + /// + public InputList Processors + { + get => _processors ?? (_processors = new InputList()); + set => _processors = value; + } + + public FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationGetArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationGetArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs.cs new file mode 100644 index 00000000000..a6dca8a5463 --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs.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.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs : global::Pulumi.ResourceArgs + { + [Input("parameters")] + private InputList? _parameters; + + /// + /// Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + /// + public InputList Parameters + { + get => _parameters ?? (_parameters = new InputList()); + set => _parameters = value; + } + + /// + /// The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorGetArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorGetArgs.cs new file mode 100644 index 00000000000..1b0abee7367 --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorGetArgs.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.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorGetArgs : global::Pulumi.ResourceArgs + { + [Input("parameters")] + private InputList? _parameters; + + /// + /// Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + /// + public InputList Parameters + { + get => _parameters ?? (_parameters = new InputList()); + set => _parameters = value; + } + + /// + /// The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorGetArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorGetArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorGetArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs.cs new file mode 100644 index 00000000000..0e53aed81fa --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs.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.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs : global::Pulumi.ResourceArgs + { + /// + /// Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + /// + [Input("parameterName", required: true)] + public Input ParameterName { get; set; } = null!; + + /// + /// Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + /// + /// > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + /// + [Input("parameterValue", required: true)] + public Input ParameterValue { get; set; } = null!; + + public FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterGetArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterGetArgs.cs new file mode 100644 index 00000000000..204d68e1f0e --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterGetArgs.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.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + /// + [Input("parameterName", required: true)] + public Input ParameterName { get; set; } = null!; + + /// + /// Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + /// + /// > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + /// + [Input("parameterValue", required: true)] + public Input ParameterValue { get; set; } = null!; + + public FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterGetArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterGetArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterGetArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs.cs new file mode 100644 index 00000000000..0f7c41ec048 --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs.cs @@ -0,0 +1,76 @@ +// *** WARNING: this file 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.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the S3 bucket + /// + [Input("bucketArn", required: true)] + public Input BucketArn { get; set; } = null!; + + /// + /// Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + /// + [Input("bufferingInterval")] + public Input? BufferingInterval { get; set; } + + /// + /// Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + /// We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + /// + [Input("bufferingSize")] + public Input? BufferingSize { get; set; } + + /// + /// The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + /// + [Input("cloudwatchLoggingOptions")] + public Input? CloudwatchLoggingOptions { get; set; } + + /// + /// The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + /// + [Input("compressionFormat")] + public Input? CompressionFormat { get; set; } + + /// + /// Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + /// + [Input("errorOutputPrefix")] + public Input? ErrorOutputPrefix { get; set; } + + /// + /// Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + /// be used. + /// + [Input("kmsKeyArn")] + public Input? KmsKeyArn { get; set; } + + /// + /// The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + /// + [Input("prefix")] + public Input? Prefix { get; set; } + + /// + /// The ARN of the AWS credentials. + /// + [Input("roleArn", required: true)] + public Input RoleArn { get; set; } = null!; + + public FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs.cs new file mode 100644 index 00000000000..99e199eb70d --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs.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.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// Enables or disables the logging. Defaults to `false`. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// The CloudWatch group name for logging. This value is required if `enabled` is true. + /// + [Input("logGroupName")] + public Input? LogGroupName { get; set; } + + /// + /// The CloudWatch log stream name for logging. This value is required if `enabled` is true. + /// + [Input("logStreamName")] + public Input? LogStreamName { get; set; } + + public FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsGetArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsGetArgs.cs new file mode 100644 index 00000000000..edfb8920c68 --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsGetArgs.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.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Enables or disables the logging. Defaults to `false`. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// The CloudWatch group name for logging. This value is required if `enabled` is true. + /// + [Input("logGroupName")] + public Input? LogGroupName { get; set; } + + /// + /// The CloudWatch log stream name for logging. This value is required if `enabled` is true. + /// + [Input("logStreamName")] + public Input? LogStreamName { get; set; } + + public FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsGetArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsGetArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationGetArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationGetArgs.cs new file mode 100644 index 00000000000..ddf97726cee --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationGetArgs.cs @@ -0,0 +1,76 @@ +// *** WARNING: this file 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.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the S3 bucket + /// + [Input("bucketArn", required: true)] + public Input BucketArn { get; set; } = null!; + + /// + /// Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + /// + [Input("bufferingInterval")] + public Input? BufferingInterval { get; set; } + + /// + /// Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + /// We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + /// + [Input("bufferingSize")] + public Input? BufferingSize { get; set; } + + /// + /// The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + /// + [Input("cloudwatchLoggingOptions")] + public Input? CloudwatchLoggingOptions { get; set; } + + /// + /// The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + /// + [Input("compressionFormat")] + public Input? CompressionFormat { get; set; } + + /// + /// Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + /// + [Input("errorOutputPrefix")] + public Input? ErrorOutputPrefix { get; set; } + + /// + /// Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + /// be used. + /// + [Input("kmsKeyArn")] + public Input? KmsKeyArn { get; set; } + + /// + /// The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + /// + [Input("prefix")] + public Input? Prefix { get; set; } + + /// + /// The ARN of the AWS credentials. + /// + [Input("roleArn", required: true)] + public Input RoleArn { get; set; } = null!; + + public FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationGetArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationGetArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs.cs new file mode 100644 index 00000000000..ccef7de2db4 --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether the Snowflake role is enabled. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// The Snowflake role. + /// + [Input("snowflakeRole")] + public Input? SnowflakeRole { get; set; } + + public FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationGetArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationGetArgs.cs new file mode 100644 index 00000000000..6497cd7e6b6 --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Whether the Snowflake role is enabled. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// The Snowflake role. + /// + [Input("snowflakeRole")] + public Input? SnowflakeRole { get; set; } + + public FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationGetArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationGetArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs.cs new file mode 100644 index 00000000000..d27021abfb9 --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// The VPCE ID for Firehose to privately connect with Snowflake. + /// + [Input("privateLinkVpceId", required: true)] + public Input PrivateLinkVpceId { get; set; } = null!; + + public FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationGetArgs.cs b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationGetArgs.cs new file mode 100644 index 00000000000..213be1efa59 --- /dev/null +++ b/sdk/dotnet/Kinesis/Inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Kinesis.Inputs +{ + + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The VPCE ID for Firehose to privately connect with Snowflake. + /// + [Input("privateLinkVpceId", required: true)] + public Input PrivateLinkVpceId { get; set; } = null!; + + public FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationGetArgs() + { + } + public static new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationGetArgs Empty => new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfiguration.cs b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfiguration.cs new file mode 100644 index 00000000000..0ed2caaaf9c --- /dev/null +++ b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfiguration.cs @@ -0,0 +1,147 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Kinesis.Outputs +{ + + [OutputType] + public sealed class FirehoseDeliveryStreamSnowflakeConfiguration + { + /// + /// The URL of the Snowflake account. Format: https://[account_identifier].snowflakecomputing.com. + /// + public readonly string AccountUrl; + /// + /// The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + /// + public readonly Outputs.FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions? CloudwatchLoggingOptions; + /// + /// The name of the content column. + /// + public readonly string? ContentColumnName; + /// + /// The data loading option. + /// + public readonly string? DataLoadingOption; + /// + /// The Snowflake database name. + /// + public readonly string Database; + /// + /// The passphrase for the private key. + /// + public readonly string? KeyPassphrase; + /// + /// The name of the metadata column. + /// + public readonly string? MetadataColumnName; + /// + /// The private key for authentication. + /// + public readonly string PrivateKey; + /// + /// The processing configuration. See `processing_configuration` block below for details. + /// + public readonly Outputs.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration? ProcessingConfiguration; + /// + /// After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + /// + public readonly int? RetryDuration; + /// + /// The ARN of the IAM role. + /// + public readonly string RoleArn; + /// + /// The S3 backup mode. + /// + public readonly string? S3BackupMode; + /// + /// The S3 configuration. See `s3_configuration` block below for details. + /// + public readonly Outputs.FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration S3Configuration; + /// + /// The Snowflake schema name. + /// + public readonly string Schema; + /// + /// The configuration for Snowflake role. + /// + public readonly Outputs.FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration? SnowflakeRoleConfiguration; + /// + /// The VPC configuration for Snowflake. + /// + public readonly Outputs.FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration? SnowflakeVpcConfiguration; + /// + /// The Snowflake table name. + /// + public readonly string Table; + /// + /// The user for authentication. + /// + public readonly string User; + + [OutputConstructor] + private FirehoseDeliveryStreamSnowflakeConfiguration( + string accountUrl, + + Outputs.FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions? cloudwatchLoggingOptions, + + string? contentColumnName, + + string? dataLoadingOption, + + string database, + + string? keyPassphrase, + + string? metadataColumnName, + + string privateKey, + + Outputs.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration? processingConfiguration, + + int? retryDuration, + + string roleArn, + + string? s3BackupMode, + + Outputs.FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration s3Configuration, + + string schema, + + Outputs.FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration? snowflakeRoleConfiguration, + + Outputs.FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration? snowflakeVpcConfiguration, + + string table, + + string user) + { + AccountUrl = accountUrl; + CloudwatchLoggingOptions = cloudwatchLoggingOptions; + ContentColumnName = contentColumnName; + DataLoadingOption = dataLoadingOption; + Database = database; + KeyPassphrase = keyPassphrase; + MetadataColumnName = metadataColumnName; + PrivateKey = privateKey; + ProcessingConfiguration = processingConfiguration; + RetryDuration = retryDuration; + RoleArn = roleArn; + S3BackupMode = s3BackupMode; + S3Configuration = s3Configuration; + Schema = schema; + SnowflakeRoleConfiguration = snowflakeRoleConfiguration; + SnowflakeVpcConfiguration = snowflakeVpcConfiguration; + Table = table; + User = user; + } + } +} diff --git a/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions.cs b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions.cs new file mode 100644 index 00000000000..fd10d0038f0 --- /dev/null +++ b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions.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.Kinesis.Outputs +{ + + [OutputType] + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions + { + /// + /// Enables or disables the logging. Defaults to `false`. + /// + public readonly bool? Enabled; + /// + /// The CloudWatch group name for logging. This value is required if `enabled` is true. + /// + public readonly string? LogGroupName; + /// + /// The CloudWatch log stream name for logging. This value is required if `enabled` is true. + /// + public readonly string? LogStreamName; + + [OutputConstructor] + private FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions( + bool? enabled, + + string? logGroupName, + + string? logStreamName) + { + Enabled = enabled; + LogGroupName = logGroupName; + LogStreamName = logStreamName; + } + } +} diff --git a/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration.cs b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration.cs new file mode 100644 index 00000000000..99e60d78c1e --- /dev/null +++ b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Kinesis.Outputs +{ + + [OutputType] + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration + { + /// + /// Enables or disables data processing. + /// + public readonly bool? Enabled; + /// + /// Specifies the data processors as multiple blocks. See `processors` block below for details. + /// + public readonly ImmutableArray Processors; + + [OutputConstructor] + private FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration( + bool? enabled, + + ImmutableArray processors) + { + Enabled = enabled; + Processors = processors; + } + } +} diff --git a/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor.cs b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor.cs new file mode 100644 index 00000000000..78448417004 --- /dev/null +++ b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Kinesis.Outputs +{ + + [OutputType] + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor + { + /// + /// Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + /// + public readonly ImmutableArray Parameters; + /// + /// The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + /// + public readonly string Type; + + [OutputConstructor] + private FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor( + ImmutableArray parameters, + + string type) + { + Parameters = parameters; + Type = type; + } + } +} diff --git a/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter.cs b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter.cs new file mode 100644 index 00000000000..5b5ef04bf8a --- /dev/null +++ b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter.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.Kinesis.Outputs +{ + + [OutputType] + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter + { + /// + /// Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + /// + public readonly string ParameterName; + /// + /// Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + /// + /// > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + /// + public readonly string ParameterValue; + + [OutputConstructor] + private FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter( + string parameterName, + + string parameterValue) + { + ParameterName = parameterName; + ParameterValue = parameterValue; + } + } +} diff --git a/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration.cs b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration.cs new file mode 100644 index 00000000000..4be3130bb5a --- /dev/null +++ b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration.cs @@ -0,0 +1,86 @@ +// *** WARNING: this file 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.Kinesis.Outputs +{ + + [OutputType] + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration + { + /// + /// The ARN of the S3 bucket + /// + public readonly string BucketArn; + /// + /// Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + /// + public readonly int? BufferingInterval; + /// + /// Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + /// We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + /// + public readonly int? BufferingSize; + /// + /// The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + /// + public readonly Outputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions? CloudwatchLoggingOptions; + /// + /// The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + /// + public readonly string? CompressionFormat; + /// + /// Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + /// + public readonly string? ErrorOutputPrefix; + /// + /// Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + /// be used. + /// + public readonly string? KmsKeyArn; + /// + /// The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + /// + public readonly string? Prefix; + /// + /// The ARN of the AWS credentials. + /// + public readonly string RoleArn; + + [OutputConstructor] + private FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration( + string bucketArn, + + int? bufferingInterval, + + int? bufferingSize, + + Outputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions? cloudwatchLoggingOptions, + + string? compressionFormat, + + string? errorOutputPrefix, + + string? kmsKeyArn, + + string? prefix, + + string roleArn) + { + BucketArn = bucketArn; + BufferingInterval = bufferingInterval; + BufferingSize = bufferingSize; + CloudwatchLoggingOptions = cloudwatchLoggingOptions; + CompressionFormat = compressionFormat; + ErrorOutputPrefix = errorOutputPrefix; + KmsKeyArn = kmsKeyArn; + Prefix = prefix; + RoleArn = roleArn; + } + } +} diff --git a/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions.cs b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions.cs new file mode 100644 index 00000000000..7e7ebd5e412 --- /dev/null +++ b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions.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.Kinesis.Outputs +{ + + [OutputType] + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions + { + /// + /// Enables or disables the logging. Defaults to `false`. + /// + public readonly bool? Enabled; + /// + /// The CloudWatch group name for logging. This value is required if `enabled` is true. + /// + public readonly string? LogGroupName; + /// + /// The CloudWatch log stream name for logging. This value is required if `enabled` is true. + /// + public readonly string? LogStreamName; + + [OutputConstructor] + private FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions( + bool? enabled, + + string? logGroupName, + + string? logStreamName) + { + Enabled = enabled; + LogGroupName = logGroupName; + LogStreamName = logStreamName; + } + } +} diff --git a/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration.cs b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration.cs new file mode 100644 index 00000000000..ffbfbc8fc49 --- /dev/null +++ b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Kinesis.Outputs +{ + + [OutputType] + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration + { + /// + /// Whether the Snowflake role is enabled. + /// + public readonly bool? Enabled; + /// + /// The Snowflake role. + /// + public readonly string? SnowflakeRole; + + [OutputConstructor] + private FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration( + bool? enabled, + + string? snowflakeRole) + { + Enabled = enabled; + SnowflakeRole = snowflakeRole; + } + } +} diff --git a/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration.cs b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration.cs new file mode 100644 index 00000000000..632359746e8 --- /dev/null +++ b/sdk/dotnet/Kinesis/Outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration.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.Kinesis.Outputs +{ + + [OutputType] + public sealed class FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration + { + /// + /// The VPCE ID for Firehose to privately connect with Snowflake. + /// + public readonly string PrivateLinkVpceId; + + [OutputConstructor] + private FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration(string privateLinkVpceId) + { + PrivateLinkVpceId = privateLinkVpceId; + } + } +} diff --git a/sdk/dotnet/MemoryDb/GetUser.cs b/sdk/dotnet/MemoryDb/GetUser.cs index c650fad7979..f55e08aec3b 100644 --- a/sdk/dotnet/MemoryDb/GetUser.cs +++ b/sdk/dotnet/MemoryDb/GetUser.cs @@ -67,7 +67,7 @@ public sealed class GetUserArgs : global::Pulumi.InvokeArgs private Dictionary? _tags; /// - /// Map of tags assigned to the subnet group. + /// Map of tags assigned to the user. /// public Dictionary Tags { @@ -93,7 +93,7 @@ public sealed class GetUserInvokeArgs : global::Pulumi.InvokeArgs private InputMap? _tags; /// - /// Map of tags assigned to the subnet group. + /// Map of tags assigned to the user. /// public InputMap Tags { @@ -134,11 +134,11 @@ public sealed class GetUserResult /// public readonly string Id; /// - /// The minimum engine version supported for the user. + /// Minimum engine version supported for the user. /// public readonly string MinimumEngineVersion; /// - /// Map of tags assigned to the subnet group. + /// Map of tags assigned to the user. /// public readonly ImmutableDictionary Tags; public readonly string UserName; diff --git a/sdk/dotnet/MemoryDb/Inputs/UserAuthenticationModeArgs.cs b/sdk/dotnet/MemoryDb/Inputs/UserAuthenticationModeArgs.cs index 66c803e86c6..e772f6ec48c 100644 --- a/sdk/dotnet/MemoryDb/Inputs/UserAuthenticationModeArgs.cs +++ b/sdk/dotnet/MemoryDb/Inputs/UserAuthenticationModeArgs.cs @@ -13,16 +13,16 @@ namespace Pulumi.Aws.MemoryDb.Inputs public sealed class UserAuthenticationModeArgs : global::Pulumi.ResourceArgs { /// - /// The number of passwords belonging to the user. + /// Number of passwords belonging to the user if `type` is set to `password`. /// [Input("passwordCount")] public Input? PasswordCount { get; set; } - [Input("passwords", required: true)] + [Input("passwords")] private InputList? _passwords; /// - /// The set of passwords used for authentication. You can create up to two passwords for each user. + /// Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. /// public InputList Passwords { @@ -35,7 +35,7 @@ public InputList Passwords } /// - /// Indicates whether the user requires a password to authenticate. Must be set to `password`. + /// Specifies the authentication type. Valid values are: `password` or `iam`. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/MemoryDb/Inputs/UserAuthenticationModeGetArgs.cs b/sdk/dotnet/MemoryDb/Inputs/UserAuthenticationModeGetArgs.cs index b88373ccb80..e59396f50b7 100644 --- a/sdk/dotnet/MemoryDb/Inputs/UserAuthenticationModeGetArgs.cs +++ b/sdk/dotnet/MemoryDb/Inputs/UserAuthenticationModeGetArgs.cs @@ -13,16 +13,16 @@ namespace Pulumi.Aws.MemoryDb.Inputs public sealed class UserAuthenticationModeGetArgs : global::Pulumi.ResourceArgs { /// - /// The number of passwords belonging to the user. + /// Number of passwords belonging to the user if `type` is set to `password`. /// [Input("passwordCount")] public Input? PasswordCount { get; set; } - [Input("passwords", required: true)] + [Input("passwords")] private InputList? _passwords; /// - /// The set of passwords used for authentication. You can create up to two passwords for each user. + /// Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. /// public InputList Passwords { @@ -35,7 +35,7 @@ public InputList Passwords } /// - /// Indicates whether the user requires a password to authenticate. Must be set to `password`. + /// Specifies the authentication type. Valid values are: `password` or `iam`. /// [Input("type", required: true)] public Input Type { get; set; } = null!; diff --git a/sdk/dotnet/MemoryDb/Outputs/GetUserAuthenticationModeResult.cs b/sdk/dotnet/MemoryDb/Outputs/GetUserAuthenticationModeResult.cs index e88fde38de5..6ef838b234a 100644 --- a/sdk/dotnet/MemoryDb/Outputs/GetUserAuthenticationModeResult.cs +++ b/sdk/dotnet/MemoryDb/Outputs/GetUserAuthenticationModeResult.cs @@ -14,11 +14,11 @@ namespace Pulumi.Aws.MemoryDb.Outputs public sealed class GetUserAuthenticationModeResult { /// - /// The number of passwords belonging to the user. + /// Number of passwords belonging to the user if `type` is set to `password`. /// public readonly int PasswordCount; /// - /// Whether the user requires a password to authenticate. + /// Type of authentication configured. /// public readonly string Type; diff --git a/sdk/dotnet/MemoryDb/Outputs/UserAuthenticationMode.cs b/sdk/dotnet/MemoryDb/Outputs/UserAuthenticationMode.cs index 96c0ad81674..2561395ec6c 100644 --- a/sdk/dotnet/MemoryDb/Outputs/UserAuthenticationMode.cs +++ b/sdk/dotnet/MemoryDb/Outputs/UserAuthenticationMode.cs @@ -14,15 +14,15 @@ namespace Pulumi.Aws.MemoryDb.Outputs public sealed class UserAuthenticationMode { /// - /// The number of passwords belonging to the user. + /// Number of passwords belonging to the user if `type` is set to `password`. /// public readonly int? PasswordCount; /// - /// The set of passwords used for authentication. You can create up to two passwords for each user. + /// Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. /// public readonly ImmutableArray Passwords; /// - /// Indicates whether the user requires a password to authenticate. Must be set to `password`. + /// Specifies the authentication type. Valid values are: `password` or `iam`. /// public readonly string Type; diff --git a/sdk/dotnet/MemoryDb/User.cs b/sdk/dotnet/MemoryDb/User.cs index c12db07dd4c..e37ab0a440a 100644 --- a/sdk/dotnet/MemoryDb/User.cs +++ b/sdk/dotnet/MemoryDb/User.cs @@ -61,13 +61,13 @@ namespace Pulumi.Aws.MemoryDb public partial class User : global::Pulumi.CustomResource { /// - /// The access permissions string used for this user. + /// Access permissions string used for this user. /// [Output("accessString")] public Output AccessString { get; private set; } = null!; /// - /// The ARN of the user. + /// ARN of the user. /// [Output("arn")] public Output Arn { get; private set; } = null!; @@ -79,7 +79,7 @@ public partial class User : global::Pulumi.CustomResource public Output AuthenticationMode { get; private set; } = null!; /// - /// The minimum engine version supported for the user. + /// Minimum engine version supported for the user. /// [Output("minimumEngineVersion")] public Output MinimumEngineVersion { get; private set; } = null!; @@ -151,7 +151,7 @@ public static User Get(string name, Input id, UserState? state = null, C public sealed class UserArgs : global::Pulumi.ResourceArgs { /// - /// The access permissions string used for this user. + /// Access permissions string used for this user. /// [Input("accessString", required: true)] public Input AccessString { get; set; } = null!; @@ -191,13 +191,13 @@ public UserArgs() public sealed class UserState : global::Pulumi.ResourceArgs { /// - /// The access permissions string used for this user. + /// Access permissions string used for this user. /// [Input("accessString")] public Input? AccessString { get; set; } /// - /// The ARN of the user. + /// ARN of the user. /// [Input("arn")] public Input? Arn { get; set; } @@ -209,7 +209,7 @@ public sealed class UserState : global::Pulumi.ResourceArgs public Input? AuthenticationMode { get; set; } /// - /// The minimum engine version supported for the user. + /// Minimum engine version supported for the user. /// [Input("minimumEngineVersion")] public Input? MinimumEngineVersion { get; set; } diff --git a/sdk/dotnet/Rds/Instance.cs b/sdk/dotnet/Rds/Instance.cs index e587808e021..851a0d2f050 100644 --- a/sdk/dotnet/Rds/Instance.cs +++ b/sdk/dotnet/Rds/Instance.cs @@ -497,6 +497,12 @@ public partial class Instance : global::Pulumi.CustomResource [Output("dbSubnetGroupName")] public Output DbSubnetGroupName { get; private set; } = null!; + /// + /// Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + /// + [Output("dedicatedLogVolume")] + public Output DedicatedLogVolume { get; private set; } = null!; + /// /// Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. /// @@ -1079,6 +1085,12 @@ public sealed class InstanceArgs : global::Pulumi.ResourceArgs [Input("dbSubnetGroupName")] public Input? DbSubnetGroupName { get; set; } + /// + /// Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + /// + [Input("dedicatedLogVolume")] + public Input? DedicatedLogVolume { get; set; } + /// /// Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. /// @@ -1608,6 +1620,12 @@ public sealed class InstanceState : global::Pulumi.ResourceArgs [Input("dbSubnetGroupName")] public Input? DbSubnetGroupName { get; set; } + /// + /// Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + /// + [Input("dedicatedLogVolume")] + public Input? DedicatedLogVolume { get; set; } + /// /// Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. /// diff --git a/sdk/dotnet/Sagemaker/AppImageConfig.cs b/sdk/dotnet/Sagemaker/AppImageConfig.cs index 43bce471c1b..8a900e8fa0f 100644 --- a/sdk/dotnet/Sagemaker/AppImageConfig.cs +++ b/sdk/dotnet/Sagemaker/AppImageConfig.cs @@ -14,57 +14,6 @@ namespace Pulumi.Aws.Sagemaker /// /// ## Example Usage /// - /// ### Basic usage - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Aws = Pulumi.Aws; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var test = new Aws.Sagemaker.AppImageConfig("test", new() - /// { - /// AppImageConfigName = "example", - /// KernelGatewayImageConfig = new Aws.Sagemaker.Inputs.AppImageConfigKernelGatewayImageConfigArgs - /// { - /// KernelSpec = new Aws.Sagemaker.Inputs.AppImageConfigKernelGatewayImageConfigKernelSpecArgs - /// { - /// Name = "example", - /// }, - /// }, - /// }); - /// - /// }); - /// ``` - /// - /// ### Default File System Config - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Aws = Pulumi.Aws; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var test = new Aws.Sagemaker.AppImageConfig("test", new() - /// { - /// AppImageConfigName = "example", - /// KernelGatewayImageConfig = new Aws.Sagemaker.Inputs.AppImageConfigKernelGatewayImageConfigArgs - /// { - /// KernelSpec = new Aws.Sagemaker.Inputs.AppImageConfigKernelGatewayImageConfigKernelSpecArgs - /// { - /// Name = "example", - /// }, - /// FileSystemConfig = null, - /// }, - /// }); - /// - /// }); - /// ``` - /// /// ## Import /// /// Using `pulumi import`, import SageMaker App Image Configs using the `name`. For example: @@ -88,6 +37,15 @@ public partial class AppImageConfig : global::Pulumi.CustomResource [Output("arn")] public Output Arn { get; private set; } = null!; + /// + /// The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + /// + [Output("codeEditorAppImageConfig")] + public Output CodeEditorAppImageConfig { get; private set; } = null!; + + /// + /// The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + /// [Output("jupyterLabImageConfig")] public Output JupyterLabImageConfig { get; private set; } = null!; @@ -161,6 +119,15 @@ public sealed class AppImageConfigArgs : global::Pulumi.ResourceArgs [Input("appImageConfigName", required: true)] public Input AppImageConfigName { get; set; } = null!; + /// + /// The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + /// + [Input("codeEditorAppImageConfig")] + public Input? CodeEditorAppImageConfig { get; set; } + + /// + /// The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + /// [Input("jupyterLabImageConfig")] public Input? JupyterLabImageConfig { get; set; } @@ -202,6 +169,15 @@ public sealed class AppImageConfigState : global::Pulumi.ResourceArgs [Input("arn")] public Input? Arn { get; set; } + /// + /// The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + /// + [Input("codeEditorAppImageConfig")] + public Input? CodeEditorAppImageConfig { get; set; } + + /// + /// The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + /// [Input("jupyterLabImageConfig")] public Input? JupyterLabImageConfig { get; set; } diff --git a/sdk/dotnet/Sagemaker/Domain.cs b/sdk/dotnet/Sagemaker/Domain.cs index 7529820d010..f9306d745fe 100644 --- a/sdk/dotnet/Sagemaker/Domain.cs +++ b/sdk/dotnet/Sagemaker/Domain.cs @@ -74,69 +74,6 @@ namespace Pulumi.Aws.Sagemaker /// }); /// ``` /// - /// ### Using Custom Images - /// - /// ```csharp - /// using System.Collections.Generic; - /// using System.Linq; - /// using Pulumi; - /// using Aws = Pulumi.Aws; - /// - /// return await Deployment.RunAsync(() => - /// { - /// var example = new Aws.Sagemaker.Image("example", new() - /// { - /// ImageName = "example", - /// RoleArn = exampleAwsIamRole.Arn, - /// }); - /// - /// var exampleAppImageConfig = new Aws.Sagemaker.AppImageConfig("example", new() - /// { - /// AppImageConfigName = "example", - /// KernelGatewayImageConfig = new Aws.Sagemaker.Inputs.AppImageConfigKernelGatewayImageConfigArgs - /// { - /// KernelSpec = new Aws.Sagemaker.Inputs.AppImageConfigKernelGatewayImageConfigKernelSpecArgs - /// { - /// Name = "example", - /// }, - /// }, - /// }); - /// - /// var exampleImageVersion = new Aws.Sagemaker.ImageVersion("example", new() - /// { - /// ImageName = example.Id, - /// BaseImage = "base-image", - /// }); - /// - /// var exampleDomain = new Aws.Sagemaker.Domain("example", new() - /// { - /// DomainName = "example", - /// AuthMode = "IAM", - /// VpcId = exampleAwsVpc.Id, - /// SubnetIds = new[] - /// { - /// exampleAwsSubnet.Id, - /// }, - /// DefaultUserSettings = new Aws.Sagemaker.Inputs.DomainDefaultUserSettingsArgs - /// { - /// ExecutionRole = exampleAwsIamRole.Arn, - /// KernelGatewayAppSettings = new Aws.Sagemaker.Inputs.DomainDefaultUserSettingsKernelGatewayAppSettingsArgs - /// { - /// CustomImages = new[] - /// { - /// new Aws.Sagemaker.Inputs.DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs - /// { - /// AppImageConfigName = exampleAppImageConfig.AppImageConfigName, - /// ImageName = exampleImageVersion.ImageName, - /// }, - /// }, - /// }, - /// }, - /// }); - /// - /// }); - /// ``` - /// /// ## Import /// /// Using `pulumi import`, import SageMaker Domains using the `id`. For example: diff --git a/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigArgs.cs b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigArgs.cs new file mode 100644 index 00000000000..bc82f0bc064 --- /dev/null +++ b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Sagemaker.Inputs +{ + + public sealed class AppImageConfigCodeEditorAppImageConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The configuration used to run the application image container. See Container Config details below. + /// + [Input("containerConfig")] + public Input? ContainerConfig { get; set; } + + /// + /// The URL where the Git repository is located. See File System Config details below. + /// + [Input("fileSystemConfig")] + public Input? FileSystemConfig { get; set; } + + public AppImageConfigCodeEditorAppImageConfigArgs() + { + } + public static new AppImageConfigCodeEditorAppImageConfigArgs Empty => new AppImageConfigCodeEditorAppImageConfigArgs(); + } +} diff --git a/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigContainerConfigArgs.cs b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigContainerConfigArgs.cs new file mode 100644 index 00000000000..f061b1aacdd --- /dev/null +++ b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigContainerConfigArgs.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.Sagemaker.Inputs +{ + + public sealed class AppImageConfigCodeEditorAppImageConfigContainerConfigArgs : global::Pulumi.ResourceArgs + { + [Input("containerArguments")] + private InputList? _containerArguments; + + /// + /// The arguments for the container when you're running the application. + /// + public InputList ContainerArguments + { + get => _containerArguments ?? (_containerArguments = new InputList()); + set => _containerArguments = value; + } + + [Input("containerEntrypoints")] + private InputList? _containerEntrypoints; + + /// + /// The entrypoint used to run the application in the container. + /// + public InputList ContainerEntrypoints + { + get => _containerEntrypoints ?? (_containerEntrypoints = new InputList()); + set => _containerEntrypoints = value; + } + + [Input("containerEnvironmentVariables")] + private InputMap? _containerEnvironmentVariables; + + /// + /// The environment variables to set in the container. + /// + public InputMap ContainerEnvironmentVariables + { + get => _containerEnvironmentVariables ?? (_containerEnvironmentVariables = new InputMap()); + set => _containerEnvironmentVariables = value; + } + + public AppImageConfigCodeEditorAppImageConfigContainerConfigArgs() + { + } + public static new AppImageConfigCodeEditorAppImageConfigContainerConfigArgs Empty => new AppImageConfigCodeEditorAppImageConfigContainerConfigArgs(); + } +} diff --git a/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigContainerConfigGetArgs.cs b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigContainerConfigGetArgs.cs new file mode 100644 index 00000000000..3b40694b7f0 --- /dev/null +++ b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigContainerConfigGetArgs.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.Sagemaker.Inputs +{ + + public sealed class AppImageConfigCodeEditorAppImageConfigContainerConfigGetArgs : global::Pulumi.ResourceArgs + { + [Input("containerArguments")] + private InputList? _containerArguments; + + /// + /// The arguments for the container when you're running the application. + /// + public InputList ContainerArguments + { + get => _containerArguments ?? (_containerArguments = new InputList()); + set => _containerArguments = value; + } + + [Input("containerEntrypoints")] + private InputList? _containerEntrypoints; + + /// + /// The entrypoint used to run the application in the container. + /// + public InputList ContainerEntrypoints + { + get => _containerEntrypoints ?? (_containerEntrypoints = new InputList()); + set => _containerEntrypoints = value; + } + + [Input("containerEnvironmentVariables")] + private InputMap? _containerEnvironmentVariables; + + /// + /// The environment variables to set in the container. + /// + public InputMap ContainerEnvironmentVariables + { + get => _containerEnvironmentVariables ?? (_containerEnvironmentVariables = new InputMap()); + set => _containerEnvironmentVariables = value; + } + + public AppImageConfigCodeEditorAppImageConfigContainerConfigGetArgs() + { + } + public static new AppImageConfigCodeEditorAppImageConfigContainerConfigGetArgs Empty => new AppImageConfigCodeEditorAppImageConfigContainerConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs.cs b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs.cs new file mode 100644 index 00000000000..e50d6914694 --- /dev/null +++ b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file 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.Sagemaker.Inputs +{ + + public sealed class AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + /// + [Input("defaultGid")] + public Input? DefaultGid { get; set; } + + /// + /// The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + /// + [Input("defaultUid")] + public Input? DefaultUid { get; set; } + + /// + /// The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + /// + /// > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + /// + [Input("mountPath")] + public Input? MountPath { get; set; } + + public AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs() + { + } + public static new AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs Empty => new AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs(); + } +} diff --git a/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfigGetArgs.cs b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfigGetArgs.cs new file mode 100644 index 00000000000..f158e157bf2 --- /dev/null +++ b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfigGetArgs.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file 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.Sagemaker.Inputs +{ + + public sealed class AppImageConfigCodeEditorAppImageConfigFileSystemConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + /// + [Input("defaultGid")] + public Input? DefaultGid { get; set; } + + /// + /// The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + /// + [Input("defaultUid")] + public Input? DefaultUid { get; set; } + + /// + /// The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + /// + /// > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + /// + [Input("mountPath")] + public Input? MountPath { get; set; } + + public AppImageConfigCodeEditorAppImageConfigFileSystemConfigGetArgs() + { + } + public static new AppImageConfigCodeEditorAppImageConfigFileSystemConfigGetArgs Empty => new AppImageConfigCodeEditorAppImageConfigFileSystemConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigGetArgs.cs b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigGetArgs.cs new file mode 100644 index 00000000000..bc5746e3746 --- /dev/null +++ b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigCodeEditorAppImageConfigGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Sagemaker.Inputs +{ + + public sealed class AppImageConfigCodeEditorAppImageConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The configuration used to run the application image container. See Container Config details below. + /// + [Input("containerConfig")] + public Input? ContainerConfig { get; set; } + + /// + /// The URL where the Git repository is located. See File System Config details below. + /// + [Input("fileSystemConfig")] + public Input? FileSystemConfig { get; set; } + + public AppImageConfigCodeEditorAppImageConfigGetArgs() + { + } + public static new AppImageConfigCodeEditorAppImageConfigGetArgs Empty => new AppImageConfigCodeEditorAppImageConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigArgs.cs b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigArgs.cs index 9a3e29b8084..dbcbad4a523 100644 --- a/sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigArgs.cs +++ b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigArgs.cs @@ -18,6 +18,12 @@ public sealed class AppImageConfigJupyterLabImageConfigArgs : global::Pulumi.Res [Input("containerConfig")] public Input? ContainerConfig { get; set; } + /// + /// The URL where the Git repository is located. See File System Config details below. + /// + [Input("fileSystemConfig")] + public Input? FileSystemConfig { get; set; } + public AppImageConfigJupyterLabImageConfigArgs() { } diff --git a/sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigFileSystemConfigArgs.cs b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigFileSystemConfigArgs.cs new file mode 100644 index 00000000000..76b57b100f7 --- /dev/null +++ b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigFileSystemConfigArgs.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file 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.Sagemaker.Inputs +{ + + public sealed class AppImageConfigJupyterLabImageConfigFileSystemConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + /// + [Input("defaultGid")] + public Input? DefaultGid { get; set; } + + /// + /// The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + /// + [Input("defaultUid")] + public Input? DefaultUid { get; set; } + + /// + /// The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + /// + /// > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + /// + [Input("mountPath")] + public Input? MountPath { get; set; } + + public AppImageConfigJupyterLabImageConfigFileSystemConfigArgs() + { + } + public static new AppImageConfigJupyterLabImageConfigFileSystemConfigArgs Empty => new AppImageConfigJupyterLabImageConfigFileSystemConfigArgs(); + } +} diff --git a/sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigFileSystemConfigGetArgs.cs b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigFileSystemConfigGetArgs.cs new file mode 100644 index 00000000000..4ac20498b67 --- /dev/null +++ b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigFileSystemConfigGetArgs.cs @@ -0,0 +1,40 @@ +// *** WARNING: this file 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.Sagemaker.Inputs +{ + + public sealed class AppImageConfigJupyterLabImageConfigFileSystemConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + /// + [Input("defaultGid")] + public Input? DefaultGid { get; set; } + + /// + /// The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + /// + [Input("defaultUid")] + public Input? DefaultUid { get; set; } + + /// + /// The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + /// + /// > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + /// + [Input("mountPath")] + public Input? MountPath { get; set; } + + public AppImageConfigJupyterLabImageConfigFileSystemConfigGetArgs() + { + } + public static new AppImageConfigJupyterLabImageConfigFileSystemConfigGetArgs Empty => new AppImageConfigJupyterLabImageConfigFileSystemConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigGetArgs.cs b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigGetArgs.cs index cc7aa5868c0..35e2e8c429f 100644 --- a/sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigGetArgs.cs +++ b/sdk/dotnet/Sagemaker/Inputs/AppImageConfigJupyterLabImageConfigGetArgs.cs @@ -18,6 +18,12 @@ public sealed class AppImageConfigJupyterLabImageConfigGetArgs : global::Pulumi. [Input("containerConfig")] public Input? ContainerConfig { get; set; } + /// + /// The URL where the Git repository is located. See File System Config details below. + /// + [Input("fileSystemConfig")] + public Input? FileSystemConfig { get; set; } + public AppImageConfigJupyterLabImageConfigGetArgs() { } diff --git a/sdk/dotnet/Sagemaker/Outputs/AppImageConfigCodeEditorAppImageConfig.cs b/sdk/dotnet/Sagemaker/Outputs/AppImageConfigCodeEditorAppImageConfig.cs new file mode 100644 index 00000000000..e69ebfe5d04 --- /dev/null +++ b/sdk/dotnet/Sagemaker/Outputs/AppImageConfigCodeEditorAppImageConfig.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Sagemaker.Outputs +{ + + [OutputType] + public sealed class AppImageConfigCodeEditorAppImageConfig + { + /// + /// The configuration used to run the application image container. See Container Config details below. + /// + public readonly Outputs.AppImageConfigCodeEditorAppImageConfigContainerConfig? ContainerConfig; + /// + /// The URL where the Git repository is located. See File System Config details below. + /// + public readonly Outputs.AppImageConfigCodeEditorAppImageConfigFileSystemConfig? FileSystemConfig; + + [OutputConstructor] + private AppImageConfigCodeEditorAppImageConfig( + Outputs.AppImageConfigCodeEditorAppImageConfigContainerConfig? containerConfig, + + Outputs.AppImageConfigCodeEditorAppImageConfigFileSystemConfig? fileSystemConfig) + { + ContainerConfig = containerConfig; + FileSystemConfig = fileSystemConfig; + } + } +} diff --git a/sdk/dotnet/Sagemaker/Outputs/AppImageConfigCodeEditorAppImageConfigContainerConfig.cs b/sdk/dotnet/Sagemaker/Outputs/AppImageConfigCodeEditorAppImageConfigContainerConfig.cs new file mode 100644 index 00000000000..184e754f47f --- /dev/null +++ b/sdk/dotnet/Sagemaker/Outputs/AppImageConfigCodeEditorAppImageConfigContainerConfig.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.Sagemaker.Outputs +{ + + [OutputType] + public sealed class AppImageConfigCodeEditorAppImageConfigContainerConfig + { + /// + /// The arguments for the container when you're running the application. + /// + public readonly ImmutableArray ContainerArguments; + /// + /// The entrypoint used to run the application in the container. + /// + public readonly ImmutableArray ContainerEntrypoints; + /// + /// The environment variables to set in the container. + /// + public readonly ImmutableDictionary? ContainerEnvironmentVariables; + + [OutputConstructor] + private AppImageConfigCodeEditorAppImageConfigContainerConfig( + ImmutableArray containerArguments, + + ImmutableArray containerEntrypoints, + + ImmutableDictionary? containerEnvironmentVariables) + { + ContainerArguments = containerArguments; + ContainerEntrypoints = containerEntrypoints; + ContainerEnvironmentVariables = containerEnvironmentVariables; + } + } +} diff --git a/sdk/dotnet/Sagemaker/Outputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfig.cs b/sdk/dotnet/Sagemaker/Outputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfig.cs new file mode 100644 index 00000000000..c6b8628e875 --- /dev/null +++ b/sdk/dotnet/Sagemaker/Outputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfig.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file 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.Sagemaker.Outputs +{ + + [OutputType] + public sealed class AppImageConfigCodeEditorAppImageConfigFileSystemConfig + { + /// + /// The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + /// + public readonly int? DefaultGid; + /// + /// The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + /// + public readonly int? DefaultUid; + /// + /// The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + /// + /// > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + /// + public readonly string? MountPath; + + [OutputConstructor] + private AppImageConfigCodeEditorAppImageConfigFileSystemConfig( + int? defaultGid, + + int? defaultUid, + + string? mountPath) + { + DefaultGid = defaultGid; + DefaultUid = defaultUid; + MountPath = mountPath; + } + } +} diff --git a/sdk/dotnet/Sagemaker/Outputs/AppImageConfigJupyterLabImageConfig.cs b/sdk/dotnet/Sagemaker/Outputs/AppImageConfigJupyterLabImageConfig.cs index 4ad34d6ecc5..f6f9cf95f37 100644 --- a/sdk/dotnet/Sagemaker/Outputs/AppImageConfigJupyterLabImageConfig.cs +++ b/sdk/dotnet/Sagemaker/Outputs/AppImageConfigJupyterLabImageConfig.cs @@ -17,11 +17,19 @@ public sealed class AppImageConfigJupyterLabImageConfig /// The configuration used to run the application image container. See Container Config details below. /// public readonly Outputs.AppImageConfigJupyterLabImageConfigContainerConfig? ContainerConfig; + /// + /// The URL where the Git repository is located. See File System Config details below. + /// + public readonly Outputs.AppImageConfigJupyterLabImageConfigFileSystemConfig? FileSystemConfig; [OutputConstructor] - private AppImageConfigJupyterLabImageConfig(Outputs.AppImageConfigJupyterLabImageConfigContainerConfig? containerConfig) + private AppImageConfigJupyterLabImageConfig( + Outputs.AppImageConfigJupyterLabImageConfigContainerConfig? containerConfig, + + Outputs.AppImageConfigJupyterLabImageConfigFileSystemConfig? fileSystemConfig) { ContainerConfig = containerConfig; + FileSystemConfig = fileSystemConfig; } } } diff --git a/sdk/dotnet/Sagemaker/Outputs/AppImageConfigJupyterLabImageConfigFileSystemConfig.cs b/sdk/dotnet/Sagemaker/Outputs/AppImageConfigJupyterLabImageConfigFileSystemConfig.cs new file mode 100644 index 00000000000..e1a9a718e0d --- /dev/null +++ b/sdk/dotnet/Sagemaker/Outputs/AppImageConfigJupyterLabImageConfigFileSystemConfig.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file 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.Sagemaker.Outputs +{ + + [OutputType] + public sealed class AppImageConfigJupyterLabImageConfigFileSystemConfig + { + /// + /// The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + /// + public readonly int? DefaultGid; + /// + /// The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + /// + public readonly int? DefaultUid; + /// + /// The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + /// + /// > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + /// + public readonly string? MountPath; + + [OutputConstructor] + private AppImageConfigJupyterLabImageConfigFileSystemConfig( + int? defaultGid, + + int? defaultUid, + + string? mountPath) + { + DefaultGid = defaultGid; + DefaultUid = defaultUid; + MountPath = mountPath; + } + } +} diff --git a/sdk/dotnet/Transfer/Server.cs b/sdk/dotnet/Transfer/Server.cs index 33633c5768a..49e66babb3c 100644 --- a/sdk/dotnet/Transfer/Server.cs +++ b/sdk/dotnet/Transfer/Server.cs @@ -369,6 +369,12 @@ public partial class Server : global::Pulumi.CustomResource [Output("securityPolicyName")] public Output SecurityPolicyName { get; private set; } = null!; + /// + /// For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + /// + [Output("sftpAuthenticationMethods")] + public Output SftpAuthenticationMethods { get; private set; } = null!; + /// /// A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. /// @@ -599,6 +605,12 @@ public InputList Protocols [Input("securityPolicyName")] public Input? SecurityPolicyName { get; set; } + /// + /// For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + /// + [Input("sftpAuthenticationMethods")] + public Input? SftpAuthenticationMethods { get; set; } + [Input("structuredLogDestinations")] private InputList? _structuredLogDestinations; @@ -809,6 +821,12 @@ public InputList Protocols [Input("securityPolicyName")] public Input? SecurityPolicyName { get; set; } + /// + /// For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + /// + [Input("sftpAuthenticationMethods")] + public Input? SftpAuthenticationMethods { get; set; } + [Input("structuredLogDestinations")] private InputList? _structuredLogDestinations; diff --git a/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionArgs.cs b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionArgs.cs new file mode 100644 index 00000000000..37df47084ce --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.VerifiedPermissions.Inputs +{ + + public sealed class PolicyDefinitionArgs : global::Pulumi.ResourceArgs + { + /// + /// The static policy statement. See Static below. + /// + [Input("static")] + public Input? Static { get; set; } + + /// + /// The template linked policy. See Template Linked below. + /// + [Input("templateLinked")] + public Input? TemplateLinked { get; set; } + + public PolicyDefinitionArgs() + { + } + public static new PolicyDefinitionArgs Empty => new PolicyDefinitionArgs(); + } +} diff --git a/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionGetArgs.cs b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionGetArgs.cs new file mode 100644 index 00000000000..6cfabaf5895 --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.VerifiedPermissions.Inputs +{ + + public sealed class PolicyDefinitionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The static policy statement. See Static below. + /// + [Input("static")] + public Input? Static { get; set; } + + /// + /// The template linked policy. See Template Linked below. + /// + [Input("templateLinked")] + public Input? TemplateLinked { get; set; } + + public PolicyDefinitionGetArgs() + { + } + public static new PolicyDefinitionGetArgs Empty => new PolicyDefinitionGetArgs(); + } +} diff --git a/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionStaticArgs.cs b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionStaticArgs.cs new file mode 100644 index 00000000000..d60f9b746f0 --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionStaticArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.VerifiedPermissions.Inputs +{ + + public sealed class PolicyDefinitionStaticArgs : global::Pulumi.ResourceArgs + { + /// + /// The description of the static policy. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The statement of the static policy. + /// + [Input("statement", required: true)] + public Input Statement { get; set; } = null!; + + public PolicyDefinitionStaticArgs() + { + } + public static new PolicyDefinitionStaticArgs Empty => new PolicyDefinitionStaticArgs(); + } +} diff --git a/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionStaticGetArgs.cs b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionStaticGetArgs.cs new file mode 100644 index 00000000000..ac94f4b4777 --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionStaticGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.VerifiedPermissions.Inputs +{ + + public sealed class PolicyDefinitionStaticGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The description of the static policy. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The statement of the static policy. + /// + [Input("statement", required: true)] + public Input Statement { get; set; } = null!; + + public PolicyDefinitionStaticGetArgs() + { + } + public static new PolicyDefinitionStaticGetArgs Empty => new PolicyDefinitionStaticGetArgs(); + } +} diff --git a/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedArgs.cs b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedArgs.cs new file mode 100644 index 00000000000..e4c4cbfd1ab --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedArgs.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.VerifiedPermissions.Inputs +{ + + public sealed class PolicyDefinitionTemplateLinkedArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the template. + /// + [Input("policyTemplateId", required: true)] + public Input PolicyTemplateId { get; set; } = null!; + + /// + /// The principal of the template linked policy. + /// + [Input("principal")] + public Input? Principal { get; set; } + + /// + /// The resource of the template linked policy. + /// + [Input("resource")] + public Input? Resource { get; set; } + + public PolicyDefinitionTemplateLinkedArgs() + { + } + public static new PolicyDefinitionTemplateLinkedArgs Empty => new PolicyDefinitionTemplateLinkedArgs(); + } +} diff --git a/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedGetArgs.cs b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedGetArgs.cs new file mode 100644 index 00000000000..8b9729cf0a0 --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedGetArgs.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.VerifiedPermissions.Inputs +{ + + public sealed class PolicyDefinitionTemplateLinkedGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ID of the template. + /// + [Input("policyTemplateId", required: true)] + public Input PolicyTemplateId { get; set; } = null!; + + /// + /// The principal of the template linked policy. + /// + [Input("principal")] + public Input? Principal { get; set; } + + /// + /// The resource of the template linked policy. + /// + [Input("resource")] + public Input? Resource { get; set; } + + public PolicyDefinitionTemplateLinkedGetArgs() + { + } + public static new PolicyDefinitionTemplateLinkedGetArgs Empty => new PolicyDefinitionTemplateLinkedGetArgs(); + } +} diff --git a/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedPrincipalArgs.cs b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedPrincipalArgs.cs new file mode 100644 index 00000000000..2a87a732643 --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedPrincipalArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.VerifiedPermissions.Inputs +{ + + public sealed class PolicyDefinitionTemplateLinkedPrincipalArgs : global::Pulumi.ResourceArgs + { + /// + /// The entity ID of the principal. + /// + [Input("entityId", required: true)] + public Input EntityId { get; set; } = null!; + + /// + /// The entity type of the principal. + /// + [Input("entityType", required: true)] + public Input EntityType { get; set; } = null!; + + public PolicyDefinitionTemplateLinkedPrincipalArgs() + { + } + public static new PolicyDefinitionTemplateLinkedPrincipalArgs Empty => new PolicyDefinitionTemplateLinkedPrincipalArgs(); + } +} diff --git a/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedPrincipalGetArgs.cs b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedPrincipalGetArgs.cs new file mode 100644 index 00000000000..5380a7d872b --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedPrincipalGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.VerifiedPermissions.Inputs +{ + + public sealed class PolicyDefinitionTemplateLinkedPrincipalGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The entity ID of the principal. + /// + [Input("entityId", required: true)] + public Input EntityId { get; set; } = null!; + + /// + /// The entity type of the principal. + /// + [Input("entityType", required: true)] + public Input EntityType { get; set; } = null!; + + public PolicyDefinitionTemplateLinkedPrincipalGetArgs() + { + } + public static new PolicyDefinitionTemplateLinkedPrincipalGetArgs Empty => new PolicyDefinitionTemplateLinkedPrincipalGetArgs(); + } +} diff --git a/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedResourceArgs.cs b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedResourceArgs.cs new file mode 100644 index 00000000000..2c0a046fec8 --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedResourceArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.VerifiedPermissions.Inputs +{ + + public sealed class PolicyDefinitionTemplateLinkedResourceArgs : global::Pulumi.ResourceArgs + { + /// + /// The entity ID of the resource. + /// + [Input("entityId", required: true)] + public Input EntityId { get; set; } = null!; + + /// + /// The entity type of the resource. + /// + [Input("entityType", required: true)] + public Input EntityType { get; set; } = null!; + + public PolicyDefinitionTemplateLinkedResourceArgs() + { + } + public static new PolicyDefinitionTemplateLinkedResourceArgs Empty => new PolicyDefinitionTemplateLinkedResourceArgs(); + } +} diff --git a/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedResourceGetArgs.cs b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedResourceGetArgs.cs new file mode 100644 index 00000000000..bd4709b520d --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Inputs/PolicyDefinitionTemplateLinkedResourceGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.VerifiedPermissions.Inputs +{ + + public sealed class PolicyDefinitionTemplateLinkedResourceGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The entity ID of the resource. + /// + [Input("entityId", required: true)] + public Input EntityId { get; set; } = null!; + + /// + /// The entity type of the resource. + /// + [Input("entityType", required: true)] + public Input EntityType { get; set; } = null!; + + public PolicyDefinitionTemplateLinkedResourceGetArgs() + { + } + public static new PolicyDefinitionTemplateLinkedResourceGetArgs Empty => new PolicyDefinitionTemplateLinkedResourceGetArgs(); + } +} diff --git a/sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinition.cs b/sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinition.cs new file mode 100644 index 00000000000..000a3c5d853 --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinition.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.VerifiedPermissions.Outputs +{ + + [OutputType] + public sealed class PolicyDefinition + { + /// + /// The static policy statement. See Static below. + /// + public readonly Outputs.PolicyDefinitionStatic? Static; + /// + /// The template linked policy. See Template Linked below. + /// + public readonly Outputs.PolicyDefinitionTemplateLinked? TemplateLinked; + + [OutputConstructor] + private PolicyDefinition( + Outputs.PolicyDefinitionStatic? @static, + + Outputs.PolicyDefinitionTemplateLinked? templateLinked) + { + Static = @static; + TemplateLinked = templateLinked; + } + } +} diff --git a/sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionStatic.cs b/sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionStatic.cs new file mode 100644 index 00000000000..42f112ff8d0 --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionStatic.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.VerifiedPermissions.Outputs +{ + + [OutputType] + public sealed class PolicyDefinitionStatic + { + /// + /// The description of the static policy. + /// + public readonly string? Description; + /// + /// The statement of the static policy. + /// + public readonly string Statement; + + [OutputConstructor] + private PolicyDefinitionStatic( + string? description, + + string statement) + { + Description = description; + Statement = statement; + } + } +} diff --git a/sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionTemplateLinked.cs b/sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionTemplateLinked.cs new file mode 100644 index 00000000000..f7724134fa2 --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionTemplateLinked.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.VerifiedPermissions.Outputs +{ + + [OutputType] + public sealed class PolicyDefinitionTemplateLinked + { + /// + /// The ID of the template. + /// + public readonly string PolicyTemplateId; + /// + /// The principal of the template linked policy. + /// + public readonly Outputs.PolicyDefinitionTemplateLinkedPrincipal? Principal; + /// + /// The resource of the template linked policy. + /// + public readonly Outputs.PolicyDefinitionTemplateLinkedResource? Resource; + + [OutputConstructor] + private PolicyDefinitionTemplateLinked( + string policyTemplateId, + + Outputs.PolicyDefinitionTemplateLinkedPrincipal? principal, + + Outputs.PolicyDefinitionTemplateLinkedResource? resource) + { + PolicyTemplateId = policyTemplateId; + Principal = principal; + Resource = resource; + } + } +} diff --git a/sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionTemplateLinkedPrincipal.cs b/sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionTemplateLinkedPrincipal.cs new file mode 100644 index 00000000000..84c4cf904ea --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionTemplateLinkedPrincipal.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.VerifiedPermissions.Outputs +{ + + [OutputType] + public sealed class PolicyDefinitionTemplateLinkedPrincipal + { + /// + /// The entity ID of the principal. + /// + public readonly string EntityId; + /// + /// The entity type of the principal. + /// + public readonly string EntityType; + + [OutputConstructor] + private PolicyDefinitionTemplateLinkedPrincipal( + string entityId, + + string entityType) + { + EntityId = entityId; + EntityType = entityType; + } + } +} diff --git a/sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionTemplateLinkedResource.cs b/sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionTemplateLinkedResource.cs new file mode 100644 index 00000000000..2f954a216bf --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Outputs/PolicyDefinitionTemplateLinkedResource.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.VerifiedPermissions.Outputs +{ + + [OutputType] + public sealed class PolicyDefinitionTemplateLinkedResource + { + /// + /// The entity ID of the resource. + /// + public readonly string EntityId; + /// + /// The entity type of the resource. + /// + public readonly string EntityType; + + [OutputConstructor] + private PolicyDefinitionTemplateLinkedResource( + string entityId, + + string entityType) + { + EntityId = entityId; + EntityType = entityType; + } + } +} diff --git a/sdk/dotnet/VerifiedPermissions/Policy.cs b/sdk/dotnet/VerifiedPermissions/Policy.cs new file mode 100644 index 00000000000..812df2cd41c --- /dev/null +++ b/sdk/dotnet/VerifiedPermissions/Policy.cs @@ -0,0 +1,166 @@ +// *** WARNING: this file 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.VerifiedPermissions +{ + /// + /// Resource for managing an AWS Verified Permissions Policy. + /// + /// ## Example Usage + /// + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = new Aws.VerifiedPermissions.Policy("test", new() + /// { + /// PolicyStoreId = testAwsVerifiedpermissionsPolicyStore.Id, + /// Definition = new Aws.VerifiedPermissions.Inputs.PolicyDefinitionArgs + /// { + /// Static = new Aws.VerifiedPermissions.Inputs.PolicyDefinitionStaticArgs + /// { + /// Statement = "permit (principal, action == Action::\"view\", resource in Album:: \"test_album\");", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Using `pulumi import`, import Verified Permissions Policy using the `policy_id,policy_store_id`. For example: + /// + /// ```sh + /// $ pulumi import aws:verifiedpermissions/policy:Policy example policy-id-12345678,policy-store-id-12345678 + /// ``` + /// + [AwsResourceType("aws:verifiedpermissions/policy:Policy")] + public partial class Policy : global::Pulumi.CustomResource + { + [Output("createdDate")] + public Output CreatedDate { get; private set; } = null!; + + /// + /// The definition of the policy. See Definition below. + /// + /// The following arguments are optional: + /// + [Output("definition")] + public Output Definition { get; private set; } = null!; + + [Output("policyId")] + public Output PolicyId { get; private set; } = null!; + + /// + /// The Policy Store ID of the policy store. + /// + [Output("policyStoreId")] + public Output PolicyStoreId { get; private set; } = null!; + + + /// + /// Create a Policy 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 Policy(string name, PolicyArgs args, CustomResourceOptions? options = null) + : base("aws:verifiedpermissions/policy:Policy", name, args ?? new PolicyArgs(), MakeResourceOptions(options, "")) + { + } + + private Policy(string name, Input id, PolicyState? state = null, CustomResourceOptions? options = null) + : base("aws:verifiedpermissions/policy:Policy", 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 Policy 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 Policy Get(string name, Input id, PolicyState? state = null, CustomResourceOptions? options = null) + { + return new Policy(name, id, state, options); + } + } + + public sealed class PolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// The definition of the policy. See Definition below. + /// + /// The following arguments are optional: + /// + [Input("definition")] + public Input? Definition { get; set; } + + /// + /// The Policy Store ID of the policy store. + /// + [Input("policyStoreId", required: true)] + public Input PolicyStoreId { get; set; } = null!; + + public PolicyArgs() + { + } + public static new PolicyArgs Empty => new PolicyArgs(); + } + + public sealed class PolicyState : global::Pulumi.ResourceArgs + { + [Input("createdDate")] + public Input? CreatedDate { get; set; } + + /// + /// The definition of the policy. See Definition below. + /// + /// The following arguments are optional: + /// + [Input("definition")] + public Input? Definition { get; set; } + + [Input("policyId")] + public Input? PolicyId { get; set; } + + /// + /// The Policy Store ID of the policy store. + /// + [Input("policyStoreId")] + public Input? PolicyStoreId { get; set; } + + public PolicyState() + { + } + public static new PolicyState Empty => new PolicyState(); + } +} diff --git a/sdk/go/aws/appmesh/pulumiTypes.go b/sdk/go/aws/appmesh/pulumiTypes.go index 2ece972e65b..a7008507d40 100644 --- a/sdk/go/aws/appmesh/pulumiTypes.go +++ b/sdk/go/aws/appmesh/pulumiTypes.go @@ -5948,6 +5948,8 @@ func (o GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) Exact() pulu type MeshSpec struct { // Egress filter rules for the service mesh. EgressFilter *MeshSpecEgressFilter `pulumi:"egressFilter"` + // The service discovery information for the service mesh. + ServiceDiscovery *MeshSpecServiceDiscovery `pulumi:"serviceDiscovery"` } // MeshSpecInput is an input type that accepts MeshSpecArgs and MeshSpecOutput values. @@ -5964,6 +5966,8 @@ type MeshSpecInput interface { type MeshSpecArgs struct { // Egress filter rules for the service mesh. EgressFilter MeshSpecEgressFilterPtrInput `pulumi:"egressFilter"` + // The service discovery information for the service mesh. + ServiceDiscovery MeshSpecServiceDiscoveryPtrInput `pulumi:"serviceDiscovery"` } func (MeshSpecArgs) ElementType() reflect.Type { @@ -6048,6 +6052,11 @@ func (o MeshSpecOutput) EgressFilter() MeshSpecEgressFilterPtrOutput { return o.ApplyT(func(v MeshSpec) *MeshSpecEgressFilter { return v.EgressFilter }).(MeshSpecEgressFilterPtrOutput) } +// The service discovery information for the service mesh. +func (o MeshSpecOutput) ServiceDiscovery() MeshSpecServiceDiscoveryPtrOutput { + return o.ApplyT(func(v MeshSpec) *MeshSpecServiceDiscovery { return v.ServiceDiscovery }).(MeshSpecServiceDiscoveryPtrOutput) +} + type MeshSpecPtrOutput struct{ *pulumi.OutputState } func (MeshSpecPtrOutput) ElementType() reflect.Type { @@ -6082,9 +6091,17 @@ func (o MeshSpecPtrOutput) EgressFilter() MeshSpecEgressFilterPtrOutput { }).(MeshSpecEgressFilterPtrOutput) } +// The service discovery information for the service mesh. +func (o MeshSpecPtrOutput) ServiceDiscovery() MeshSpecServiceDiscoveryPtrOutput { + return o.ApplyT(func(v *MeshSpec) *MeshSpecServiceDiscovery { + if v == nil { + return nil + } + return v.ServiceDiscovery + }).(MeshSpecServiceDiscoveryPtrOutput) +} + type MeshSpecEgressFilter struct { - // Egress filter type. By default, the type is `DROP_ALL`. - // Valid values are `ALLOW_ALL` and `DROP_ALL`. Type *string `pulumi:"type"` } @@ -6100,8 +6117,6 @@ type MeshSpecEgressFilterInput interface { } type MeshSpecEgressFilterArgs struct { - // Egress filter type. By default, the type is `DROP_ALL`. - // Valid values are `ALLOW_ALL` and `DROP_ALL`. Type pulumi.StringPtrInput `pulumi:"type"` } @@ -6182,8 +6197,6 @@ func (o MeshSpecEgressFilterOutput) ToMeshSpecEgressFilterPtrOutputWithContext(c }).(MeshSpecEgressFilterPtrOutput) } -// Egress filter type. By default, the type is `DROP_ALL`. -// Valid values are `ALLOW_ALL` and `DROP_ALL`. func (o MeshSpecEgressFilterOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v MeshSpecEgressFilter) *string { return v.Type }).(pulumi.StringPtrOutput) } @@ -6212,8 +6225,6 @@ func (o MeshSpecEgressFilterPtrOutput) Elem() MeshSpecEgressFilterOutput { }).(MeshSpecEgressFilterOutput) } -// Egress filter type. By default, the type is `DROP_ALL`. -// Valid values are `ALLOW_ALL` and `DROP_ALL`. func (o MeshSpecEgressFilterPtrOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v *MeshSpecEgressFilter) *string { if v == nil { @@ -6223,6 +6234,139 @@ func (o MeshSpecEgressFilterPtrOutput) Type() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type MeshSpecServiceDiscovery struct { + IpPreference *string `pulumi:"ipPreference"` +} + +// MeshSpecServiceDiscoveryInput is an input type that accepts MeshSpecServiceDiscoveryArgs and MeshSpecServiceDiscoveryOutput values. +// You can construct a concrete instance of `MeshSpecServiceDiscoveryInput` via: +// +// MeshSpecServiceDiscoveryArgs{...} +type MeshSpecServiceDiscoveryInput interface { + pulumi.Input + + ToMeshSpecServiceDiscoveryOutput() MeshSpecServiceDiscoveryOutput + ToMeshSpecServiceDiscoveryOutputWithContext(context.Context) MeshSpecServiceDiscoveryOutput +} + +type MeshSpecServiceDiscoveryArgs struct { + IpPreference pulumi.StringPtrInput `pulumi:"ipPreference"` +} + +func (MeshSpecServiceDiscoveryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MeshSpecServiceDiscovery)(nil)).Elem() +} + +func (i MeshSpecServiceDiscoveryArgs) ToMeshSpecServiceDiscoveryOutput() MeshSpecServiceDiscoveryOutput { + return i.ToMeshSpecServiceDiscoveryOutputWithContext(context.Background()) +} + +func (i MeshSpecServiceDiscoveryArgs) ToMeshSpecServiceDiscoveryOutputWithContext(ctx context.Context) MeshSpecServiceDiscoveryOutput { + return pulumi.ToOutputWithContext(ctx, i).(MeshSpecServiceDiscoveryOutput) +} + +func (i MeshSpecServiceDiscoveryArgs) ToMeshSpecServiceDiscoveryPtrOutput() MeshSpecServiceDiscoveryPtrOutput { + return i.ToMeshSpecServiceDiscoveryPtrOutputWithContext(context.Background()) +} + +func (i MeshSpecServiceDiscoveryArgs) ToMeshSpecServiceDiscoveryPtrOutputWithContext(ctx context.Context) MeshSpecServiceDiscoveryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MeshSpecServiceDiscoveryOutput).ToMeshSpecServiceDiscoveryPtrOutputWithContext(ctx) +} + +// MeshSpecServiceDiscoveryPtrInput is an input type that accepts MeshSpecServiceDiscoveryArgs, MeshSpecServiceDiscoveryPtr and MeshSpecServiceDiscoveryPtrOutput values. +// You can construct a concrete instance of `MeshSpecServiceDiscoveryPtrInput` via: +// +// MeshSpecServiceDiscoveryArgs{...} +// +// or: +// +// nil +type MeshSpecServiceDiscoveryPtrInput interface { + pulumi.Input + + ToMeshSpecServiceDiscoveryPtrOutput() MeshSpecServiceDiscoveryPtrOutput + ToMeshSpecServiceDiscoveryPtrOutputWithContext(context.Context) MeshSpecServiceDiscoveryPtrOutput +} + +type meshSpecServiceDiscoveryPtrType MeshSpecServiceDiscoveryArgs + +func MeshSpecServiceDiscoveryPtr(v *MeshSpecServiceDiscoveryArgs) MeshSpecServiceDiscoveryPtrInput { + return (*meshSpecServiceDiscoveryPtrType)(v) +} + +func (*meshSpecServiceDiscoveryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MeshSpecServiceDiscovery)(nil)).Elem() +} + +func (i *meshSpecServiceDiscoveryPtrType) ToMeshSpecServiceDiscoveryPtrOutput() MeshSpecServiceDiscoveryPtrOutput { + return i.ToMeshSpecServiceDiscoveryPtrOutputWithContext(context.Background()) +} + +func (i *meshSpecServiceDiscoveryPtrType) ToMeshSpecServiceDiscoveryPtrOutputWithContext(ctx context.Context) MeshSpecServiceDiscoveryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MeshSpecServiceDiscoveryPtrOutput) +} + +type MeshSpecServiceDiscoveryOutput struct{ *pulumi.OutputState } + +func (MeshSpecServiceDiscoveryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MeshSpecServiceDiscovery)(nil)).Elem() +} + +func (o MeshSpecServiceDiscoveryOutput) ToMeshSpecServiceDiscoveryOutput() MeshSpecServiceDiscoveryOutput { + return o +} + +func (o MeshSpecServiceDiscoveryOutput) ToMeshSpecServiceDiscoveryOutputWithContext(ctx context.Context) MeshSpecServiceDiscoveryOutput { + return o +} + +func (o MeshSpecServiceDiscoveryOutput) ToMeshSpecServiceDiscoveryPtrOutput() MeshSpecServiceDiscoveryPtrOutput { + return o.ToMeshSpecServiceDiscoveryPtrOutputWithContext(context.Background()) +} + +func (o MeshSpecServiceDiscoveryOutput) ToMeshSpecServiceDiscoveryPtrOutputWithContext(ctx context.Context) MeshSpecServiceDiscoveryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MeshSpecServiceDiscovery) *MeshSpecServiceDiscovery { + return &v + }).(MeshSpecServiceDiscoveryPtrOutput) +} + +func (o MeshSpecServiceDiscoveryOutput) IpPreference() pulumi.StringPtrOutput { + return o.ApplyT(func(v MeshSpecServiceDiscovery) *string { return v.IpPreference }).(pulumi.StringPtrOutput) +} + +type MeshSpecServiceDiscoveryPtrOutput struct{ *pulumi.OutputState } + +func (MeshSpecServiceDiscoveryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MeshSpecServiceDiscovery)(nil)).Elem() +} + +func (o MeshSpecServiceDiscoveryPtrOutput) ToMeshSpecServiceDiscoveryPtrOutput() MeshSpecServiceDiscoveryPtrOutput { + return o +} + +func (o MeshSpecServiceDiscoveryPtrOutput) ToMeshSpecServiceDiscoveryPtrOutputWithContext(ctx context.Context) MeshSpecServiceDiscoveryPtrOutput { + return o +} + +func (o MeshSpecServiceDiscoveryPtrOutput) Elem() MeshSpecServiceDiscoveryOutput { + return o.ApplyT(func(v *MeshSpecServiceDiscovery) MeshSpecServiceDiscovery { + if v != nil { + return *v + } + var ret MeshSpecServiceDiscovery + return ret + }).(MeshSpecServiceDiscoveryOutput) +} + +func (o MeshSpecServiceDiscoveryPtrOutput) IpPreference() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MeshSpecServiceDiscovery) *string { + if v == nil { + return nil + } + return v.IpPreference + }).(pulumi.StringPtrOutput) +} + type RouteSpec struct { // GRPC routing information for the route. GrpcRoute *RouteSpecGrpcRoute `pulumi:"grpcRoute"` @@ -34983,7 +35127,8 @@ func (o GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput) Index(i } type GetMeshSpec struct { - EgressFilters []GetMeshSpecEgressFilter `pulumi:"egressFilters"` + EgressFilters []GetMeshSpecEgressFilter `pulumi:"egressFilters"` + ServiceDiscoveries []GetMeshSpecServiceDiscovery `pulumi:"serviceDiscoveries"` } // GetMeshSpecInput is an input type that accepts GetMeshSpecArgs and GetMeshSpecOutput values. @@ -34998,7 +35143,8 @@ type GetMeshSpecInput interface { } type GetMeshSpecArgs struct { - EgressFilters GetMeshSpecEgressFilterArrayInput `pulumi:"egressFilters"` + EgressFilters GetMeshSpecEgressFilterArrayInput `pulumi:"egressFilters"` + ServiceDiscoveries GetMeshSpecServiceDiscoveryArrayInput `pulumi:"serviceDiscoveries"` } func (GetMeshSpecArgs) ElementType() reflect.Type { @@ -35056,6 +35202,10 @@ func (o GetMeshSpecOutput) EgressFilters() GetMeshSpecEgressFilterArrayOutput { return o.ApplyT(func(v GetMeshSpec) []GetMeshSpecEgressFilter { return v.EgressFilters }).(GetMeshSpecEgressFilterArrayOutput) } +func (o GetMeshSpecOutput) ServiceDiscoveries() GetMeshSpecServiceDiscoveryArrayOutput { + return o.ApplyT(func(v GetMeshSpec) []GetMeshSpecServiceDiscovery { return v.ServiceDiscoveries }).(GetMeshSpecServiceDiscoveryArrayOutput) +} + type GetMeshSpecArrayOutput struct{ *pulumi.OutputState } func (GetMeshSpecArrayOutput) ElementType() reflect.Type { @@ -35170,6 +35320,100 @@ func (o GetMeshSpecEgressFilterArrayOutput) Index(i pulumi.IntInput) GetMeshSpec }).(GetMeshSpecEgressFilterOutput) } +type GetMeshSpecServiceDiscovery struct { + IpPreference string `pulumi:"ipPreference"` +} + +// GetMeshSpecServiceDiscoveryInput is an input type that accepts GetMeshSpecServiceDiscoveryArgs and GetMeshSpecServiceDiscoveryOutput values. +// You can construct a concrete instance of `GetMeshSpecServiceDiscoveryInput` via: +// +// GetMeshSpecServiceDiscoveryArgs{...} +type GetMeshSpecServiceDiscoveryInput interface { + pulumi.Input + + ToGetMeshSpecServiceDiscoveryOutput() GetMeshSpecServiceDiscoveryOutput + ToGetMeshSpecServiceDiscoveryOutputWithContext(context.Context) GetMeshSpecServiceDiscoveryOutput +} + +type GetMeshSpecServiceDiscoveryArgs struct { + IpPreference pulumi.StringInput `pulumi:"ipPreference"` +} + +func (GetMeshSpecServiceDiscoveryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetMeshSpecServiceDiscovery)(nil)).Elem() +} + +func (i GetMeshSpecServiceDiscoveryArgs) ToGetMeshSpecServiceDiscoveryOutput() GetMeshSpecServiceDiscoveryOutput { + return i.ToGetMeshSpecServiceDiscoveryOutputWithContext(context.Background()) +} + +func (i GetMeshSpecServiceDiscoveryArgs) ToGetMeshSpecServiceDiscoveryOutputWithContext(ctx context.Context) GetMeshSpecServiceDiscoveryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetMeshSpecServiceDiscoveryOutput) +} + +// GetMeshSpecServiceDiscoveryArrayInput is an input type that accepts GetMeshSpecServiceDiscoveryArray and GetMeshSpecServiceDiscoveryArrayOutput values. +// You can construct a concrete instance of `GetMeshSpecServiceDiscoveryArrayInput` via: +// +// GetMeshSpecServiceDiscoveryArray{ GetMeshSpecServiceDiscoveryArgs{...} } +type GetMeshSpecServiceDiscoveryArrayInput interface { + pulumi.Input + + ToGetMeshSpecServiceDiscoveryArrayOutput() GetMeshSpecServiceDiscoveryArrayOutput + ToGetMeshSpecServiceDiscoveryArrayOutputWithContext(context.Context) GetMeshSpecServiceDiscoveryArrayOutput +} + +type GetMeshSpecServiceDiscoveryArray []GetMeshSpecServiceDiscoveryInput + +func (GetMeshSpecServiceDiscoveryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetMeshSpecServiceDiscovery)(nil)).Elem() +} + +func (i GetMeshSpecServiceDiscoveryArray) ToGetMeshSpecServiceDiscoveryArrayOutput() GetMeshSpecServiceDiscoveryArrayOutput { + return i.ToGetMeshSpecServiceDiscoveryArrayOutputWithContext(context.Background()) +} + +func (i GetMeshSpecServiceDiscoveryArray) ToGetMeshSpecServiceDiscoveryArrayOutputWithContext(ctx context.Context) GetMeshSpecServiceDiscoveryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetMeshSpecServiceDiscoveryArrayOutput) +} + +type GetMeshSpecServiceDiscoveryOutput struct{ *pulumi.OutputState } + +func (GetMeshSpecServiceDiscoveryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetMeshSpecServiceDiscovery)(nil)).Elem() +} + +func (o GetMeshSpecServiceDiscoveryOutput) ToGetMeshSpecServiceDiscoveryOutput() GetMeshSpecServiceDiscoveryOutput { + return o +} + +func (o GetMeshSpecServiceDiscoveryOutput) ToGetMeshSpecServiceDiscoveryOutputWithContext(ctx context.Context) GetMeshSpecServiceDiscoveryOutput { + return o +} + +func (o GetMeshSpecServiceDiscoveryOutput) IpPreference() pulumi.StringOutput { + return o.ApplyT(func(v GetMeshSpecServiceDiscovery) string { return v.IpPreference }).(pulumi.StringOutput) +} + +type GetMeshSpecServiceDiscoveryArrayOutput struct{ *pulumi.OutputState } + +func (GetMeshSpecServiceDiscoveryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetMeshSpecServiceDiscovery)(nil)).Elem() +} + +func (o GetMeshSpecServiceDiscoveryArrayOutput) ToGetMeshSpecServiceDiscoveryArrayOutput() GetMeshSpecServiceDiscoveryArrayOutput { + return o +} + +func (o GetMeshSpecServiceDiscoveryArrayOutput) ToGetMeshSpecServiceDiscoveryArrayOutputWithContext(ctx context.Context) GetMeshSpecServiceDiscoveryArrayOutput { + return o +} + +func (o GetMeshSpecServiceDiscoveryArrayOutput) Index(i pulumi.IntInput) GetMeshSpecServiceDiscoveryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetMeshSpecServiceDiscovery { + return vs[0].([]GetMeshSpecServiceDiscovery)[vs[1].(int)] + }).(GetMeshSpecServiceDiscoveryOutput) +} + type GetRouteSpec struct { GrpcRoutes []GetRouteSpecGrpcRoute `pulumi:"grpcRoutes"` Http2Routes []GetRouteSpecHttp2Route `pulumi:"http2Routes"` @@ -51962,6 +52206,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*MeshSpecPtrInput)(nil)).Elem(), MeshSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MeshSpecEgressFilterInput)(nil)).Elem(), MeshSpecEgressFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MeshSpecEgressFilterPtrInput)(nil)).Elem(), MeshSpecEgressFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MeshSpecServiceDiscoveryInput)(nil)).Elem(), MeshSpecServiceDiscoveryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*MeshSpecServiceDiscoveryPtrInput)(nil)).Elem(), MeshSpecServiceDiscoveryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecInput)(nil)).Elem(), RouteSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecPtrInput)(nil)).Elem(), RouteSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecGrpcRouteInput)(nil)).Elem(), RouteSpecGrpcRouteArgs{}) @@ -52364,6 +52610,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetMeshSpecArrayInput)(nil)).Elem(), GetMeshSpecArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMeshSpecEgressFilterInput)(nil)).Elem(), GetMeshSpecEgressFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMeshSpecEgressFilterArrayInput)(nil)).Elem(), GetMeshSpecEgressFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetMeshSpecServiceDiscoveryInput)(nil)).Elem(), GetMeshSpecServiceDiscoveryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetMeshSpecServiceDiscoveryArrayInput)(nil)).Elem(), GetMeshSpecServiceDiscoveryArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecInput)(nil)).Elem(), GetRouteSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecArrayInput)(nil)).Elem(), GetRouteSpecArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecGrpcRouteInput)(nil)).Elem(), GetRouteSpecGrpcRouteArgs{}) @@ -52770,6 +53018,8 @@ func init() { pulumi.RegisterOutputType(MeshSpecPtrOutput{}) pulumi.RegisterOutputType(MeshSpecEgressFilterOutput{}) pulumi.RegisterOutputType(MeshSpecEgressFilterPtrOutput{}) + pulumi.RegisterOutputType(MeshSpecServiceDiscoveryOutput{}) + pulumi.RegisterOutputType(MeshSpecServiceDiscoveryPtrOutput{}) pulumi.RegisterOutputType(RouteSpecOutput{}) pulumi.RegisterOutputType(RouteSpecPtrOutput{}) pulumi.RegisterOutputType(RouteSpecGrpcRouteOutput{}) @@ -53172,6 +53422,8 @@ func init() { pulumi.RegisterOutputType(GetMeshSpecArrayOutput{}) pulumi.RegisterOutputType(GetMeshSpecEgressFilterOutput{}) pulumi.RegisterOutputType(GetMeshSpecEgressFilterArrayOutput{}) + pulumi.RegisterOutputType(GetMeshSpecServiceDiscoveryOutput{}) + pulumi.RegisterOutputType(GetMeshSpecServiceDiscoveryArrayOutput{}) pulumi.RegisterOutputType(GetRouteSpecOutput{}) pulumi.RegisterOutputType(GetRouteSpecArrayOutput{}) pulumi.RegisterOutputType(GetRouteSpecGrpcRouteOutput{}) diff --git a/sdk/go/aws/batch/jobDefinition.go b/sdk/go/aws/batch/jobDefinition.go index 3efb152c87b..7dec85c5741 100644 --- a/sdk/go/aws/batch/jobDefinition.go +++ b/sdk/go/aws/batch/jobDefinition.go @@ -320,8 +320,7 @@ type JobDefinition struct { Arn pulumi.StringOutput `pulumi:"arn"` // The ARN without the revision number. ArnPrefix pulumi.StringOutput `pulumi:"arnPrefix"` - // A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - // provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + // A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. ContainerProperties pulumi.StringPtrOutput `pulumi:"containerProperties"` // When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. DeregisterOnNewRevision pulumi.BoolPtrOutput `pulumi:"deregisterOnNewRevision"` @@ -329,8 +328,7 @@ type JobDefinition struct { EksProperties JobDefinitionEksPropertiesPtrOutput `pulumi:"eksProperties"` // Specifies the name of the job definition. Name pulumi.StringOutput `pulumi:"name"` - // A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - // provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + // A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. NodeProperties pulumi.StringPtrOutput `pulumi:"nodeProperties"` // Specifies the parameter substitution placeholders to set in the job definition. Parameters pulumi.StringMapOutput `pulumi:"parameters"` @@ -338,8 +336,7 @@ type JobDefinition struct { PlatformCapabilities pulumi.StringArrayOutput `pulumi:"platformCapabilities"` // Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. PropagateTags pulumi.BoolPtrOutput `pulumi:"propagateTags"` - // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - // Maximum number of `retryStrategy` is `1`. Defined below. + // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. RetryStrategy JobDefinitionRetryStrategyPtrOutput `pulumi:"retryStrategy"` // The revision of the job definition. Revision pulumi.IntOutput `pulumi:"revision"` @@ -396,8 +393,7 @@ type jobDefinitionState struct { Arn *string `pulumi:"arn"` // The ARN without the revision number. ArnPrefix *string `pulumi:"arnPrefix"` - // A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - // provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + // A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. ContainerProperties *string `pulumi:"containerProperties"` // When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. DeregisterOnNewRevision *bool `pulumi:"deregisterOnNewRevision"` @@ -405,8 +401,7 @@ type jobDefinitionState struct { EksProperties *JobDefinitionEksProperties `pulumi:"eksProperties"` // Specifies the name of the job definition. Name *string `pulumi:"name"` - // A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - // provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + // A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. NodeProperties *string `pulumi:"nodeProperties"` // Specifies the parameter substitution placeholders to set in the job definition. Parameters map[string]string `pulumi:"parameters"` @@ -414,8 +409,7 @@ type jobDefinitionState struct { PlatformCapabilities []string `pulumi:"platformCapabilities"` // Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. PropagateTags *bool `pulumi:"propagateTags"` - // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - // Maximum number of `retryStrategy` is `1`. Defined below. + // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. RetryStrategy *JobDefinitionRetryStrategy `pulumi:"retryStrategy"` // The revision of the job definition. Revision *int `pulumi:"revision"` @@ -440,8 +434,7 @@ type JobDefinitionState struct { Arn pulumi.StringPtrInput // The ARN without the revision number. ArnPrefix pulumi.StringPtrInput - // A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - // provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + // A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. ContainerProperties pulumi.StringPtrInput // When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. DeregisterOnNewRevision pulumi.BoolPtrInput @@ -449,8 +442,7 @@ type JobDefinitionState struct { EksProperties JobDefinitionEksPropertiesPtrInput // Specifies the name of the job definition. Name pulumi.StringPtrInput - // A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - // provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + // A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. NodeProperties pulumi.StringPtrInput // Specifies the parameter substitution placeholders to set in the job definition. Parameters pulumi.StringMapInput @@ -458,8 +450,7 @@ type JobDefinitionState struct { PlatformCapabilities pulumi.StringArrayInput // Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. PropagateTags pulumi.BoolPtrInput - // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - // Maximum number of `retryStrategy` is `1`. Defined below. + // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. RetryStrategy JobDefinitionRetryStrategyPtrInput // The revision of the job definition. Revision pulumi.IntPtrInput @@ -484,8 +475,7 @@ func (JobDefinitionState) ElementType() reflect.Type { } type jobDefinitionArgs struct { - // A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - // provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + // A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. ContainerProperties *string `pulumi:"containerProperties"` // When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. DeregisterOnNewRevision *bool `pulumi:"deregisterOnNewRevision"` @@ -493,8 +483,7 @@ type jobDefinitionArgs struct { EksProperties *JobDefinitionEksProperties `pulumi:"eksProperties"` // Specifies the name of the job definition. Name *string `pulumi:"name"` - // A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - // provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + // A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. NodeProperties *string `pulumi:"nodeProperties"` // Specifies the parameter substitution placeholders to set in the job definition. Parameters map[string]string `pulumi:"parameters"` @@ -502,8 +491,7 @@ type jobDefinitionArgs struct { PlatformCapabilities []string `pulumi:"platformCapabilities"` // Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. PropagateTags *bool `pulumi:"propagateTags"` - // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - // Maximum number of `retryStrategy` is `1`. Defined below. + // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. RetryStrategy *JobDefinitionRetryStrategy `pulumi:"retryStrategy"` // The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. SchedulingPriority *int `pulumi:"schedulingPriority"` @@ -519,8 +507,7 @@ type jobDefinitionArgs struct { // The set of arguments for constructing a JobDefinition resource. type JobDefinitionArgs struct { - // A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - // provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + // A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. ContainerProperties pulumi.StringPtrInput // When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. DeregisterOnNewRevision pulumi.BoolPtrInput @@ -528,8 +515,7 @@ type JobDefinitionArgs struct { EksProperties JobDefinitionEksPropertiesPtrInput // Specifies the name of the job definition. Name pulumi.StringPtrInput - // A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - // provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + // A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. NodeProperties pulumi.StringPtrInput // Specifies the parameter substitution placeholders to set in the job definition. Parameters pulumi.StringMapInput @@ -537,8 +523,7 @@ type JobDefinitionArgs struct { PlatformCapabilities pulumi.StringArrayInput // Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. PropagateTags pulumi.BoolPtrInput - // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - // Maximum number of `retryStrategy` is `1`. Defined below. + // Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. RetryStrategy JobDefinitionRetryStrategyPtrInput // The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. SchedulingPriority pulumi.IntPtrInput @@ -649,8 +634,7 @@ func (o JobDefinitionOutput) ArnPrefix() pulumi.StringOutput { return o.ApplyT(func(v *JobDefinition) pulumi.StringOutput { return v.ArnPrefix }).(pulumi.StringOutput) } -// A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) -// provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. +// A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. func (o JobDefinitionOutput) ContainerProperties() pulumi.StringPtrOutput { return o.ApplyT(func(v *JobDefinition) pulumi.StringPtrOutput { return v.ContainerProperties }).(pulumi.StringPtrOutput) } @@ -670,8 +654,7 @@ func (o JobDefinitionOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *JobDefinition) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) -// provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. +// A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. func (o JobDefinitionOutput) NodeProperties() pulumi.StringPtrOutput { return o.ApplyT(func(v *JobDefinition) pulumi.StringPtrOutput { return v.NodeProperties }).(pulumi.StringPtrOutput) } @@ -691,8 +674,7 @@ func (o JobDefinitionOutput) PropagateTags() pulumi.BoolPtrOutput { return o.ApplyT(func(v *JobDefinition) pulumi.BoolPtrOutput { return v.PropagateTags }).(pulumi.BoolPtrOutput) } -// Specifies the retry strategy to use for failed jobs that are submitted with this job definition. -// Maximum number of `retryStrategy` is `1`. Defined below. +// Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. func (o JobDefinitionOutput) RetryStrategy() JobDefinitionRetryStrategyPtrOutput { return o.ApplyT(func(v *JobDefinition) JobDefinitionRetryStrategyPtrOutput { return v.RetryStrategy }).(JobDefinitionRetryStrategyPtrOutput) } diff --git a/sdk/go/aws/batch/pulumiTypes.go b/sdk/go/aws/batch/pulumiTypes.go index f47e39c9bb6..e2adb966d4d 100644 --- a/sdk/go/aws/batch/pulumiTypes.go +++ b/sdk/go/aws/batch/pulumiTypes.go @@ -3122,7 +3122,7 @@ func (o JobDefinitionRetryStrategyPtrOutput) EvaluateOnExits() JobDefinitionRetr } type JobDefinitionRetryStrategyEvaluateOnExit struct { - // Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + // Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. Action string `pulumi:"action"` // A glob pattern to match against the decimal representation of the exit code returned for a job. OnExitCode *string `pulumi:"onExitCode"` @@ -3144,7 +3144,7 @@ type JobDefinitionRetryStrategyEvaluateOnExitInput interface { } type JobDefinitionRetryStrategyEvaluateOnExitArgs struct { - // Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + // Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. Action pulumi.StringInput `pulumi:"action"` // A glob pattern to match against the decimal representation of the exit code returned for a job. OnExitCode pulumi.StringPtrInput `pulumi:"onExitCode"` @@ -3205,7 +3205,7 @@ func (o JobDefinitionRetryStrategyEvaluateOnExitOutput) ToJobDefinitionRetryStra return o } -// Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. +// Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. func (o JobDefinitionRetryStrategyEvaluateOnExitOutput) Action() pulumi.StringOutput { return o.ApplyT(func(v JobDefinitionRetryStrategyEvaluateOnExit) string { return v.Action }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/bcmdata/export.go b/sdk/go/aws/bcmdata/export.go new file mode 100644 index 00000000000..2003eb5c6a2 --- /dev/null +++ b/sdk/go/aws/bcmdata/export.go @@ -0,0 +1,319 @@ +// 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 bcmdata + +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 BCM Data Exports Export. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bcmdata" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := bcmdata.NewExport(ctx, "test", &bcmdata.ExportArgs{ +// Export: &bcmdata.ExportExportArgs{ +// Name: pulumi.String("testexample"), +// DataQueries: bcmdata.ExportExportDataQueryArray{ +// &bcmdata.ExportExportDataQueryArgs{ +// QueryStatement: pulumi.String("SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT"), +// TableConfigurations: pulumi.MapMap{ +// "COST_AND_USAGE_REPORT": pulumi.Map{ +// "TIME_GRANULARITY": pulumi.Any("HOURLY"), +// "INCLUDE_RESOURCES": pulumi.Any("FALSE"), +// "INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY": pulumi.Any("FALSE"), +// "INCLUDE_SPLIT_COST_ALLOCATION_DATA": pulumi.Any("FALSE"), +// }, +// }, +// }, +// }, +// DestinationConfigurations: bcmdata.ExportExportDestinationConfigurationArray{ +// &bcmdata.ExportExportDestinationConfigurationArgs{ +// S3Destinations: bcmdata.ExportExportDestinationConfigurationS3DestinationArray{ +// &bcmdata.ExportExportDestinationConfigurationS3DestinationArgs{ +// S3Bucket: pulumi.Any(testAwsS3Bucket.Bucket), +// S3Prefix: pulumi.Any(testAwsS3Bucket.BucketPrefix), +// S3Region: pulumi.Any(testAwsS3Bucket.Region), +// S3OutputConfigurations: bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArray{ +// &bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs{ +// Overwrite: pulumi.String("OVERWRITE_REPORT"), +// Format: pulumi.String("TEXT_OR_CSV"), +// Compression: pulumi.String("GZIP"), +// OutputType: pulumi.String("CUSTOM"), +// }, +// }, +// }, +// }, +// }, +// }, +// RefreshCadences: bcmdata.ExportExportRefreshCadenceArray{ +// &bcmdata.ExportExportRefreshCadenceArgs{ +// Frequency: pulumi.String("SYNCHRONOUS"), +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import BCM Data Exports Export using the `export_arn`. For example: +// +// ```sh +// $ pulumi import aws:bcmdata/export:Export example export-id-12345678 +// ``` +type Export struct { + pulumi.CustomResourceState + + // The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + Export ExportExportPtrOutput `pulumi:"export"` + Tags pulumi.StringMapOutput `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + Timeouts ExportTimeoutsPtrOutput `pulumi:"timeouts"` +} + +// NewExport registers a new resource with the given unique name, arguments, and options. +func NewExport(ctx *pulumi.Context, + name string, args *ExportArgs, opts ...pulumi.ResourceOption) (*Export, error) { + if args == nil { + args = &ExportArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource Export + err := ctx.RegisterResource("aws:bcmdata/export:Export", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetExport gets an existing Export 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 GetExport(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ExportState, opts ...pulumi.ResourceOption) (*Export, error) { + var resource Export + err := ctx.ReadResource("aws:bcmdata/export:Export", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Export resources. +type exportState struct { + // The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + Export *ExportExport `pulumi:"export"` + Tags map[string]string `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` + Timeouts *ExportTimeouts `pulumi:"timeouts"` +} + +type ExportState struct { + // The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + Export ExportExportPtrInput + Tags pulumi.StringMapInput + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput + Timeouts ExportTimeoutsPtrInput +} + +func (ExportState) ElementType() reflect.Type { + return reflect.TypeOf((*exportState)(nil)).Elem() +} + +type exportArgs struct { + // The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + Export *ExportExport `pulumi:"export"` + Tags map[string]string `pulumi:"tags"` + Timeouts *ExportTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a Export resource. +type ExportArgs struct { + // The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + Export ExportExportPtrInput + Tags pulumi.StringMapInput + Timeouts ExportTimeoutsPtrInput +} + +func (ExportArgs) ElementType() reflect.Type { + return reflect.TypeOf((*exportArgs)(nil)).Elem() +} + +type ExportInput interface { + pulumi.Input + + ToExportOutput() ExportOutput + ToExportOutputWithContext(ctx context.Context) ExportOutput +} + +func (*Export) ElementType() reflect.Type { + return reflect.TypeOf((**Export)(nil)).Elem() +} + +func (i *Export) ToExportOutput() ExportOutput { + return i.ToExportOutputWithContext(context.Background()) +} + +func (i *Export) ToExportOutputWithContext(ctx context.Context) ExportOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportOutput) +} + +// ExportArrayInput is an input type that accepts ExportArray and ExportArrayOutput values. +// You can construct a concrete instance of `ExportArrayInput` via: +// +// ExportArray{ ExportArgs{...} } +type ExportArrayInput interface { + pulumi.Input + + ToExportArrayOutput() ExportArrayOutput + ToExportArrayOutputWithContext(context.Context) ExportArrayOutput +} + +type ExportArray []ExportInput + +func (ExportArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Export)(nil)).Elem() +} + +func (i ExportArray) ToExportArrayOutput() ExportArrayOutput { + return i.ToExportArrayOutputWithContext(context.Background()) +} + +func (i ExportArray) ToExportArrayOutputWithContext(ctx context.Context) ExportArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportArrayOutput) +} + +// ExportMapInput is an input type that accepts ExportMap and ExportMapOutput values. +// You can construct a concrete instance of `ExportMapInput` via: +// +// ExportMap{ "key": ExportArgs{...} } +type ExportMapInput interface { + pulumi.Input + + ToExportMapOutput() ExportMapOutput + ToExportMapOutputWithContext(context.Context) ExportMapOutput +} + +type ExportMap map[string]ExportInput + +func (ExportMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Export)(nil)).Elem() +} + +func (i ExportMap) ToExportMapOutput() ExportMapOutput { + return i.ToExportMapOutputWithContext(context.Background()) +} + +func (i ExportMap) ToExportMapOutputWithContext(ctx context.Context) ExportMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportMapOutput) +} + +type ExportOutput struct{ *pulumi.OutputState } + +func (ExportOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Export)(nil)).Elem() +} + +func (o ExportOutput) ToExportOutput() ExportOutput { + return o +} + +func (o ExportOutput) ToExportOutputWithContext(ctx context.Context) ExportOutput { + return o +} + +// The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. +func (o ExportOutput) Export() ExportExportPtrOutput { + return o.ApplyT(func(v *Export) ExportExportPtrOutput { return v.Export }).(ExportExportPtrOutput) +} + +func (o ExportOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *Export) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// Deprecated: Please use `tags` instead. +func (o ExportOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *Export) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +func (o ExportOutput) Timeouts() ExportTimeoutsPtrOutput { + return o.ApplyT(func(v *Export) ExportTimeoutsPtrOutput { return v.Timeouts }).(ExportTimeoutsPtrOutput) +} + +type ExportArrayOutput struct{ *pulumi.OutputState } + +func (ExportArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Export)(nil)).Elem() +} + +func (o ExportArrayOutput) ToExportArrayOutput() ExportArrayOutput { + return o +} + +func (o ExportArrayOutput) ToExportArrayOutputWithContext(ctx context.Context) ExportArrayOutput { + return o +} + +func (o ExportArrayOutput) Index(i pulumi.IntInput) ExportOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Export { + return vs[0].([]*Export)[vs[1].(int)] + }).(ExportOutput) +} + +type ExportMapOutput struct{ *pulumi.OutputState } + +func (ExportMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Export)(nil)).Elem() +} + +func (o ExportMapOutput) ToExportMapOutput() ExportMapOutput { + return o +} + +func (o ExportMapOutput) ToExportMapOutputWithContext(ctx context.Context) ExportMapOutput { + return o +} + +func (o ExportMapOutput) MapIndex(k pulumi.StringInput) ExportOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Export { + return vs[0].(map[string]*Export)[vs[1].(string)] + }).(ExportOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ExportInput)(nil)).Elem(), &Export{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExportArrayInput)(nil)).Elem(), ExportArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExportMapInput)(nil)).Elem(), ExportMap{}) + pulumi.RegisterOutputType(ExportOutput{}) + pulumi.RegisterOutputType(ExportArrayOutput{}) + pulumi.RegisterOutputType(ExportMapOutput{}) +} diff --git a/sdk/go/aws/bcmdata/init.go b/sdk/go/aws/bcmdata/init.go new file mode 100644 index 00000000000..88f07e04956 --- /dev/null +++ b/sdk/go/aws/bcmdata/init.go @@ -0,0 +1,44 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package bcmdata + +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:bcmdata/export:Export": + r = &Export{} + 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", + "bcmdata/export", + &module{version}, + ) +} diff --git a/sdk/go/aws/bcmdata/pulumiTypes.go b/sdk/go/aws/bcmdata/pulumiTypes.go new file mode 100644 index 00000000000..01bc4b20e49 --- /dev/null +++ b/sdk/go/aws/bcmdata/pulumiTypes.go @@ -0,0 +1,1010 @@ +// 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 bcmdata + +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 ExportExport struct { + // Data query for this specific data export. See the `dataQuery` argument reference below. + DataQueries []ExportExportDataQuery `pulumi:"dataQueries"` + // Description for this specific data export. + Description *string `pulumi:"description"` + // Destination configuration for this specific data export. See the `destinationConfigurations` argument reference below. + DestinationConfigurations []ExportExportDestinationConfiguration `pulumi:"destinationConfigurations"` + // Amazon Resource Name (ARN) for this export. + ExportArn *string `pulumi:"exportArn"` + // Name of this specific data export. + Name string `pulumi:"name"` + // Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refreshCadence` argument reference below. + RefreshCadences []ExportExportRefreshCadence `pulumi:"refreshCadences"` +} + +// ExportExportInput is an input type that accepts ExportExportArgs and ExportExportOutput values. +// You can construct a concrete instance of `ExportExportInput` via: +// +// ExportExportArgs{...} +type ExportExportInput interface { + pulumi.Input + + ToExportExportOutput() ExportExportOutput + ToExportExportOutputWithContext(context.Context) ExportExportOutput +} + +type ExportExportArgs struct { + // Data query for this specific data export. See the `dataQuery` argument reference below. + DataQueries ExportExportDataQueryArrayInput `pulumi:"dataQueries"` + // Description for this specific data export. + Description pulumi.StringPtrInput `pulumi:"description"` + // Destination configuration for this specific data export. See the `destinationConfigurations` argument reference below. + DestinationConfigurations ExportExportDestinationConfigurationArrayInput `pulumi:"destinationConfigurations"` + // Amazon Resource Name (ARN) for this export. + ExportArn pulumi.StringPtrInput `pulumi:"exportArn"` + // Name of this specific data export. + Name pulumi.StringInput `pulumi:"name"` + // Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refreshCadence` argument reference below. + RefreshCadences ExportExportRefreshCadenceArrayInput `pulumi:"refreshCadences"` +} + +func (ExportExportArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExportExport)(nil)).Elem() +} + +func (i ExportExportArgs) ToExportExportOutput() ExportExportOutput { + return i.ToExportExportOutputWithContext(context.Background()) +} + +func (i ExportExportArgs) ToExportExportOutputWithContext(ctx context.Context) ExportExportOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportExportOutput) +} + +func (i ExportExportArgs) ToExportExportPtrOutput() ExportExportPtrOutput { + return i.ToExportExportPtrOutputWithContext(context.Background()) +} + +func (i ExportExportArgs) ToExportExportPtrOutputWithContext(ctx context.Context) ExportExportPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportExportOutput).ToExportExportPtrOutputWithContext(ctx) +} + +// ExportExportPtrInput is an input type that accepts ExportExportArgs, ExportExportPtr and ExportExportPtrOutput values. +// You can construct a concrete instance of `ExportExportPtrInput` via: +// +// ExportExportArgs{...} +// +// or: +// +// nil +type ExportExportPtrInput interface { + pulumi.Input + + ToExportExportPtrOutput() ExportExportPtrOutput + ToExportExportPtrOutputWithContext(context.Context) ExportExportPtrOutput +} + +type exportExportPtrType ExportExportArgs + +func ExportExportPtr(v *ExportExportArgs) ExportExportPtrInput { + return (*exportExportPtrType)(v) +} + +func (*exportExportPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ExportExport)(nil)).Elem() +} + +func (i *exportExportPtrType) ToExportExportPtrOutput() ExportExportPtrOutput { + return i.ToExportExportPtrOutputWithContext(context.Background()) +} + +func (i *exportExportPtrType) ToExportExportPtrOutputWithContext(ctx context.Context) ExportExportPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportExportPtrOutput) +} + +type ExportExportOutput struct{ *pulumi.OutputState } + +func (ExportExportOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExportExport)(nil)).Elem() +} + +func (o ExportExportOutput) ToExportExportOutput() ExportExportOutput { + return o +} + +func (o ExportExportOutput) ToExportExportOutputWithContext(ctx context.Context) ExportExportOutput { + return o +} + +func (o ExportExportOutput) ToExportExportPtrOutput() ExportExportPtrOutput { + return o.ToExportExportPtrOutputWithContext(context.Background()) +} + +func (o ExportExportOutput) ToExportExportPtrOutputWithContext(ctx context.Context) ExportExportPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ExportExport) *ExportExport { + return &v + }).(ExportExportPtrOutput) +} + +// Data query for this specific data export. See the `dataQuery` argument reference below. +func (o ExportExportOutput) DataQueries() ExportExportDataQueryArrayOutput { + return o.ApplyT(func(v ExportExport) []ExportExportDataQuery { return v.DataQueries }).(ExportExportDataQueryArrayOutput) +} + +// Description for this specific data export. +func (o ExportExportOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v ExportExport) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// Destination configuration for this specific data export. See the `destinationConfigurations` argument reference below. +func (o ExportExportOutput) DestinationConfigurations() ExportExportDestinationConfigurationArrayOutput { + return o.ApplyT(func(v ExportExport) []ExportExportDestinationConfiguration { return v.DestinationConfigurations }).(ExportExportDestinationConfigurationArrayOutput) +} + +// Amazon Resource Name (ARN) for this export. +func (o ExportExportOutput) ExportArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v ExportExport) *string { return v.ExportArn }).(pulumi.StringPtrOutput) +} + +// Name of this specific data export. +func (o ExportExportOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ExportExport) string { return v.Name }).(pulumi.StringOutput) +} + +// Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refreshCadence` argument reference below. +func (o ExportExportOutput) RefreshCadences() ExportExportRefreshCadenceArrayOutput { + return o.ApplyT(func(v ExportExport) []ExportExportRefreshCadence { return v.RefreshCadences }).(ExportExportRefreshCadenceArrayOutput) +} + +type ExportExportPtrOutput struct{ *pulumi.OutputState } + +func (ExportExportPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ExportExport)(nil)).Elem() +} + +func (o ExportExportPtrOutput) ToExportExportPtrOutput() ExportExportPtrOutput { + return o +} + +func (o ExportExportPtrOutput) ToExportExportPtrOutputWithContext(ctx context.Context) ExportExportPtrOutput { + return o +} + +func (o ExportExportPtrOutput) Elem() ExportExportOutput { + return o.ApplyT(func(v *ExportExport) ExportExport { + if v != nil { + return *v + } + var ret ExportExport + return ret + }).(ExportExportOutput) +} + +// Data query for this specific data export. See the `dataQuery` argument reference below. +func (o ExportExportPtrOutput) DataQueries() ExportExportDataQueryArrayOutput { + return o.ApplyT(func(v *ExportExport) []ExportExportDataQuery { + if v == nil { + return nil + } + return v.DataQueries + }).(ExportExportDataQueryArrayOutput) +} + +// Description for this specific data export. +func (o ExportExportPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ExportExport) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +// Destination configuration for this specific data export. See the `destinationConfigurations` argument reference below. +func (o ExportExportPtrOutput) DestinationConfigurations() ExportExportDestinationConfigurationArrayOutput { + return o.ApplyT(func(v *ExportExport) []ExportExportDestinationConfiguration { + if v == nil { + return nil + } + return v.DestinationConfigurations + }).(ExportExportDestinationConfigurationArrayOutput) +} + +// Amazon Resource Name (ARN) for this export. +func (o ExportExportPtrOutput) ExportArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ExportExport) *string { + if v == nil { + return nil + } + return v.ExportArn + }).(pulumi.StringPtrOutput) +} + +// Name of this specific data export. +func (o ExportExportPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ExportExport) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) +} + +// Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refreshCadence` argument reference below. +func (o ExportExportPtrOutput) RefreshCadences() ExportExportRefreshCadenceArrayOutput { + return o.ApplyT(func(v *ExportExport) []ExportExportRefreshCadence { + if v == nil { + return nil + } + return v.RefreshCadences + }).(ExportExportRefreshCadenceArrayOutput) +} + +type ExportExportDataQuery struct { + // Query statement. + QueryStatement string `pulumi:"queryStatement"` + // Table configuration. + TableConfigurations map[string]map[string]interface{} `pulumi:"tableConfigurations"` +} + +// ExportExportDataQueryInput is an input type that accepts ExportExportDataQueryArgs and ExportExportDataQueryOutput values. +// You can construct a concrete instance of `ExportExportDataQueryInput` via: +// +// ExportExportDataQueryArgs{...} +type ExportExportDataQueryInput interface { + pulumi.Input + + ToExportExportDataQueryOutput() ExportExportDataQueryOutput + ToExportExportDataQueryOutputWithContext(context.Context) ExportExportDataQueryOutput +} + +type ExportExportDataQueryArgs struct { + // Query statement. + QueryStatement pulumi.StringInput `pulumi:"queryStatement"` + // Table configuration. + TableConfigurations pulumi.MapMapInput `pulumi:"tableConfigurations"` +} + +func (ExportExportDataQueryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExportExportDataQuery)(nil)).Elem() +} + +func (i ExportExportDataQueryArgs) ToExportExportDataQueryOutput() ExportExportDataQueryOutput { + return i.ToExportExportDataQueryOutputWithContext(context.Background()) +} + +func (i ExportExportDataQueryArgs) ToExportExportDataQueryOutputWithContext(ctx context.Context) ExportExportDataQueryOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportExportDataQueryOutput) +} + +// ExportExportDataQueryArrayInput is an input type that accepts ExportExportDataQueryArray and ExportExportDataQueryArrayOutput values. +// You can construct a concrete instance of `ExportExportDataQueryArrayInput` via: +// +// ExportExportDataQueryArray{ ExportExportDataQueryArgs{...} } +type ExportExportDataQueryArrayInput interface { + pulumi.Input + + ToExportExportDataQueryArrayOutput() ExportExportDataQueryArrayOutput + ToExportExportDataQueryArrayOutputWithContext(context.Context) ExportExportDataQueryArrayOutput +} + +type ExportExportDataQueryArray []ExportExportDataQueryInput + +func (ExportExportDataQueryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExportExportDataQuery)(nil)).Elem() +} + +func (i ExportExportDataQueryArray) ToExportExportDataQueryArrayOutput() ExportExportDataQueryArrayOutput { + return i.ToExportExportDataQueryArrayOutputWithContext(context.Background()) +} + +func (i ExportExportDataQueryArray) ToExportExportDataQueryArrayOutputWithContext(ctx context.Context) ExportExportDataQueryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportExportDataQueryArrayOutput) +} + +type ExportExportDataQueryOutput struct{ *pulumi.OutputState } + +func (ExportExportDataQueryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExportExportDataQuery)(nil)).Elem() +} + +func (o ExportExportDataQueryOutput) ToExportExportDataQueryOutput() ExportExportDataQueryOutput { + return o +} + +func (o ExportExportDataQueryOutput) ToExportExportDataQueryOutputWithContext(ctx context.Context) ExportExportDataQueryOutput { + return o +} + +// Query statement. +func (o ExportExportDataQueryOutput) QueryStatement() pulumi.StringOutput { + return o.ApplyT(func(v ExportExportDataQuery) string { return v.QueryStatement }).(pulumi.StringOutput) +} + +// Table configuration. +func (o ExportExportDataQueryOutput) TableConfigurations() pulumi.MapMapOutput { + return o.ApplyT(func(v ExportExportDataQuery) map[string]map[string]interface{} { return v.TableConfigurations }).(pulumi.MapMapOutput) +} + +type ExportExportDataQueryArrayOutput struct{ *pulumi.OutputState } + +func (ExportExportDataQueryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExportExportDataQuery)(nil)).Elem() +} + +func (o ExportExportDataQueryArrayOutput) ToExportExportDataQueryArrayOutput() ExportExportDataQueryArrayOutput { + return o +} + +func (o ExportExportDataQueryArrayOutput) ToExportExportDataQueryArrayOutputWithContext(ctx context.Context) ExportExportDataQueryArrayOutput { + return o +} + +func (o ExportExportDataQueryArrayOutput) Index(i pulumi.IntInput) ExportExportDataQueryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExportExportDataQuery { + return vs[0].([]ExportExportDataQuery)[vs[1].(int)] + }).(ExportExportDataQueryOutput) +} + +type ExportExportDestinationConfiguration struct { + // Object that describes the destination of the data exports file. See the `s3Destination` argument reference below. + S3Destinations []ExportExportDestinationConfigurationS3Destination `pulumi:"s3Destinations"` +} + +// ExportExportDestinationConfigurationInput is an input type that accepts ExportExportDestinationConfigurationArgs and ExportExportDestinationConfigurationOutput values. +// You can construct a concrete instance of `ExportExportDestinationConfigurationInput` via: +// +// ExportExportDestinationConfigurationArgs{...} +type ExportExportDestinationConfigurationInput interface { + pulumi.Input + + ToExportExportDestinationConfigurationOutput() ExportExportDestinationConfigurationOutput + ToExportExportDestinationConfigurationOutputWithContext(context.Context) ExportExportDestinationConfigurationOutput +} + +type ExportExportDestinationConfigurationArgs struct { + // Object that describes the destination of the data exports file. See the `s3Destination` argument reference below. + S3Destinations ExportExportDestinationConfigurationS3DestinationArrayInput `pulumi:"s3Destinations"` +} + +func (ExportExportDestinationConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExportExportDestinationConfiguration)(nil)).Elem() +} + +func (i ExportExportDestinationConfigurationArgs) ToExportExportDestinationConfigurationOutput() ExportExportDestinationConfigurationOutput { + return i.ToExportExportDestinationConfigurationOutputWithContext(context.Background()) +} + +func (i ExportExportDestinationConfigurationArgs) ToExportExportDestinationConfigurationOutputWithContext(ctx context.Context) ExportExportDestinationConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportExportDestinationConfigurationOutput) +} + +// ExportExportDestinationConfigurationArrayInput is an input type that accepts ExportExportDestinationConfigurationArray and ExportExportDestinationConfigurationArrayOutput values. +// You can construct a concrete instance of `ExportExportDestinationConfigurationArrayInput` via: +// +// ExportExportDestinationConfigurationArray{ ExportExportDestinationConfigurationArgs{...} } +type ExportExportDestinationConfigurationArrayInput interface { + pulumi.Input + + ToExportExportDestinationConfigurationArrayOutput() ExportExportDestinationConfigurationArrayOutput + ToExportExportDestinationConfigurationArrayOutputWithContext(context.Context) ExportExportDestinationConfigurationArrayOutput +} + +type ExportExportDestinationConfigurationArray []ExportExportDestinationConfigurationInput + +func (ExportExportDestinationConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExportExportDestinationConfiguration)(nil)).Elem() +} + +func (i ExportExportDestinationConfigurationArray) ToExportExportDestinationConfigurationArrayOutput() ExportExportDestinationConfigurationArrayOutput { + return i.ToExportExportDestinationConfigurationArrayOutputWithContext(context.Background()) +} + +func (i ExportExportDestinationConfigurationArray) ToExportExportDestinationConfigurationArrayOutputWithContext(ctx context.Context) ExportExportDestinationConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportExportDestinationConfigurationArrayOutput) +} + +type ExportExportDestinationConfigurationOutput struct{ *pulumi.OutputState } + +func (ExportExportDestinationConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExportExportDestinationConfiguration)(nil)).Elem() +} + +func (o ExportExportDestinationConfigurationOutput) ToExportExportDestinationConfigurationOutput() ExportExportDestinationConfigurationOutput { + return o +} + +func (o ExportExportDestinationConfigurationOutput) ToExportExportDestinationConfigurationOutputWithContext(ctx context.Context) ExportExportDestinationConfigurationOutput { + return o +} + +// Object that describes the destination of the data exports file. See the `s3Destination` argument reference below. +func (o ExportExportDestinationConfigurationOutput) S3Destinations() ExportExportDestinationConfigurationS3DestinationArrayOutput { + return o.ApplyT(func(v ExportExportDestinationConfiguration) []ExportExportDestinationConfigurationS3Destination { + return v.S3Destinations + }).(ExportExportDestinationConfigurationS3DestinationArrayOutput) +} + +type ExportExportDestinationConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (ExportExportDestinationConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExportExportDestinationConfiguration)(nil)).Elem() +} + +func (o ExportExportDestinationConfigurationArrayOutput) ToExportExportDestinationConfigurationArrayOutput() ExportExportDestinationConfigurationArrayOutput { + return o +} + +func (o ExportExportDestinationConfigurationArrayOutput) ToExportExportDestinationConfigurationArrayOutputWithContext(ctx context.Context) ExportExportDestinationConfigurationArrayOutput { + return o +} + +func (o ExportExportDestinationConfigurationArrayOutput) Index(i pulumi.IntInput) ExportExportDestinationConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExportExportDestinationConfiguration { + return vs[0].([]ExportExportDestinationConfiguration)[vs[1].(int)] + }).(ExportExportDestinationConfigurationOutput) +} + +type ExportExportDestinationConfigurationS3Destination struct { + // Name of the Amazon S3 bucket used as the destination of a data export file. + S3Bucket string `pulumi:"s3Bucket"` + // Output configuration for the data export. See the `s3OutputConfigurations` argument reference below. + S3OutputConfigurations []ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration `pulumi:"s3OutputConfigurations"` + // S3 path prefix you want prepended to the name of your data export. + S3Prefix string `pulumi:"s3Prefix"` + // S3 bucket region. + S3Region string `pulumi:"s3Region"` +} + +// ExportExportDestinationConfigurationS3DestinationInput is an input type that accepts ExportExportDestinationConfigurationS3DestinationArgs and ExportExportDestinationConfigurationS3DestinationOutput values. +// You can construct a concrete instance of `ExportExportDestinationConfigurationS3DestinationInput` via: +// +// ExportExportDestinationConfigurationS3DestinationArgs{...} +type ExportExportDestinationConfigurationS3DestinationInput interface { + pulumi.Input + + ToExportExportDestinationConfigurationS3DestinationOutput() ExportExportDestinationConfigurationS3DestinationOutput + ToExportExportDestinationConfigurationS3DestinationOutputWithContext(context.Context) ExportExportDestinationConfigurationS3DestinationOutput +} + +type ExportExportDestinationConfigurationS3DestinationArgs struct { + // Name of the Amazon S3 bucket used as the destination of a data export file. + S3Bucket pulumi.StringInput `pulumi:"s3Bucket"` + // Output configuration for the data export. See the `s3OutputConfigurations` argument reference below. + S3OutputConfigurations ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayInput `pulumi:"s3OutputConfigurations"` + // S3 path prefix you want prepended to the name of your data export. + S3Prefix pulumi.StringInput `pulumi:"s3Prefix"` + // S3 bucket region. + S3Region pulumi.StringInput `pulumi:"s3Region"` +} + +func (ExportExportDestinationConfigurationS3DestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExportExportDestinationConfigurationS3Destination)(nil)).Elem() +} + +func (i ExportExportDestinationConfigurationS3DestinationArgs) ToExportExportDestinationConfigurationS3DestinationOutput() ExportExportDestinationConfigurationS3DestinationOutput { + return i.ToExportExportDestinationConfigurationS3DestinationOutputWithContext(context.Background()) +} + +func (i ExportExportDestinationConfigurationS3DestinationArgs) ToExportExportDestinationConfigurationS3DestinationOutputWithContext(ctx context.Context) ExportExportDestinationConfigurationS3DestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportExportDestinationConfigurationS3DestinationOutput) +} + +// ExportExportDestinationConfigurationS3DestinationArrayInput is an input type that accepts ExportExportDestinationConfigurationS3DestinationArray and ExportExportDestinationConfigurationS3DestinationArrayOutput values. +// You can construct a concrete instance of `ExportExportDestinationConfigurationS3DestinationArrayInput` via: +// +// ExportExportDestinationConfigurationS3DestinationArray{ ExportExportDestinationConfigurationS3DestinationArgs{...} } +type ExportExportDestinationConfigurationS3DestinationArrayInput interface { + pulumi.Input + + ToExportExportDestinationConfigurationS3DestinationArrayOutput() ExportExportDestinationConfigurationS3DestinationArrayOutput + ToExportExportDestinationConfigurationS3DestinationArrayOutputWithContext(context.Context) ExportExportDestinationConfigurationS3DestinationArrayOutput +} + +type ExportExportDestinationConfigurationS3DestinationArray []ExportExportDestinationConfigurationS3DestinationInput + +func (ExportExportDestinationConfigurationS3DestinationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExportExportDestinationConfigurationS3Destination)(nil)).Elem() +} + +func (i ExportExportDestinationConfigurationS3DestinationArray) ToExportExportDestinationConfigurationS3DestinationArrayOutput() ExportExportDestinationConfigurationS3DestinationArrayOutput { + return i.ToExportExportDestinationConfigurationS3DestinationArrayOutputWithContext(context.Background()) +} + +func (i ExportExportDestinationConfigurationS3DestinationArray) ToExportExportDestinationConfigurationS3DestinationArrayOutputWithContext(ctx context.Context) ExportExportDestinationConfigurationS3DestinationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportExportDestinationConfigurationS3DestinationArrayOutput) +} + +type ExportExportDestinationConfigurationS3DestinationOutput struct{ *pulumi.OutputState } + +func (ExportExportDestinationConfigurationS3DestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExportExportDestinationConfigurationS3Destination)(nil)).Elem() +} + +func (o ExportExportDestinationConfigurationS3DestinationOutput) ToExportExportDestinationConfigurationS3DestinationOutput() ExportExportDestinationConfigurationS3DestinationOutput { + return o +} + +func (o ExportExportDestinationConfigurationS3DestinationOutput) ToExportExportDestinationConfigurationS3DestinationOutputWithContext(ctx context.Context) ExportExportDestinationConfigurationS3DestinationOutput { + return o +} + +// Name of the Amazon S3 bucket used as the destination of a data export file. +func (o ExportExportDestinationConfigurationS3DestinationOutput) S3Bucket() pulumi.StringOutput { + return o.ApplyT(func(v ExportExportDestinationConfigurationS3Destination) string { return v.S3Bucket }).(pulumi.StringOutput) +} + +// Output configuration for the data export. See the `s3OutputConfigurations` argument reference below. +func (o ExportExportDestinationConfigurationS3DestinationOutput) S3OutputConfigurations() ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput { + return o.ApplyT(func(v ExportExportDestinationConfigurationS3Destination) []ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration { + return v.S3OutputConfigurations + }).(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput) +} + +// S3 path prefix you want prepended to the name of your data export. +func (o ExportExportDestinationConfigurationS3DestinationOutput) S3Prefix() pulumi.StringOutput { + return o.ApplyT(func(v ExportExportDestinationConfigurationS3Destination) string { return v.S3Prefix }).(pulumi.StringOutput) +} + +// S3 bucket region. +func (o ExportExportDestinationConfigurationS3DestinationOutput) S3Region() pulumi.StringOutput { + return o.ApplyT(func(v ExportExportDestinationConfigurationS3Destination) string { return v.S3Region }).(pulumi.StringOutput) +} + +type ExportExportDestinationConfigurationS3DestinationArrayOutput struct{ *pulumi.OutputState } + +func (ExportExportDestinationConfigurationS3DestinationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExportExportDestinationConfigurationS3Destination)(nil)).Elem() +} + +func (o ExportExportDestinationConfigurationS3DestinationArrayOutput) ToExportExportDestinationConfigurationS3DestinationArrayOutput() ExportExportDestinationConfigurationS3DestinationArrayOutput { + return o +} + +func (o ExportExportDestinationConfigurationS3DestinationArrayOutput) ToExportExportDestinationConfigurationS3DestinationArrayOutputWithContext(ctx context.Context) ExportExportDestinationConfigurationS3DestinationArrayOutput { + return o +} + +func (o ExportExportDestinationConfigurationS3DestinationArrayOutput) Index(i pulumi.IntInput) ExportExportDestinationConfigurationS3DestinationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExportExportDestinationConfigurationS3Destination { + return vs[0].([]ExportExportDestinationConfigurationS3Destination)[vs[1].(int)] + }).(ExportExportDestinationConfigurationS3DestinationOutput) +} + +type ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration struct { + // Compression type for the data export. Valid values `GZIP`, `PARQUET`. + Compression string `pulumi:"compression"` + // File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + Format string `pulumi:"format"` + // Output type for the data export. Valid value `CUSTOM`. + OutputType string `pulumi:"outputType"` + // The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + Overwrite string `pulumi:"overwrite"` +} + +// ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationInput is an input type that accepts ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs and ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput values. +// You can construct a concrete instance of `ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationInput` via: +// +// ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs{...} +type ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationInput interface { + pulumi.Input + + ToExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput() ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput + ToExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutputWithContext(context.Context) ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput +} + +type ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs struct { + // Compression type for the data export. Valid values `GZIP`, `PARQUET`. + Compression pulumi.StringInput `pulumi:"compression"` + // File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + Format pulumi.StringInput `pulumi:"format"` + // Output type for the data export. Valid value `CUSTOM`. + OutputType pulumi.StringInput `pulumi:"outputType"` + // The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + Overwrite pulumi.StringInput `pulumi:"overwrite"` +} + +func (ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration)(nil)).Elem() +} + +func (i ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs) ToExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput() ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput { + return i.ToExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutputWithContext(context.Background()) +} + +func (i ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs) ToExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutputWithContext(ctx context.Context) ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput) +} + +// ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayInput is an input type that accepts ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArray and ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput values. +// You can construct a concrete instance of `ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayInput` via: +// +// ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArray{ ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs{...} } +type ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayInput interface { + pulumi.Input + + ToExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput() ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput + ToExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutputWithContext(context.Context) ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput +} + +type ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArray []ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationInput + +func (ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration)(nil)).Elem() +} + +func (i ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArray) ToExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput() ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput { + return i.ToExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutputWithContext(context.Background()) +} + +func (i ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArray) ToExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutputWithContext(ctx context.Context) ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput) +} + +type ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput struct{ *pulumi.OutputState } + +func (ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration)(nil)).Elem() +} + +func (o ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput) ToExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput() ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput { + return o +} + +func (o ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput) ToExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutputWithContext(ctx context.Context) ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput { + return o +} + +// Compression type for the data export. Valid values `GZIP`, `PARQUET`. +func (o ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput) Compression() pulumi.StringOutput { + return o.ApplyT(func(v ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration) string { + return v.Compression + }).(pulumi.StringOutput) +} + +// File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. +func (o ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput) Format() pulumi.StringOutput { + return o.ApplyT(func(v ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration) string { return v.Format }).(pulumi.StringOutput) +} + +// Output type for the data export. Valid value `CUSTOM`. +func (o ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput) OutputType() pulumi.StringOutput { + return o.ApplyT(func(v ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration) string { + return v.OutputType + }).(pulumi.StringOutput) +} + +// The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. +func (o ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput) Overwrite() pulumi.StringOutput { + return o.ApplyT(func(v ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration) string { + return v.Overwrite + }).(pulumi.StringOutput) +} + +type ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration)(nil)).Elem() +} + +func (o ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput) ToExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput() ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput { + return o +} + +func (o ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput) ToExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutputWithContext(ctx context.Context) ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput { + return o +} + +func (o ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput) Index(i pulumi.IntInput) ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration { + return vs[0].([]ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration)[vs[1].(int)] + }).(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput) +} + +type ExportExportRefreshCadence struct { + // Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + Frequency string `pulumi:"frequency"` +} + +// ExportExportRefreshCadenceInput is an input type that accepts ExportExportRefreshCadenceArgs and ExportExportRefreshCadenceOutput values. +// You can construct a concrete instance of `ExportExportRefreshCadenceInput` via: +// +// ExportExportRefreshCadenceArgs{...} +type ExportExportRefreshCadenceInput interface { + pulumi.Input + + ToExportExportRefreshCadenceOutput() ExportExportRefreshCadenceOutput + ToExportExportRefreshCadenceOutputWithContext(context.Context) ExportExportRefreshCadenceOutput +} + +type ExportExportRefreshCadenceArgs struct { + // Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + Frequency pulumi.StringInput `pulumi:"frequency"` +} + +func (ExportExportRefreshCadenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExportExportRefreshCadence)(nil)).Elem() +} + +func (i ExportExportRefreshCadenceArgs) ToExportExportRefreshCadenceOutput() ExportExportRefreshCadenceOutput { + return i.ToExportExportRefreshCadenceOutputWithContext(context.Background()) +} + +func (i ExportExportRefreshCadenceArgs) ToExportExportRefreshCadenceOutputWithContext(ctx context.Context) ExportExportRefreshCadenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportExportRefreshCadenceOutput) +} + +// ExportExportRefreshCadenceArrayInput is an input type that accepts ExportExportRefreshCadenceArray and ExportExportRefreshCadenceArrayOutput values. +// You can construct a concrete instance of `ExportExportRefreshCadenceArrayInput` via: +// +// ExportExportRefreshCadenceArray{ ExportExportRefreshCadenceArgs{...} } +type ExportExportRefreshCadenceArrayInput interface { + pulumi.Input + + ToExportExportRefreshCadenceArrayOutput() ExportExportRefreshCadenceArrayOutput + ToExportExportRefreshCadenceArrayOutputWithContext(context.Context) ExportExportRefreshCadenceArrayOutput +} + +type ExportExportRefreshCadenceArray []ExportExportRefreshCadenceInput + +func (ExportExportRefreshCadenceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExportExportRefreshCadence)(nil)).Elem() +} + +func (i ExportExportRefreshCadenceArray) ToExportExportRefreshCadenceArrayOutput() ExportExportRefreshCadenceArrayOutput { + return i.ToExportExportRefreshCadenceArrayOutputWithContext(context.Background()) +} + +func (i ExportExportRefreshCadenceArray) ToExportExportRefreshCadenceArrayOutputWithContext(ctx context.Context) ExportExportRefreshCadenceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportExportRefreshCadenceArrayOutput) +} + +type ExportExportRefreshCadenceOutput struct{ *pulumi.OutputState } + +func (ExportExportRefreshCadenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExportExportRefreshCadence)(nil)).Elem() +} + +func (o ExportExportRefreshCadenceOutput) ToExportExportRefreshCadenceOutput() ExportExportRefreshCadenceOutput { + return o +} + +func (o ExportExportRefreshCadenceOutput) ToExportExportRefreshCadenceOutputWithContext(ctx context.Context) ExportExportRefreshCadenceOutput { + return o +} + +// Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. +func (o ExportExportRefreshCadenceOutput) Frequency() pulumi.StringOutput { + return o.ApplyT(func(v ExportExportRefreshCadence) string { return v.Frequency }).(pulumi.StringOutput) +} + +type ExportExportRefreshCadenceArrayOutput struct{ *pulumi.OutputState } + +func (ExportExportRefreshCadenceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExportExportRefreshCadence)(nil)).Elem() +} + +func (o ExportExportRefreshCadenceArrayOutput) ToExportExportRefreshCadenceArrayOutput() ExportExportRefreshCadenceArrayOutput { + return o +} + +func (o ExportExportRefreshCadenceArrayOutput) ToExportExportRefreshCadenceArrayOutputWithContext(ctx context.Context) ExportExportRefreshCadenceArrayOutput { + return o +} + +func (o ExportExportRefreshCadenceArrayOutput) Index(i pulumi.IntInput) ExportExportRefreshCadenceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExportExportRefreshCadence { + return vs[0].([]ExportExportRefreshCadence)[vs[1].(int)] + }).(ExportExportRefreshCadenceOutput) +} + +type ExportTimeouts 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"` +} + +// ExportTimeoutsInput is an input type that accepts ExportTimeoutsArgs and ExportTimeoutsOutput values. +// You can construct a concrete instance of `ExportTimeoutsInput` via: +// +// ExportTimeoutsArgs{...} +type ExportTimeoutsInput interface { + pulumi.Input + + ToExportTimeoutsOutput() ExportTimeoutsOutput + ToExportTimeoutsOutputWithContext(context.Context) ExportTimeoutsOutput +} + +type ExportTimeoutsArgs 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 (ExportTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExportTimeouts)(nil)).Elem() +} + +func (i ExportTimeoutsArgs) ToExportTimeoutsOutput() ExportTimeoutsOutput { + return i.ToExportTimeoutsOutputWithContext(context.Background()) +} + +func (i ExportTimeoutsArgs) ToExportTimeoutsOutputWithContext(ctx context.Context) ExportTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportTimeoutsOutput) +} + +func (i ExportTimeoutsArgs) ToExportTimeoutsPtrOutput() ExportTimeoutsPtrOutput { + return i.ToExportTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i ExportTimeoutsArgs) ToExportTimeoutsPtrOutputWithContext(ctx context.Context) ExportTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportTimeoutsOutput).ToExportTimeoutsPtrOutputWithContext(ctx) +} + +// ExportTimeoutsPtrInput is an input type that accepts ExportTimeoutsArgs, ExportTimeoutsPtr and ExportTimeoutsPtrOutput values. +// You can construct a concrete instance of `ExportTimeoutsPtrInput` via: +// +// ExportTimeoutsArgs{...} +// +// or: +// +// nil +type ExportTimeoutsPtrInput interface { + pulumi.Input + + ToExportTimeoutsPtrOutput() ExportTimeoutsPtrOutput + ToExportTimeoutsPtrOutputWithContext(context.Context) ExportTimeoutsPtrOutput +} + +type exportTimeoutsPtrType ExportTimeoutsArgs + +func ExportTimeoutsPtr(v *ExportTimeoutsArgs) ExportTimeoutsPtrInput { + return (*exportTimeoutsPtrType)(v) +} + +func (*exportTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ExportTimeouts)(nil)).Elem() +} + +func (i *exportTimeoutsPtrType) ToExportTimeoutsPtrOutput() ExportTimeoutsPtrOutput { + return i.ToExportTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *exportTimeoutsPtrType) ToExportTimeoutsPtrOutputWithContext(ctx context.Context) ExportTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExportTimeoutsPtrOutput) +} + +type ExportTimeoutsOutput struct{ *pulumi.OutputState } + +func (ExportTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExportTimeouts)(nil)).Elem() +} + +func (o ExportTimeoutsOutput) ToExportTimeoutsOutput() ExportTimeoutsOutput { + return o +} + +func (o ExportTimeoutsOutput) ToExportTimeoutsOutputWithContext(ctx context.Context) ExportTimeoutsOutput { + return o +} + +func (o ExportTimeoutsOutput) ToExportTimeoutsPtrOutput() ExportTimeoutsPtrOutput { + return o.ToExportTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o ExportTimeoutsOutput) ToExportTimeoutsPtrOutputWithContext(ctx context.Context) ExportTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ExportTimeouts) *ExportTimeouts { + return &v + }).(ExportTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 ExportTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v ExportTimeouts) *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 ExportTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v ExportTimeouts) *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 ExportTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v ExportTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type ExportTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (ExportTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ExportTimeouts)(nil)).Elem() +} + +func (o ExportTimeoutsPtrOutput) ToExportTimeoutsPtrOutput() ExportTimeoutsPtrOutput { + return o +} + +func (o ExportTimeoutsPtrOutput) ToExportTimeoutsPtrOutputWithContext(ctx context.Context) ExportTimeoutsPtrOutput { + return o +} + +func (o ExportTimeoutsPtrOutput) Elem() ExportTimeoutsOutput { + return o.ApplyT(func(v *ExportTimeouts) ExportTimeouts { + if v != nil { + return *v + } + var ret ExportTimeouts + return ret + }).(ExportTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 ExportTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ExportTimeouts) *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 ExportTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ExportTimeouts) *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 ExportTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ExportTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ExportExportInput)(nil)).Elem(), ExportExportArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExportExportPtrInput)(nil)).Elem(), ExportExportArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExportExportDataQueryInput)(nil)).Elem(), ExportExportDataQueryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExportExportDataQueryArrayInput)(nil)).Elem(), ExportExportDataQueryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExportExportDestinationConfigurationInput)(nil)).Elem(), ExportExportDestinationConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExportExportDestinationConfigurationArrayInput)(nil)).Elem(), ExportExportDestinationConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExportExportDestinationConfigurationS3DestinationInput)(nil)).Elem(), ExportExportDestinationConfigurationS3DestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExportExportDestinationConfigurationS3DestinationArrayInput)(nil)).Elem(), ExportExportDestinationConfigurationS3DestinationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationInput)(nil)).Elem(), ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayInput)(nil)).Elem(), ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExportExportRefreshCadenceInput)(nil)).Elem(), ExportExportRefreshCadenceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExportExportRefreshCadenceArrayInput)(nil)).Elem(), ExportExportRefreshCadenceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExportTimeoutsInput)(nil)).Elem(), ExportTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ExportTimeoutsPtrInput)(nil)).Elem(), ExportTimeoutsArgs{}) + pulumi.RegisterOutputType(ExportExportOutput{}) + pulumi.RegisterOutputType(ExportExportPtrOutput{}) + pulumi.RegisterOutputType(ExportExportDataQueryOutput{}) + pulumi.RegisterOutputType(ExportExportDataQueryArrayOutput{}) + pulumi.RegisterOutputType(ExportExportDestinationConfigurationOutput{}) + pulumi.RegisterOutputType(ExportExportDestinationConfigurationArrayOutput{}) + pulumi.RegisterOutputType(ExportExportDestinationConfigurationS3DestinationOutput{}) + pulumi.RegisterOutputType(ExportExportDestinationConfigurationS3DestinationArrayOutput{}) + pulumi.RegisterOutputType(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationOutput{}) + pulumi.RegisterOutputType(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArrayOutput{}) + pulumi.RegisterOutputType(ExportExportRefreshCadenceOutput{}) + pulumi.RegisterOutputType(ExportExportRefreshCadenceArrayOutput{}) + pulumi.RegisterOutputType(ExportTimeoutsOutput{}) + pulumi.RegisterOutputType(ExportTimeoutsPtrOutput{}) +} diff --git a/sdk/go/aws/bedrock/agentAgent.go b/sdk/go/aws/bedrock/agentAgent.go new file mode 100644 index 00000000000..33d51a9d7dd --- /dev/null +++ b/sdk/go/aws/bedrock/agentAgent.go @@ -0,0 +1,535 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package bedrock + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an AWS Agents for Amazon Bedrock Agent. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// current, err := aws.GetCallerIdentity(ctx, nil, nil); +// if err != nil { +// return err +// } +// currentGetRegion, err := aws.GetRegion(ctx, nil, nil); +// if err != nil { +// return err +// } +// exampleAgentTrust, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ +// Statements: []iam.GetPolicyDocumentStatement{ +// { +// Actions: []string{ +// "sts:AssumeRole", +// }, +// Principals: []iam.GetPolicyDocumentStatementPrincipal{ +// { +// Identifiers: []string{ +// "bedrock.amazonaws.com", +// }, +// Type: "Service", +// }, +// }, +// Conditions: []iam.GetPolicyDocumentStatementCondition{ +// { +// Test: "StringEquals", +// Values: interface{}{ +// current.AccountId, +// }, +// Variable: "aws:SourceAccount", +// }, +// { +// Test: "ArnLike", +// Values: []string{ +// fmt.Sprintf("arn:aws:bedrock:%v:%v:agent/*", currentGetRegion.Name, current.AccountId), +// }, +// Variable: "AWS:SourceArn", +// }, +// }, +// }, +// }, +// }, nil); +// if err != nil { +// return err +// } +// example, err := iam.NewRole(ctx, "example", &iam.RoleArgs{ +// AssumeRolePolicy: pulumi.String(exampleAgentTrust.Json), +// NamePrefix: pulumi.String("AmazonBedrockExecutionRoleForAgents_"), +// }) +// if err != nil { +// return err +// } +// exampleAgentPermissions, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{ +// Statements: []iam.GetPolicyDocumentStatement{ +// { +// Actions: []string{ +// "bedrock:InvokeModel", +// }, +// Resources: []string{ +// fmt.Sprintf("arn:aws:bedrock:%v::foundation-model/anthropic.claude-v2", currentGetRegion.Name), +// }, +// }, +// }, +// }, nil); +// if err != nil { +// return err +// } +// _, err = iam.NewRolePolicy(ctx, "example", &iam.RolePolicyArgs{ +// Policy: pulumi.String(exampleAgentPermissions.Json), +// Role: example.ID(), +// }) +// if err != nil { +// return err +// } +// _, err = bedrock.NewAgentAgent(ctx, "test", &bedrock.AgentAgentArgs{ +// AgentName: pulumi.String("my-agent-name"), +// AgentResourceRoleArn: example.Arn, +// IdleSessionTtlInSeconds: pulumi.Int(500), +// FoundationModel: pulumi.String("anthropic.claude-v2"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// ``` +// +// ## Import +// +// Using `pulumi import`, import Agents for Amazon Bedrock Agent using the `abcdef1234`. For example: +// +// ```sh +// $ pulumi import aws:bedrock/agentAgent:AgentAgent example abcdef1234 +// ``` +type AgentAgent struct { + pulumi.CustomResourceState + + // ARN of the Agent. + AgentArn pulumi.StringOutput `pulumi:"agentArn"` + // ID of the Agent. + AgentId pulumi.StringOutput `pulumi:"agentId"` + // Name for the agent. + AgentName pulumi.StringOutput `pulumi:"agentName"` + // ARN of the Role for the agent. + AgentResourceRoleArn pulumi.StringOutput `pulumi:"agentResourceRoleArn"` + // Version of the Agent. + AgentVersion pulumi.StringOutput `pulumi:"agentVersion"` + // ARN of customer manager key to use for encryption. + CustomerEncryptionKeyArn pulumi.StringPtrOutput `pulumi:"customerEncryptionKeyArn"` + // Description of the agent. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Foundation model for the agent to use. + // + // The following arguments are optional: + FoundationModel pulumi.StringOutput `pulumi:"foundationModel"` + // TTL in seconds for the agent to idle. + IdleSessionTtlInSeconds pulumi.IntOutput `pulumi:"idleSessionTtlInSeconds"` + // Instructions to tell agent what it should do. + Instruction pulumi.StringOutput `pulumi:"instruction"` + PrepareAgent pulumi.BoolOutput `pulumi:"prepareAgent"` + // Prompt Override Configuration + PromptOverrideConfigurations AgentAgentPromptOverrideConfigurationArrayOutput `pulumi:"promptOverrideConfigurations"` + // Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + Timeouts AgentAgentTimeoutsPtrOutput `pulumi:"timeouts"` +} + +// NewAgentAgent registers a new resource with the given unique name, arguments, and options. +func NewAgentAgent(ctx *pulumi.Context, + name string, args *AgentAgentArgs, opts ...pulumi.ResourceOption) (*AgentAgent, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AgentName == nil { + return nil, errors.New("invalid value for required argument 'AgentName'") + } + if args.AgentResourceRoleArn == nil { + return nil, errors.New("invalid value for required argument 'AgentResourceRoleArn'") + } + if args.FoundationModel == nil { + return nil, errors.New("invalid value for required argument 'FoundationModel'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AgentAgent + err := ctx.RegisterResource("aws:bedrock/agentAgent:AgentAgent", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAgentAgent gets an existing AgentAgent 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 GetAgentAgent(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AgentAgentState, opts ...pulumi.ResourceOption) (*AgentAgent, error) { + var resource AgentAgent + err := ctx.ReadResource("aws:bedrock/agentAgent:AgentAgent", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AgentAgent resources. +type agentAgentState struct { + // ARN of the Agent. + AgentArn *string `pulumi:"agentArn"` + // ID of the Agent. + AgentId *string `pulumi:"agentId"` + // Name for the agent. + AgentName *string `pulumi:"agentName"` + // ARN of the Role for the agent. + AgentResourceRoleArn *string `pulumi:"agentResourceRoleArn"` + // Version of the Agent. + AgentVersion *string `pulumi:"agentVersion"` + // ARN of customer manager key to use for encryption. + CustomerEncryptionKeyArn *string `pulumi:"customerEncryptionKeyArn"` + // Description of the agent. + Description *string `pulumi:"description"` + // Foundation model for the agent to use. + // + // The following arguments are optional: + FoundationModel *string `pulumi:"foundationModel"` + // TTL in seconds for the agent to idle. + IdleSessionTtlInSeconds *int `pulumi:"idleSessionTtlInSeconds"` + // Instructions to tell agent what it should do. + Instruction *string `pulumi:"instruction"` + PrepareAgent *bool `pulumi:"prepareAgent"` + // Prompt Override Configuration + PromptOverrideConfigurations []AgentAgentPromptOverrideConfiguration `pulumi:"promptOverrideConfigurations"` + // Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` + Timeouts *AgentAgentTimeouts `pulumi:"timeouts"` +} + +type AgentAgentState struct { + // ARN of the Agent. + AgentArn pulumi.StringPtrInput + // ID of the Agent. + AgentId pulumi.StringPtrInput + // Name for the agent. + AgentName pulumi.StringPtrInput + // ARN of the Role for the agent. + AgentResourceRoleArn pulumi.StringPtrInput + // Version of the Agent. + AgentVersion pulumi.StringPtrInput + // ARN of customer manager key to use for encryption. + CustomerEncryptionKeyArn pulumi.StringPtrInput + // Description of the agent. + Description pulumi.StringPtrInput + // Foundation model for the agent to use. + // + // The following arguments are optional: + FoundationModel pulumi.StringPtrInput + // TTL in seconds for the agent to idle. + IdleSessionTtlInSeconds pulumi.IntPtrInput + // Instructions to tell agent what it should do. + Instruction pulumi.StringPtrInput + PrepareAgent pulumi.BoolPtrInput + // Prompt Override Configuration + PromptOverrideConfigurations AgentAgentPromptOverrideConfigurationArrayInput + // Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput + Timeouts AgentAgentTimeoutsPtrInput +} + +func (AgentAgentState) ElementType() reflect.Type { + return reflect.TypeOf((*agentAgentState)(nil)).Elem() +} + +type agentAgentArgs struct { + // Name for the agent. + AgentName string `pulumi:"agentName"` + // ARN of the Role for the agent. + AgentResourceRoleArn string `pulumi:"agentResourceRoleArn"` + // ARN of customer manager key to use for encryption. + CustomerEncryptionKeyArn *string `pulumi:"customerEncryptionKeyArn"` + // Description of the agent. + Description *string `pulumi:"description"` + // Foundation model for the agent to use. + // + // The following arguments are optional: + FoundationModel string `pulumi:"foundationModel"` + // TTL in seconds for the agent to idle. + IdleSessionTtlInSeconds *int `pulumi:"idleSessionTtlInSeconds"` + // Instructions to tell agent what it should do. + Instruction *string `pulumi:"instruction"` + PrepareAgent *bool `pulumi:"prepareAgent"` + // Prompt Override Configuration + PromptOverrideConfigurations []AgentAgentPromptOverrideConfiguration `pulumi:"promptOverrideConfigurations"` + // Key-value tags for the place index. 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 *AgentAgentTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a AgentAgent resource. +type AgentAgentArgs struct { + // Name for the agent. + AgentName pulumi.StringInput + // ARN of the Role for the agent. + AgentResourceRoleArn pulumi.StringInput + // ARN of customer manager key to use for encryption. + CustomerEncryptionKeyArn pulumi.StringPtrInput + // Description of the agent. + Description pulumi.StringPtrInput + // Foundation model for the agent to use. + // + // The following arguments are optional: + FoundationModel pulumi.StringInput + // TTL in seconds for the agent to idle. + IdleSessionTtlInSeconds pulumi.IntPtrInput + // Instructions to tell agent what it should do. + Instruction pulumi.StringPtrInput + PrepareAgent pulumi.BoolPtrInput + // Prompt Override Configuration + PromptOverrideConfigurations AgentAgentPromptOverrideConfigurationArrayInput + // Key-value tags for the place index. 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 AgentAgentTimeoutsPtrInput +} + +func (AgentAgentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*agentAgentArgs)(nil)).Elem() +} + +type AgentAgentInput interface { + pulumi.Input + + ToAgentAgentOutput() AgentAgentOutput + ToAgentAgentOutputWithContext(ctx context.Context) AgentAgentOutput +} + +func (*AgentAgent) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgent)(nil)).Elem() +} + +func (i *AgentAgent) ToAgentAgentOutput() AgentAgentOutput { + return i.ToAgentAgentOutputWithContext(context.Background()) +} + +func (i *AgentAgent) ToAgentAgentOutputWithContext(ctx context.Context) AgentAgentOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentOutput) +} + +// AgentAgentArrayInput is an input type that accepts AgentAgentArray and AgentAgentArrayOutput values. +// You can construct a concrete instance of `AgentAgentArrayInput` via: +// +// AgentAgentArray{ AgentAgentArgs{...} } +type AgentAgentArrayInput interface { + pulumi.Input + + ToAgentAgentArrayOutput() AgentAgentArrayOutput + ToAgentAgentArrayOutputWithContext(context.Context) AgentAgentArrayOutput +} + +type AgentAgentArray []AgentAgentInput + +func (AgentAgentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AgentAgent)(nil)).Elem() +} + +func (i AgentAgentArray) ToAgentAgentArrayOutput() AgentAgentArrayOutput { + return i.ToAgentAgentArrayOutputWithContext(context.Background()) +} + +func (i AgentAgentArray) ToAgentAgentArrayOutputWithContext(ctx context.Context) AgentAgentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentArrayOutput) +} + +// AgentAgentMapInput is an input type that accepts AgentAgentMap and AgentAgentMapOutput values. +// You can construct a concrete instance of `AgentAgentMapInput` via: +// +// AgentAgentMap{ "key": AgentAgentArgs{...} } +type AgentAgentMapInput interface { + pulumi.Input + + ToAgentAgentMapOutput() AgentAgentMapOutput + ToAgentAgentMapOutputWithContext(context.Context) AgentAgentMapOutput +} + +type AgentAgentMap map[string]AgentAgentInput + +func (AgentAgentMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AgentAgent)(nil)).Elem() +} + +func (i AgentAgentMap) ToAgentAgentMapOutput() AgentAgentMapOutput { + return i.ToAgentAgentMapOutputWithContext(context.Background()) +} + +func (i AgentAgentMap) ToAgentAgentMapOutputWithContext(ctx context.Context) AgentAgentMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentMapOutput) +} + +type AgentAgentOutput struct{ *pulumi.OutputState } + +func (AgentAgentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgent)(nil)).Elem() +} + +func (o AgentAgentOutput) ToAgentAgentOutput() AgentAgentOutput { + return o +} + +func (o AgentAgentOutput) ToAgentAgentOutputWithContext(ctx context.Context) AgentAgentOutput { + return o +} + +// ARN of the Agent. +func (o AgentAgentOutput) AgentArn() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgent) pulumi.StringOutput { return v.AgentArn }).(pulumi.StringOutput) +} + +// ID of the Agent. +func (o AgentAgentOutput) AgentId() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgent) pulumi.StringOutput { return v.AgentId }).(pulumi.StringOutput) +} + +// Name for the agent. +func (o AgentAgentOutput) AgentName() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgent) pulumi.StringOutput { return v.AgentName }).(pulumi.StringOutput) +} + +// ARN of the Role for the agent. +func (o AgentAgentOutput) AgentResourceRoleArn() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgent) pulumi.StringOutput { return v.AgentResourceRoleArn }).(pulumi.StringOutput) +} + +// Version of the Agent. +func (o AgentAgentOutput) AgentVersion() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgent) pulumi.StringOutput { return v.AgentVersion }).(pulumi.StringOutput) +} + +// ARN of customer manager key to use for encryption. +func (o AgentAgentOutput) CustomerEncryptionKeyArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAgent) pulumi.StringPtrOutput { return v.CustomerEncryptionKeyArn }).(pulumi.StringPtrOutput) +} + +// Description of the agent. +func (o AgentAgentOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAgent) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Foundation model for the agent to use. +// +// The following arguments are optional: +func (o AgentAgentOutput) FoundationModel() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgent) pulumi.StringOutput { return v.FoundationModel }).(pulumi.StringOutput) +} + +// TTL in seconds for the agent to idle. +func (o AgentAgentOutput) IdleSessionTtlInSeconds() pulumi.IntOutput { + return o.ApplyT(func(v *AgentAgent) pulumi.IntOutput { return v.IdleSessionTtlInSeconds }).(pulumi.IntOutput) +} + +// Instructions to tell agent what it should do. +func (o AgentAgentOutput) Instruction() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgent) pulumi.StringOutput { return v.Instruction }).(pulumi.StringOutput) +} + +func (o AgentAgentOutput) PrepareAgent() pulumi.BoolOutput { + return o.ApplyT(func(v *AgentAgent) pulumi.BoolOutput { return v.PrepareAgent }).(pulumi.BoolOutput) +} + +// Prompt Override Configuration +func (o AgentAgentOutput) PromptOverrideConfigurations() AgentAgentPromptOverrideConfigurationArrayOutput { + return o.ApplyT(func(v *AgentAgent) AgentAgentPromptOverrideConfigurationArrayOutput { + return v.PromptOverrideConfigurations + }).(AgentAgentPromptOverrideConfigurationArrayOutput) +} + +// Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o AgentAgentOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *AgentAgent) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// Deprecated: Please use `tags` instead. +func (o AgentAgentOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *AgentAgent) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +func (o AgentAgentOutput) Timeouts() AgentAgentTimeoutsPtrOutput { + return o.ApplyT(func(v *AgentAgent) AgentAgentTimeoutsPtrOutput { return v.Timeouts }).(AgentAgentTimeoutsPtrOutput) +} + +type AgentAgentArrayOutput struct{ *pulumi.OutputState } + +func (AgentAgentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AgentAgent)(nil)).Elem() +} + +func (o AgentAgentArrayOutput) ToAgentAgentArrayOutput() AgentAgentArrayOutput { + return o +} + +func (o AgentAgentArrayOutput) ToAgentAgentArrayOutputWithContext(ctx context.Context) AgentAgentArrayOutput { + return o +} + +func (o AgentAgentArrayOutput) Index(i pulumi.IntInput) AgentAgentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AgentAgent { + return vs[0].([]*AgentAgent)[vs[1].(int)] + }).(AgentAgentOutput) +} + +type AgentAgentMapOutput struct{ *pulumi.OutputState } + +func (AgentAgentMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AgentAgent)(nil)).Elem() +} + +func (o AgentAgentMapOutput) ToAgentAgentMapOutput() AgentAgentMapOutput { + return o +} + +func (o AgentAgentMapOutput) ToAgentAgentMapOutputWithContext(ctx context.Context) AgentAgentMapOutput { + return o +} + +func (o AgentAgentMapOutput) MapIndex(k pulumi.StringInput) AgentAgentOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AgentAgent { + return vs[0].(map[string]*AgentAgent)[vs[1].(string)] + }).(AgentAgentOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentInput)(nil)).Elem(), &AgentAgent{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentArrayInput)(nil)).Elem(), AgentAgentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentMapInput)(nil)).Elem(), AgentAgentMap{}) + pulumi.RegisterOutputType(AgentAgentOutput{}) + pulumi.RegisterOutputType(AgentAgentArrayOutput{}) + pulumi.RegisterOutputType(AgentAgentMapOutput{}) +} diff --git a/sdk/go/aws/bedrock/agentAgentActionGroup.go b/sdk/go/aws/bedrock/agentAgentActionGroup.go new file mode 100644 index 00000000000..c13a45043a5 --- /dev/null +++ b/sdk/go/aws/bedrock/agentAgentActionGroup.go @@ -0,0 +1,378 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package bedrock + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an AWS Agents for Amazon Bedrock Agent Action Group. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := bedrock.NewAgentAgentActionGroup(ctx, "example", &bedrock.AgentAgentActionGroupArgs{ +// ActionGroupName: pulumi.String("example"), +// AgentId: pulumi.String("ABDJFOWER1"), +// AgentVersion: pulumi.String("DRAFT"), +// SkipResourceInUseCheck: pulumi.Bool(true), +// ActionGroupExecutor: &bedrock.AgentAgentActionGroupActionGroupExecutorArgs{ +// Lambda: pulumi.String("arn:aws:lambda:us-east-1:123456789012:function:example-function"), +// }, +// ApiSchema: &bedrock.AgentAgentActionGroupApiSchemaArgs{ +// S3: &bedrock.AgentAgentActionGroupApiSchemaS3Args{ +// S3BucketName: pulumi.String("example-bucket"), +// S3ObjectKey: pulumi.String("path/to/schema.json"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import Agents for Amazon Bedrock Agent Action Group using the `example_id_arg`. For example: +// +// ```sh +// $ pulumi import aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup example ABDJFOWER1,HSKTNKANI4,DRAFT +// ``` +type AgentAgentActionGroup struct { + pulumi.CustomResourceState + + // Configuration of the executor for the Action Group. + ActionGroupExecutor AgentAgentActionGroupActionGroupExecutorPtrOutput `pulumi:"actionGroupExecutor"` + ActionGroupId pulumi.StringOutput `pulumi:"actionGroupId"` + // Name of the Agent Action Group. + ActionGroupName pulumi.StringOutput `pulumi:"actionGroupName"` + ActionGroupState pulumi.StringOutput `pulumi:"actionGroupState"` + // Id of the Agent for the Action Group. + AgentId pulumi.StringOutput `pulumi:"agentId"` + // Version of the Agent to attach the Action Group to. + AgentVersion pulumi.StringOutput `pulumi:"agentVersion"` + // Configuration of the API Schema for the Action Group. + ApiSchema AgentAgentActionGroupApiSchemaPtrOutput `pulumi:"apiSchema"` + Description pulumi.StringPtrOutput `pulumi:"description"` + ParentActionGroupSignature pulumi.StringPtrOutput `pulumi:"parentActionGroupSignature"` + SkipResourceInUseCheck pulumi.BoolOutput `pulumi:"skipResourceInUseCheck"` +} + +// NewAgentAgentActionGroup registers a new resource with the given unique name, arguments, and options. +func NewAgentAgentActionGroup(ctx *pulumi.Context, + name string, args *AgentAgentActionGroupArgs, opts ...pulumi.ResourceOption) (*AgentAgentActionGroup, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ActionGroupName == nil { + return nil, errors.New("invalid value for required argument 'ActionGroupName'") + } + if args.AgentId == nil { + return nil, errors.New("invalid value for required argument 'AgentId'") + } + if args.AgentVersion == nil { + return nil, errors.New("invalid value for required argument 'AgentVersion'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AgentAgentActionGroup + err := ctx.RegisterResource("aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAgentAgentActionGroup gets an existing AgentAgentActionGroup 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 GetAgentAgentActionGroup(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AgentAgentActionGroupState, opts ...pulumi.ResourceOption) (*AgentAgentActionGroup, error) { + var resource AgentAgentActionGroup + err := ctx.ReadResource("aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AgentAgentActionGroup resources. +type agentAgentActionGroupState struct { + // Configuration of the executor for the Action Group. + ActionGroupExecutor *AgentAgentActionGroupActionGroupExecutor `pulumi:"actionGroupExecutor"` + ActionGroupId *string `pulumi:"actionGroupId"` + // Name of the Agent Action Group. + ActionGroupName *string `pulumi:"actionGroupName"` + ActionGroupState *string `pulumi:"actionGroupState"` + // Id of the Agent for the Action Group. + AgentId *string `pulumi:"agentId"` + // Version of the Agent to attach the Action Group to. + AgentVersion *string `pulumi:"agentVersion"` + // Configuration of the API Schema for the Action Group. + ApiSchema *AgentAgentActionGroupApiSchema `pulumi:"apiSchema"` + Description *string `pulumi:"description"` + ParentActionGroupSignature *string `pulumi:"parentActionGroupSignature"` + SkipResourceInUseCheck *bool `pulumi:"skipResourceInUseCheck"` +} + +type AgentAgentActionGroupState struct { + // Configuration of the executor for the Action Group. + ActionGroupExecutor AgentAgentActionGroupActionGroupExecutorPtrInput + ActionGroupId pulumi.StringPtrInput + // Name of the Agent Action Group. + ActionGroupName pulumi.StringPtrInput + ActionGroupState pulumi.StringPtrInput + // Id of the Agent for the Action Group. + AgentId pulumi.StringPtrInput + // Version of the Agent to attach the Action Group to. + AgentVersion pulumi.StringPtrInput + // Configuration of the API Schema for the Action Group. + ApiSchema AgentAgentActionGroupApiSchemaPtrInput + Description pulumi.StringPtrInput + ParentActionGroupSignature pulumi.StringPtrInput + SkipResourceInUseCheck pulumi.BoolPtrInput +} + +func (AgentAgentActionGroupState) ElementType() reflect.Type { + return reflect.TypeOf((*agentAgentActionGroupState)(nil)).Elem() +} + +type agentAgentActionGroupArgs struct { + // Configuration of the executor for the Action Group. + ActionGroupExecutor *AgentAgentActionGroupActionGroupExecutor `pulumi:"actionGroupExecutor"` + // Name of the Agent Action Group. + ActionGroupName string `pulumi:"actionGroupName"` + ActionGroupState *string `pulumi:"actionGroupState"` + // Id of the Agent for the Action Group. + AgentId string `pulumi:"agentId"` + // Version of the Agent to attach the Action Group to. + AgentVersion string `pulumi:"agentVersion"` + // Configuration of the API Schema for the Action Group. + ApiSchema *AgentAgentActionGroupApiSchema `pulumi:"apiSchema"` + Description *string `pulumi:"description"` + ParentActionGroupSignature *string `pulumi:"parentActionGroupSignature"` + SkipResourceInUseCheck *bool `pulumi:"skipResourceInUseCheck"` +} + +// The set of arguments for constructing a AgentAgentActionGroup resource. +type AgentAgentActionGroupArgs struct { + // Configuration of the executor for the Action Group. + ActionGroupExecutor AgentAgentActionGroupActionGroupExecutorPtrInput + // Name of the Agent Action Group. + ActionGroupName pulumi.StringInput + ActionGroupState pulumi.StringPtrInput + // Id of the Agent for the Action Group. + AgentId pulumi.StringInput + // Version of the Agent to attach the Action Group to. + AgentVersion pulumi.StringInput + // Configuration of the API Schema for the Action Group. + ApiSchema AgentAgentActionGroupApiSchemaPtrInput + Description pulumi.StringPtrInput + ParentActionGroupSignature pulumi.StringPtrInput + SkipResourceInUseCheck pulumi.BoolPtrInput +} + +func (AgentAgentActionGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*agentAgentActionGroupArgs)(nil)).Elem() +} + +type AgentAgentActionGroupInput interface { + pulumi.Input + + ToAgentAgentActionGroupOutput() AgentAgentActionGroupOutput + ToAgentAgentActionGroupOutputWithContext(ctx context.Context) AgentAgentActionGroupOutput +} + +func (*AgentAgentActionGroup) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgentActionGroup)(nil)).Elem() +} + +func (i *AgentAgentActionGroup) ToAgentAgentActionGroupOutput() AgentAgentActionGroupOutput { + return i.ToAgentAgentActionGroupOutputWithContext(context.Background()) +} + +func (i *AgentAgentActionGroup) ToAgentAgentActionGroupOutputWithContext(ctx context.Context) AgentAgentActionGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentActionGroupOutput) +} + +// AgentAgentActionGroupArrayInput is an input type that accepts AgentAgentActionGroupArray and AgentAgentActionGroupArrayOutput values. +// You can construct a concrete instance of `AgentAgentActionGroupArrayInput` via: +// +// AgentAgentActionGroupArray{ AgentAgentActionGroupArgs{...} } +type AgentAgentActionGroupArrayInput interface { + pulumi.Input + + ToAgentAgentActionGroupArrayOutput() AgentAgentActionGroupArrayOutput + ToAgentAgentActionGroupArrayOutputWithContext(context.Context) AgentAgentActionGroupArrayOutput +} + +type AgentAgentActionGroupArray []AgentAgentActionGroupInput + +func (AgentAgentActionGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AgentAgentActionGroup)(nil)).Elem() +} + +func (i AgentAgentActionGroupArray) ToAgentAgentActionGroupArrayOutput() AgentAgentActionGroupArrayOutput { + return i.ToAgentAgentActionGroupArrayOutputWithContext(context.Background()) +} + +func (i AgentAgentActionGroupArray) ToAgentAgentActionGroupArrayOutputWithContext(ctx context.Context) AgentAgentActionGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentActionGroupArrayOutput) +} + +// AgentAgentActionGroupMapInput is an input type that accepts AgentAgentActionGroupMap and AgentAgentActionGroupMapOutput values. +// You can construct a concrete instance of `AgentAgentActionGroupMapInput` via: +// +// AgentAgentActionGroupMap{ "key": AgentAgentActionGroupArgs{...} } +type AgentAgentActionGroupMapInput interface { + pulumi.Input + + ToAgentAgentActionGroupMapOutput() AgentAgentActionGroupMapOutput + ToAgentAgentActionGroupMapOutputWithContext(context.Context) AgentAgentActionGroupMapOutput +} + +type AgentAgentActionGroupMap map[string]AgentAgentActionGroupInput + +func (AgentAgentActionGroupMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AgentAgentActionGroup)(nil)).Elem() +} + +func (i AgentAgentActionGroupMap) ToAgentAgentActionGroupMapOutput() AgentAgentActionGroupMapOutput { + return i.ToAgentAgentActionGroupMapOutputWithContext(context.Background()) +} + +func (i AgentAgentActionGroupMap) ToAgentAgentActionGroupMapOutputWithContext(ctx context.Context) AgentAgentActionGroupMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentActionGroupMapOutput) +} + +type AgentAgentActionGroupOutput struct{ *pulumi.OutputState } + +func (AgentAgentActionGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgentActionGroup)(nil)).Elem() +} + +func (o AgentAgentActionGroupOutput) ToAgentAgentActionGroupOutput() AgentAgentActionGroupOutput { + return o +} + +func (o AgentAgentActionGroupOutput) ToAgentAgentActionGroupOutputWithContext(ctx context.Context) AgentAgentActionGroupOutput { + return o +} + +// Configuration of the executor for the Action Group. +func (o AgentAgentActionGroupOutput) ActionGroupExecutor() AgentAgentActionGroupActionGroupExecutorPtrOutput { + return o.ApplyT(func(v *AgentAgentActionGroup) AgentAgentActionGroupActionGroupExecutorPtrOutput { + return v.ActionGroupExecutor + }).(AgentAgentActionGroupActionGroupExecutorPtrOutput) +} + +func (o AgentAgentActionGroupOutput) ActionGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgentActionGroup) pulumi.StringOutput { return v.ActionGroupId }).(pulumi.StringOutput) +} + +// Name of the Agent Action Group. +func (o AgentAgentActionGroupOutput) ActionGroupName() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgentActionGroup) pulumi.StringOutput { return v.ActionGroupName }).(pulumi.StringOutput) +} + +func (o AgentAgentActionGroupOutput) ActionGroupState() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgentActionGroup) pulumi.StringOutput { return v.ActionGroupState }).(pulumi.StringOutput) +} + +// Id of the Agent for the Action Group. +func (o AgentAgentActionGroupOutput) AgentId() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgentActionGroup) pulumi.StringOutput { return v.AgentId }).(pulumi.StringOutput) +} + +// Version of the Agent to attach the Action Group to. +func (o AgentAgentActionGroupOutput) AgentVersion() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgentActionGroup) pulumi.StringOutput { return v.AgentVersion }).(pulumi.StringOutput) +} + +// Configuration of the API Schema for the Action Group. +func (o AgentAgentActionGroupOutput) ApiSchema() AgentAgentActionGroupApiSchemaPtrOutput { + return o.ApplyT(func(v *AgentAgentActionGroup) AgentAgentActionGroupApiSchemaPtrOutput { return v.ApiSchema }).(AgentAgentActionGroupApiSchemaPtrOutput) +} + +func (o AgentAgentActionGroupOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAgentActionGroup) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o AgentAgentActionGroupOutput) ParentActionGroupSignature() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAgentActionGroup) pulumi.StringPtrOutput { return v.ParentActionGroupSignature }).(pulumi.StringPtrOutput) +} + +func (o AgentAgentActionGroupOutput) SkipResourceInUseCheck() pulumi.BoolOutput { + return o.ApplyT(func(v *AgentAgentActionGroup) pulumi.BoolOutput { return v.SkipResourceInUseCheck }).(pulumi.BoolOutput) +} + +type AgentAgentActionGroupArrayOutput struct{ *pulumi.OutputState } + +func (AgentAgentActionGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AgentAgentActionGroup)(nil)).Elem() +} + +func (o AgentAgentActionGroupArrayOutput) ToAgentAgentActionGroupArrayOutput() AgentAgentActionGroupArrayOutput { + return o +} + +func (o AgentAgentActionGroupArrayOutput) ToAgentAgentActionGroupArrayOutputWithContext(ctx context.Context) AgentAgentActionGroupArrayOutput { + return o +} + +func (o AgentAgentActionGroupArrayOutput) Index(i pulumi.IntInput) AgentAgentActionGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AgentAgentActionGroup { + return vs[0].([]*AgentAgentActionGroup)[vs[1].(int)] + }).(AgentAgentActionGroupOutput) +} + +type AgentAgentActionGroupMapOutput struct{ *pulumi.OutputState } + +func (AgentAgentActionGroupMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AgentAgentActionGroup)(nil)).Elem() +} + +func (o AgentAgentActionGroupMapOutput) ToAgentAgentActionGroupMapOutput() AgentAgentActionGroupMapOutput { + return o +} + +func (o AgentAgentActionGroupMapOutput) ToAgentAgentActionGroupMapOutputWithContext(ctx context.Context) AgentAgentActionGroupMapOutput { + return o +} + +func (o AgentAgentActionGroupMapOutput) MapIndex(k pulumi.StringInput) AgentAgentActionGroupOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AgentAgentActionGroup { + return vs[0].(map[string]*AgentAgentActionGroup)[vs[1].(string)] + }).(AgentAgentActionGroupOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentActionGroupInput)(nil)).Elem(), &AgentAgentActionGroup{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentActionGroupArrayInput)(nil)).Elem(), AgentAgentActionGroupArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentActionGroupMapInput)(nil)).Elem(), AgentAgentActionGroupMap{}) + pulumi.RegisterOutputType(AgentAgentActionGroupOutput{}) + pulumi.RegisterOutputType(AgentAgentActionGroupArrayOutput{}) + pulumi.RegisterOutputType(AgentAgentActionGroupMapOutput{}) +} diff --git a/sdk/go/aws/bedrock/agentAgentAlias.go b/sdk/go/aws/bedrock/agentAgentAlias.go new file mode 100644 index 00000000000..abcd37e96c8 --- /dev/null +++ b/sdk/go/aws/bedrock/agentAgentAlias.go @@ -0,0 +1,344 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package bedrock + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an AWS Agents for Amazon Bedrock Agent Alias. +// +// ## Example Usage +// +// ## Import +// +// Using `pulumi import`, import Agents for Amazon Bedrock Agent Alias using the `AGENT_ID,ALIAS_ID`. For example: +// +// ```sh +// $ pulumi import aws:bedrock/agentAgentAlias:AgentAgentAlias example AGENT_ID,ALIAS_ID +// ``` +type AgentAgentAlias struct { + pulumi.CustomResourceState + + // ARN of the Agent Alias. + AgentAliasArn pulumi.StringOutput `pulumi:"agentAliasArn"` + AgentAliasId pulumi.StringOutput `pulumi:"agentAliasId"` + // Name of the alias. + AgentAliasName pulumi.StringOutput `pulumi:"agentAliasName"` + // Identifier of the agent to create an alias for. + AgentId pulumi.StringOutput `pulumi:"agentId"` + // Description of the alias of the agent. + Description pulumi.StringPtrOutput `pulumi:"description"` + // Routing configuration of the alias + RoutingConfigurations AgentAgentAliasRoutingConfigurationArrayOutput `pulumi:"routingConfigurations"` + // Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // The following arguments are optional: + Tags pulumi.StringMapOutput `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + Timeouts AgentAgentAliasTimeoutsPtrOutput `pulumi:"timeouts"` +} + +// NewAgentAgentAlias registers a new resource with the given unique name, arguments, and options. +func NewAgentAgentAlias(ctx *pulumi.Context, + name string, args *AgentAgentAliasArgs, opts ...pulumi.ResourceOption) (*AgentAgentAlias, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AgentAliasName == nil { + return nil, errors.New("invalid value for required argument 'AgentAliasName'") + } + if args.AgentId == nil { + return nil, errors.New("invalid value for required argument 'AgentId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AgentAgentAlias + err := ctx.RegisterResource("aws:bedrock/agentAgentAlias:AgentAgentAlias", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAgentAgentAlias gets an existing AgentAgentAlias 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 GetAgentAgentAlias(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AgentAgentAliasState, opts ...pulumi.ResourceOption) (*AgentAgentAlias, error) { + var resource AgentAgentAlias + err := ctx.ReadResource("aws:bedrock/agentAgentAlias:AgentAgentAlias", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AgentAgentAlias resources. +type agentAgentAliasState struct { + // ARN of the Agent Alias. + AgentAliasArn *string `pulumi:"agentAliasArn"` + AgentAliasId *string `pulumi:"agentAliasId"` + // Name of the alias. + AgentAliasName *string `pulumi:"agentAliasName"` + // Identifier of the agent to create an alias for. + AgentId *string `pulumi:"agentId"` + // Description of the alias of the agent. + Description *string `pulumi:"description"` + // Routing configuration of the alias + RoutingConfigurations []AgentAgentAliasRoutingConfiguration `pulumi:"routingConfigurations"` + // Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // The following arguments are optional: + Tags map[string]string `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` + Timeouts *AgentAgentAliasTimeouts `pulumi:"timeouts"` +} + +type AgentAgentAliasState struct { + // ARN of the Agent Alias. + AgentAliasArn pulumi.StringPtrInput + AgentAliasId pulumi.StringPtrInput + // Name of the alias. + AgentAliasName pulumi.StringPtrInput + // Identifier of the agent to create an alias for. + AgentId pulumi.StringPtrInput + // Description of the alias of the agent. + Description pulumi.StringPtrInput + // Routing configuration of the alias + RoutingConfigurations AgentAgentAliasRoutingConfigurationArrayInput + // Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // The following arguments are optional: + Tags pulumi.StringMapInput + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput + Timeouts AgentAgentAliasTimeoutsPtrInput +} + +func (AgentAgentAliasState) ElementType() reflect.Type { + return reflect.TypeOf((*agentAgentAliasState)(nil)).Elem() +} + +type agentAgentAliasArgs struct { + // Name of the alias. + AgentAliasName string `pulumi:"agentAliasName"` + // Identifier of the agent to create an alias for. + AgentId string `pulumi:"agentId"` + // Description of the alias of the agent. + Description *string `pulumi:"description"` + // Routing configuration of the alias + RoutingConfigurations []AgentAgentAliasRoutingConfiguration `pulumi:"routingConfigurations"` + // Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // The following arguments are optional: + Tags map[string]string `pulumi:"tags"` + Timeouts *AgentAgentAliasTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a AgentAgentAlias resource. +type AgentAgentAliasArgs struct { + // Name of the alias. + AgentAliasName pulumi.StringInput + // Identifier of the agent to create an alias for. + AgentId pulumi.StringInput + // Description of the alias of the agent. + Description pulumi.StringPtrInput + // Routing configuration of the alias + RoutingConfigurations AgentAgentAliasRoutingConfigurationArrayInput + // Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + // + // The following arguments are optional: + Tags pulumi.StringMapInput + Timeouts AgentAgentAliasTimeoutsPtrInput +} + +func (AgentAgentAliasArgs) ElementType() reflect.Type { + return reflect.TypeOf((*agentAgentAliasArgs)(nil)).Elem() +} + +type AgentAgentAliasInput interface { + pulumi.Input + + ToAgentAgentAliasOutput() AgentAgentAliasOutput + ToAgentAgentAliasOutputWithContext(ctx context.Context) AgentAgentAliasOutput +} + +func (*AgentAgentAlias) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgentAlias)(nil)).Elem() +} + +func (i *AgentAgentAlias) ToAgentAgentAliasOutput() AgentAgentAliasOutput { + return i.ToAgentAgentAliasOutputWithContext(context.Background()) +} + +func (i *AgentAgentAlias) ToAgentAgentAliasOutputWithContext(ctx context.Context) AgentAgentAliasOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentAliasOutput) +} + +// AgentAgentAliasArrayInput is an input type that accepts AgentAgentAliasArray and AgentAgentAliasArrayOutput values. +// You can construct a concrete instance of `AgentAgentAliasArrayInput` via: +// +// AgentAgentAliasArray{ AgentAgentAliasArgs{...} } +type AgentAgentAliasArrayInput interface { + pulumi.Input + + ToAgentAgentAliasArrayOutput() AgentAgentAliasArrayOutput + ToAgentAgentAliasArrayOutputWithContext(context.Context) AgentAgentAliasArrayOutput +} + +type AgentAgentAliasArray []AgentAgentAliasInput + +func (AgentAgentAliasArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AgentAgentAlias)(nil)).Elem() +} + +func (i AgentAgentAliasArray) ToAgentAgentAliasArrayOutput() AgentAgentAliasArrayOutput { + return i.ToAgentAgentAliasArrayOutputWithContext(context.Background()) +} + +func (i AgentAgentAliasArray) ToAgentAgentAliasArrayOutputWithContext(ctx context.Context) AgentAgentAliasArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentAliasArrayOutput) +} + +// AgentAgentAliasMapInput is an input type that accepts AgentAgentAliasMap and AgentAgentAliasMapOutput values. +// You can construct a concrete instance of `AgentAgentAliasMapInput` via: +// +// AgentAgentAliasMap{ "key": AgentAgentAliasArgs{...} } +type AgentAgentAliasMapInput interface { + pulumi.Input + + ToAgentAgentAliasMapOutput() AgentAgentAliasMapOutput + ToAgentAgentAliasMapOutputWithContext(context.Context) AgentAgentAliasMapOutput +} + +type AgentAgentAliasMap map[string]AgentAgentAliasInput + +func (AgentAgentAliasMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AgentAgentAlias)(nil)).Elem() +} + +func (i AgentAgentAliasMap) ToAgentAgentAliasMapOutput() AgentAgentAliasMapOutput { + return i.ToAgentAgentAliasMapOutputWithContext(context.Background()) +} + +func (i AgentAgentAliasMap) ToAgentAgentAliasMapOutputWithContext(ctx context.Context) AgentAgentAliasMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentAliasMapOutput) +} + +type AgentAgentAliasOutput struct{ *pulumi.OutputState } + +func (AgentAgentAliasOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgentAlias)(nil)).Elem() +} + +func (o AgentAgentAliasOutput) ToAgentAgentAliasOutput() AgentAgentAliasOutput { + return o +} + +func (o AgentAgentAliasOutput) ToAgentAgentAliasOutputWithContext(ctx context.Context) AgentAgentAliasOutput { + return o +} + +// ARN of the Agent Alias. +func (o AgentAgentAliasOutput) AgentAliasArn() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgentAlias) pulumi.StringOutput { return v.AgentAliasArn }).(pulumi.StringOutput) +} + +func (o AgentAgentAliasOutput) AgentAliasId() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgentAlias) pulumi.StringOutput { return v.AgentAliasId }).(pulumi.StringOutput) +} + +// Name of the alias. +func (o AgentAgentAliasOutput) AgentAliasName() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgentAlias) pulumi.StringOutput { return v.AgentAliasName }).(pulumi.StringOutput) +} + +// Identifier of the agent to create an alias for. +func (o AgentAgentAliasOutput) AgentId() pulumi.StringOutput { + return o.ApplyT(func(v *AgentAgentAlias) pulumi.StringOutput { return v.AgentId }).(pulumi.StringOutput) +} + +// Description of the alias of the agent. +func (o AgentAgentAliasOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAgentAlias) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// Routing configuration of the alias +func (o AgentAgentAliasOutput) RoutingConfigurations() AgentAgentAliasRoutingConfigurationArrayOutput { + return o.ApplyT(func(v *AgentAgentAlias) AgentAgentAliasRoutingConfigurationArrayOutput { + return v.RoutingConfigurations + }).(AgentAgentAliasRoutingConfigurationArrayOutput) +} + +// Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +// +// The following arguments are optional: +func (o AgentAgentAliasOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *AgentAgentAlias) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// Deprecated: Please use `tags` instead. +func (o AgentAgentAliasOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *AgentAgentAlias) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +func (o AgentAgentAliasOutput) Timeouts() AgentAgentAliasTimeoutsPtrOutput { + return o.ApplyT(func(v *AgentAgentAlias) AgentAgentAliasTimeoutsPtrOutput { return v.Timeouts }).(AgentAgentAliasTimeoutsPtrOutput) +} + +type AgentAgentAliasArrayOutput struct{ *pulumi.OutputState } + +func (AgentAgentAliasArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AgentAgentAlias)(nil)).Elem() +} + +func (o AgentAgentAliasArrayOutput) ToAgentAgentAliasArrayOutput() AgentAgentAliasArrayOutput { + return o +} + +func (o AgentAgentAliasArrayOutput) ToAgentAgentAliasArrayOutputWithContext(ctx context.Context) AgentAgentAliasArrayOutput { + return o +} + +func (o AgentAgentAliasArrayOutput) Index(i pulumi.IntInput) AgentAgentAliasOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AgentAgentAlias { + return vs[0].([]*AgentAgentAlias)[vs[1].(int)] + }).(AgentAgentAliasOutput) +} + +type AgentAgentAliasMapOutput struct{ *pulumi.OutputState } + +func (AgentAgentAliasMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AgentAgentAlias)(nil)).Elem() +} + +func (o AgentAgentAliasMapOutput) ToAgentAgentAliasMapOutput() AgentAgentAliasMapOutput { + return o +} + +func (o AgentAgentAliasMapOutput) ToAgentAgentAliasMapOutputWithContext(ctx context.Context) AgentAgentAliasMapOutput { + return o +} + +func (o AgentAgentAliasMapOutput) MapIndex(k pulumi.StringInput) AgentAgentAliasOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AgentAgentAlias { + return vs[0].(map[string]*AgentAgentAlias)[vs[1].(string)] + }).(AgentAgentAliasOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentAliasInput)(nil)).Elem(), &AgentAgentAlias{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentAliasArrayInput)(nil)).Elem(), AgentAgentAliasArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentAliasMapInput)(nil)).Elem(), AgentAgentAliasMap{}) + pulumi.RegisterOutputType(AgentAgentAliasOutput{}) + pulumi.RegisterOutputType(AgentAgentAliasArrayOutput{}) + pulumi.RegisterOutputType(AgentAgentAliasMapOutput{}) +} diff --git a/sdk/go/aws/bedrock/agentKnowledgeBase.go b/sdk/go/aws/bedrock/agentKnowledgeBase.go new file mode 100644 index 00000000000..bda0d010aed --- /dev/null +++ b/sdk/go/aws/bedrock/agentKnowledgeBase.go @@ -0,0 +1,403 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package bedrock + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an AWS Agents for Amazon Bedrock Knowledge Base. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bedrock" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := bedrock.NewAgentKnowledgeBase(ctx, "test", &bedrock.AgentKnowledgeBaseArgs{ +// Name: pulumi.String("example"), +// RoleArn: pulumi.Any(example.Arn), +// KnowledgeBaseConfiguration: &bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs{ +// VectorKnowledgeBaseConfiguration: &bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs{ +// EmbeddingModelArn: pulumi.String("arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1"), +// }, +// Type: pulumi.String("VECTOR"), +// }, +// StorageConfiguration: &bedrock.AgentKnowledgeBaseStorageConfigurationArgs{ +// Type: pulumi.String("OPENSEARCH_SERVERLESS"), +// OpensearchServerlessConfiguration: &bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs{ +// CollectionArn: pulumi.String("arn:aws:aoss:us-west-2:1234567890:collection/142bezjddq707i5stcrf"), +// VectorIndexName: pulumi.String("bedrock-knowledge-base-default-index"), +// FieldMapping: &bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs{ +// VectorField: pulumi.String("bedrock-knowledge-base-default-vector"), +// TextField: pulumi.String("AMAZON_BEDROCK_TEXT_CHUNK"), +// MetadataField: pulumi.String("AMAZON_BEDROCK_METADATA"), +// }, +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import Agents for Amazon Bedrock Knowledge Base using the `Q1IYMH6GQG`. For example: +// +// ```sh +// $ pulumi import aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase example Q1IYMH6GQG +// ``` +type AgentKnowledgeBase struct { + pulumi.CustomResourceState + + // ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + Arn pulumi.StringOutput `pulumi:"arn"` + CreatedAt pulumi.StringOutput `pulumi:"createdAt"` + // A description of the knowledge base. + Description pulumi.StringPtrOutput `pulumi:"description"` + FailureReasons pulumi.StringArrayOutput `pulumi:"failureReasons"` + // Contains details about the embeddings model used for the knowledge base. + KnowledgeBaseConfiguration AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput `pulumi:"knowledgeBaseConfiguration"` + // A name for the knowledge base. + Name pulumi.StringOutput `pulumi:"name"` + // The ARN of the IAM role with permissions to create the knowledge base. + RoleArn pulumi.StringOutput `pulumi:"roleArn"` + // Contains details about the configuration of the vector database used for the knowledge base. + StorageConfiguration AgentKnowledgeBaseStorageConfigurationPtrOutput `pulumi:"storageConfiguration"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` + Timeouts AgentKnowledgeBaseTimeoutsPtrOutput `pulumi:"timeouts"` + UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"` +} + +// NewAgentKnowledgeBase registers a new resource with the given unique name, arguments, and options. +func NewAgentKnowledgeBase(ctx *pulumi.Context, + name string, args *AgentKnowledgeBaseArgs, opts ...pulumi.ResourceOption) (*AgentKnowledgeBase, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.RoleArn == nil { + return nil, errors.New("invalid value for required argument 'RoleArn'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AgentKnowledgeBase + err := ctx.RegisterResource("aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAgentKnowledgeBase gets an existing AgentKnowledgeBase 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 GetAgentKnowledgeBase(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AgentKnowledgeBaseState, opts ...pulumi.ResourceOption) (*AgentKnowledgeBase, error) { + var resource AgentKnowledgeBase + err := ctx.ReadResource("aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AgentKnowledgeBase resources. +type agentKnowledgeBaseState struct { + // ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + Arn *string `pulumi:"arn"` + CreatedAt *string `pulumi:"createdAt"` + // A description of the knowledge base. + Description *string `pulumi:"description"` + FailureReasons []string `pulumi:"failureReasons"` + // Contains details about the embeddings model used for the knowledge base. + KnowledgeBaseConfiguration *AgentKnowledgeBaseKnowledgeBaseConfiguration `pulumi:"knowledgeBaseConfiguration"` + // A name for the knowledge base. + Name *string `pulumi:"name"` + // The ARN of the IAM role with permissions to create the knowledge base. + RoleArn *string `pulumi:"roleArn"` + // Contains details about the configuration of the vector database used for the knowledge base. + StorageConfiguration *AgentKnowledgeBaseStorageConfiguration `pulumi:"storageConfiguration"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` + Timeouts *AgentKnowledgeBaseTimeouts `pulumi:"timeouts"` + UpdatedAt *string `pulumi:"updatedAt"` +} + +type AgentKnowledgeBaseState struct { + // ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + Arn pulumi.StringPtrInput + CreatedAt pulumi.StringPtrInput + // A description of the knowledge base. + Description pulumi.StringPtrInput + FailureReasons pulumi.StringArrayInput + // Contains details about the embeddings model used for the knowledge base. + KnowledgeBaseConfiguration AgentKnowledgeBaseKnowledgeBaseConfigurationPtrInput + // A name for the knowledge base. + Name pulumi.StringPtrInput + // The ARN of the IAM role with permissions to create the knowledge base. + RoleArn pulumi.StringPtrInput + // Contains details about the configuration of the vector database used for the knowledge base. + StorageConfiguration AgentKnowledgeBaseStorageConfigurationPtrInput + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput + Timeouts AgentKnowledgeBaseTimeoutsPtrInput + UpdatedAt pulumi.StringPtrInput +} + +func (AgentKnowledgeBaseState) ElementType() reflect.Type { + return reflect.TypeOf((*agentKnowledgeBaseState)(nil)).Elem() +} + +type agentKnowledgeBaseArgs struct { + // A description of the knowledge base. + Description *string `pulumi:"description"` + // Contains details about the embeddings model used for the knowledge base. + KnowledgeBaseConfiguration *AgentKnowledgeBaseKnowledgeBaseConfiguration `pulumi:"knowledgeBaseConfiguration"` + // A name for the knowledge base. + Name *string `pulumi:"name"` + // The ARN of the IAM role with permissions to create the knowledge base. + RoleArn string `pulumi:"roleArn"` + // Contains details about the configuration of the vector database used for the knowledge base. + StorageConfiguration *AgentKnowledgeBaseStorageConfiguration `pulumi:"storageConfiguration"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + Timeouts *AgentKnowledgeBaseTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a AgentKnowledgeBase resource. +type AgentKnowledgeBaseArgs struct { + // A description of the knowledge base. + Description pulumi.StringPtrInput + // Contains details about the embeddings model used for the knowledge base. + KnowledgeBaseConfiguration AgentKnowledgeBaseKnowledgeBaseConfigurationPtrInput + // A name for the knowledge base. + Name pulumi.StringPtrInput + // The ARN of the IAM role with permissions to create the knowledge base. + RoleArn pulumi.StringInput + // Contains details about the configuration of the vector database used for the knowledge base. + StorageConfiguration AgentKnowledgeBaseStorageConfigurationPtrInput + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + Timeouts AgentKnowledgeBaseTimeoutsPtrInput +} + +func (AgentKnowledgeBaseArgs) ElementType() reflect.Type { + return reflect.TypeOf((*agentKnowledgeBaseArgs)(nil)).Elem() +} + +type AgentKnowledgeBaseInput interface { + pulumi.Input + + ToAgentKnowledgeBaseOutput() AgentKnowledgeBaseOutput + ToAgentKnowledgeBaseOutputWithContext(ctx context.Context) AgentKnowledgeBaseOutput +} + +func (*AgentKnowledgeBase) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBase)(nil)).Elem() +} + +func (i *AgentKnowledgeBase) ToAgentKnowledgeBaseOutput() AgentKnowledgeBaseOutput { + return i.ToAgentKnowledgeBaseOutputWithContext(context.Background()) +} + +func (i *AgentKnowledgeBase) ToAgentKnowledgeBaseOutputWithContext(ctx context.Context) AgentKnowledgeBaseOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseOutput) +} + +// AgentKnowledgeBaseArrayInput is an input type that accepts AgentKnowledgeBaseArray and AgentKnowledgeBaseArrayOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseArrayInput` via: +// +// AgentKnowledgeBaseArray{ AgentKnowledgeBaseArgs{...} } +type AgentKnowledgeBaseArrayInput interface { + pulumi.Input + + ToAgentKnowledgeBaseArrayOutput() AgentKnowledgeBaseArrayOutput + ToAgentKnowledgeBaseArrayOutputWithContext(context.Context) AgentKnowledgeBaseArrayOutput +} + +type AgentKnowledgeBaseArray []AgentKnowledgeBaseInput + +func (AgentKnowledgeBaseArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AgentKnowledgeBase)(nil)).Elem() +} + +func (i AgentKnowledgeBaseArray) ToAgentKnowledgeBaseArrayOutput() AgentKnowledgeBaseArrayOutput { + return i.ToAgentKnowledgeBaseArrayOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseArray) ToAgentKnowledgeBaseArrayOutputWithContext(ctx context.Context) AgentKnowledgeBaseArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseArrayOutput) +} + +// AgentKnowledgeBaseMapInput is an input type that accepts AgentKnowledgeBaseMap and AgentKnowledgeBaseMapOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseMapInput` via: +// +// AgentKnowledgeBaseMap{ "key": AgentKnowledgeBaseArgs{...} } +type AgentKnowledgeBaseMapInput interface { + pulumi.Input + + ToAgentKnowledgeBaseMapOutput() AgentKnowledgeBaseMapOutput + ToAgentKnowledgeBaseMapOutputWithContext(context.Context) AgentKnowledgeBaseMapOutput +} + +type AgentKnowledgeBaseMap map[string]AgentKnowledgeBaseInput + +func (AgentKnowledgeBaseMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AgentKnowledgeBase)(nil)).Elem() +} + +func (i AgentKnowledgeBaseMap) ToAgentKnowledgeBaseMapOutput() AgentKnowledgeBaseMapOutput { + return i.ToAgentKnowledgeBaseMapOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseMap) ToAgentKnowledgeBaseMapOutputWithContext(ctx context.Context) AgentKnowledgeBaseMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseMapOutput) +} + +type AgentKnowledgeBaseOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBase)(nil)).Elem() +} + +func (o AgentKnowledgeBaseOutput) ToAgentKnowledgeBaseOutput() AgentKnowledgeBaseOutput { + return o +} + +func (o AgentKnowledgeBaseOutput) ToAgentKnowledgeBaseOutputWithContext(ctx context.Context) AgentKnowledgeBaseOutput { + return o +} + +// ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. +func (o AgentKnowledgeBaseOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *AgentKnowledgeBase) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +func (o AgentKnowledgeBaseOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *AgentKnowledgeBase) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) +} + +// A description of the knowledge base. +func (o AgentKnowledgeBaseOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBase) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o AgentKnowledgeBaseOutput) FailureReasons() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AgentKnowledgeBase) pulumi.StringArrayOutput { return v.FailureReasons }).(pulumi.StringArrayOutput) +} + +// Contains details about the embeddings model used for the knowledge base. +func (o AgentKnowledgeBaseOutput) KnowledgeBaseConfiguration() AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBase) AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput { + return v.KnowledgeBaseConfiguration + }).(AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput) +} + +// A name for the knowledge base. +func (o AgentKnowledgeBaseOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AgentKnowledgeBase) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The ARN of the IAM role with permissions to create the knowledge base. +func (o AgentKnowledgeBaseOutput) RoleArn() pulumi.StringOutput { + return o.ApplyT(func(v *AgentKnowledgeBase) pulumi.StringOutput { return v.RoleArn }).(pulumi.StringOutput) +} + +// Contains details about the configuration of the vector database used for the knowledge base. +func (o AgentKnowledgeBaseOutput) StorageConfiguration() AgentKnowledgeBaseStorageConfigurationPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBase) AgentKnowledgeBaseStorageConfigurationPtrOutput { + return v.StorageConfiguration + }).(AgentKnowledgeBaseStorageConfigurationPtrOutput) +} + +// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o AgentKnowledgeBaseOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *AgentKnowledgeBase) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// Deprecated: Please use `tags` instead. +func (o AgentKnowledgeBaseOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *AgentKnowledgeBase) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +func (o AgentKnowledgeBaseOutput) Timeouts() AgentKnowledgeBaseTimeoutsPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBase) AgentKnowledgeBaseTimeoutsPtrOutput { return v.Timeouts }).(AgentKnowledgeBaseTimeoutsPtrOutput) +} + +func (o AgentKnowledgeBaseOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v *AgentKnowledgeBase) pulumi.StringOutput { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type AgentKnowledgeBaseArrayOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AgentKnowledgeBase)(nil)).Elem() +} + +func (o AgentKnowledgeBaseArrayOutput) ToAgentKnowledgeBaseArrayOutput() AgentKnowledgeBaseArrayOutput { + return o +} + +func (o AgentKnowledgeBaseArrayOutput) ToAgentKnowledgeBaseArrayOutputWithContext(ctx context.Context) AgentKnowledgeBaseArrayOutput { + return o +} + +func (o AgentKnowledgeBaseArrayOutput) Index(i pulumi.IntInput) AgentKnowledgeBaseOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AgentKnowledgeBase { + return vs[0].([]*AgentKnowledgeBase)[vs[1].(int)] + }).(AgentKnowledgeBaseOutput) +} + +type AgentKnowledgeBaseMapOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AgentKnowledgeBase)(nil)).Elem() +} + +func (o AgentKnowledgeBaseMapOutput) ToAgentKnowledgeBaseMapOutput() AgentKnowledgeBaseMapOutput { + return o +} + +func (o AgentKnowledgeBaseMapOutput) ToAgentKnowledgeBaseMapOutputWithContext(ctx context.Context) AgentKnowledgeBaseMapOutput { + return o +} + +func (o AgentKnowledgeBaseMapOutput) MapIndex(k pulumi.StringInput) AgentKnowledgeBaseOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AgentKnowledgeBase { + return vs[0].(map[string]*AgentKnowledgeBase)[vs[1].(string)] + }).(AgentKnowledgeBaseOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseInput)(nil)).Elem(), &AgentKnowledgeBase{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseArrayInput)(nil)).Elem(), AgentKnowledgeBaseArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseMapInput)(nil)).Elem(), AgentKnowledgeBaseMap{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseArrayOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseMapOutput{}) +} diff --git a/sdk/go/aws/bedrock/init.go b/sdk/go/aws/bedrock/init.go index 85dac9bbd49..80577feec2e 100644 --- a/sdk/go/aws/bedrock/init.go +++ b/sdk/go/aws/bedrock/init.go @@ -21,6 +21,14 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "aws:bedrock/agentAgent:AgentAgent": + r = &AgentAgent{} + case "aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup": + r = &AgentAgentActionGroup{} + case "aws:bedrock/agentAgentAlias:AgentAgentAlias": + r = &AgentAgentAlias{} + case "aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase": + r = &AgentKnowledgeBase{} case "aws:bedrock/customModel:CustomModel": r = &CustomModel{} case "aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput": @@ -38,6 +46,26 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "aws", + "bedrock/agentAgent", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "bedrock/agentAgentActionGroup", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "bedrock/agentAgentAlias", + &module{version}, + ) + pulumi.RegisterResourceModule( + "aws", + "bedrock/agentKnowledgeBase", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "bedrock/customModel", diff --git a/sdk/go/aws/bedrock/pulumiTypes.go b/sdk/go/aws/bedrock/pulumiTypes.go index 6b9f45bbac7..74b03d5dece 100644 --- a/sdk/go/aws/bedrock/pulumiTypes.go +++ b/sdk/go/aws/bedrock/pulumiTypes.go @@ -13,6 +13,3233 @@ import ( var _ = internal.GetEnvOrDefault +type AgentAgentActionGroupActionGroupExecutor struct { + // ARN of the Lambda that defines the business logic for the action group. + Lambda *string `pulumi:"lambda"` +} + +// AgentAgentActionGroupActionGroupExecutorInput is an input type that accepts AgentAgentActionGroupActionGroupExecutorArgs and AgentAgentActionGroupActionGroupExecutorOutput values. +// You can construct a concrete instance of `AgentAgentActionGroupActionGroupExecutorInput` via: +// +// AgentAgentActionGroupActionGroupExecutorArgs{...} +type AgentAgentActionGroupActionGroupExecutorInput interface { + pulumi.Input + + ToAgentAgentActionGroupActionGroupExecutorOutput() AgentAgentActionGroupActionGroupExecutorOutput + ToAgentAgentActionGroupActionGroupExecutorOutputWithContext(context.Context) AgentAgentActionGroupActionGroupExecutorOutput +} + +type AgentAgentActionGroupActionGroupExecutorArgs struct { + // ARN of the Lambda that defines the business logic for the action group. + Lambda pulumi.StringPtrInput `pulumi:"lambda"` +} + +func (AgentAgentActionGroupActionGroupExecutorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAgentActionGroupActionGroupExecutor)(nil)).Elem() +} + +func (i AgentAgentActionGroupActionGroupExecutorArgs) ToAgentAgentActionGroupActionGroupExecutorOutput() AgentAgentActionGroupActionGroupExecutorOutput { + return i.ToAgentAgentActionGroupActionGroupExecutorOutputWithContext(context.Background()) +} + +func (i AgentAgentActionGroupActionGroupExecutorArgs) ToAgentAgentActionGroupActionGroupExecutorOutputWithContext(ctx context.Context) AgentAgentActionGroupActionGroupExecutorOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentActionGroupActionGroupExecutorOutput) +} + +func (i AgentAgentActionGroupActionGroupExecutorArgs) ToAgentAgentActionGroupActionGroupExecutorPtrOutput() AgentAgentActionGroupActionGroupExecutorPtrOutput { + return i.ToAgentAgentActionGroupActionGroupExecutorPtrOutputWithContext(context.Background()) +} + +func (i AgentAgentActionGroupActionGroupExecutorArgs) ToAgentAgentActionGroupActionGroupExecutorPtrOutputWithContext(ctx context.Context) AgentAgentActionGroupActionGroupExecutorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentActionGroupActionGroupExecutorOutput).ToAgentAgentActionGroupActionGroupExecutorPtrOutputWithContext(ctx) +} + +// AgentAgentActionGroupActionGroupExecutorPtrInput is an input type that accepts AgentAgentActionGroupActionGroupExecutorArgs, AgentAgentActionGroupActionGroupExecutorPtr and AgentAgentActionGroupActionGroupExecutorPtrOutput values. +// You can construct a concrete instance of `AgentAgentActionGroupActionGroupExecutorPtrInput` via: +// +// AgentAgentActionGroupActionGroupExecutorArgs{...} +// +// or: +// +// nil +type AgentAgentActionGroupActionGroupExecutorPtrInput interface { + pulumi.Input + + ToAgentAgentActionGroupActionGroupExecutorPtrOutput() AgentAgentActionGroupActionGroupExecutorPtrOutput + ToAgentAgentActionGroupActionGroupExecutorPtrOutputWithContext(context.Context) AgentAgentActionGroupActionGroupExecutorPtrOutput +} + +type agentAgentActionGroupActionGroupExecutorPtrType AgentAgentActionGroupActionGroupExecutorArgs + +func AgentAgentActionGroupActionGroupExecutorPtr(v *AgentAgentActionGroupActionGroupExecutorArgs) AgentAgentActionGroupActionGroupExecutorPtrInput { + return (*agentAgentActionGroupActionGroupExecutorPtrType)(v) +} + +func (*agentAgentActionGroupActionGroupExecutorPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgentActionGroupActionGroupExecutor)(nil)).Elem() +} + +func (i *agentAgentActionGroupActionGroupExecutorPtrType) ToAgentAgentActionGroupActionGroupExecutorPtrOutput() AgentAgentActionGroupActionGroupExecutorPtrOutput { + return i.ToAgentAgentActionGroupActionGroupExecutorPtrOutputWithContext(context.Background()) +} + +func (i *agentAgentActionGroupActionGroupExecutorPtrType) ToAgentAgentActionGroupActionGroupExecutorPtrOutputWithContext(ctx context.Context) AgentAgentActionGroupActionGroupExecutorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentActionGroupActionGroupExecutorPtrOutput) +} + +type AgentAgentActionGroupActionGroupExecutorOutput struct{ *pulumi.OutputState } + +func (AgentAgentActionGroupActionGroupExecutorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAgentActionGroupActionGroupExecutor)(nil)).Elem() +} + +func (o AgentAgentActionGroupActionGroupExecutorOutput) ToAgentAgentActionGroupActionGroupExecutorOutput() AgentAgentActionGroupActionGroupExecutorOutput { + return o +} + +func (o AgentAgentActionGroupActionGroupExecutorOutput) ToAgentAgentActionGroupActionGroupExecutorOutputWithContext(ctx context.Context) AgentAgentActionGroupActionGroupExecutorOutput { + return o +} + +func (o AgentAgentActionGroupActionGroupExecutorOutput) ToAgentAgentActionGroupActionGroupExecutorPtrOutput() AgentAgentActionGroupActionGroupExecutorPtrOutput { + return o.ToAgentAgentActionGroupActionGroupExecutorPtrOutputWithContext(context.Background()) +} + +func (o AgentAgentActionGroupActionGroupExecutorOutput) ToAgentAgentActionGroupActionGroupExecutorPtrOutputWithContext(ctx context.Context) AgentAgentActionGroupActionGroupExecutorPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentAgentActionGroupActionGroupExecutor) *AgentAgentActionGroupActionGroupExecutor { + return &v + }).(AgentAgentActionGroupActionGroupExecutorPtrOutput) +} + +// ARN of the Lambda that defines the business logic for the action group. +func (o AgentAgentActionGroupActionGroupExecutorOutput) Lambda() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentAgentActionGroupActionGroupExecutor) *string { return v.Lambda }).(pulumi.StringPtrOutput) +} + +type AgentAgentActionGroupActionGroupExecutorPtrOutput struct{ *pulumi.OutputState } + +func (AgentAgentActionGroupActionGroupExecutorPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgentActionGroupActionGroupExecutor)(nil)).Elem() +} + +func (o AgentAgentActionGroupActionGroupExecutorPtrOutput) ToAgentAgentActionGroupActionGroupExecutorPtrOutput() AgentAgentActionGroupActionGroupExecutorPtrOutput { + return o +} + +func (o AgentAgentActionGroupActionGroupExecutorPtrOutput) ToAgentAgentActionGroupActionGroupExecutorPtrOutputWithContext(ctx context.Context) AgentAgentActionGroupActionGroupExecutorPtrOutput { + return o +} + +func (o AgentAgentActionGroupActionGroupExecutorPtrOutput) Elem() AgentAgentActionGroupActionGroupExecutorOutput { + return o.ApplyT(func(v *AgentAgentActionGroupActionGroupExecutor) AgentAgentActionGroupActionGroupExecutor { + if v != nil { + return *v + } + var ret AgentAgentActionGroupActionGroupExecutor + return ret + }).(AgentAgentActionGroupActionGroupExecutorOutput) +} + +// ARN of the Lambda that defines the business logic for the action group. +func (o AgentAgentActionGroupActionGroupExecutorPtrOutput) Lambda() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAgentActionGroupActionGroupExecutor) *string { + if v == nil { + return nil + } + return v.Lambda + }).(pulumi.StringPtrOutput) +} + +type AgentAgentActionGroupApiSchema struct { + // YAML or JSON OpenAPI Schema. + Payload *string `pulumi:"payload"` + // Configuration of S3 schema location + S3 *AgentAgentActionGroupApiSchemaS3 `pulumi:"s3"` +} + +// AgentAgentActionGroupApiSchemaInput is an input type that accepts AgentAgentActionGroupApiSchemaArgs and AgentAgentActionGroupApiSchemaOutput values. +// You can construct a concrete instance of `AgentAgentActionGroupApiSchemaInput` via: +// +// AgentAgentActionGroupApiSchemaArgs{...} +type AgentAgentActionGroupApiSchemaInput interface { + pulumi.Input + + ToAgentAgentActionGroupApiSchemaOutput() AgentAgentActionGroupApiSchemaOutput + ToAgentAgentActionGroupApiSchemaOutputWithContext(context.Context) AgentAgentActionGroupApiSchemaOutput +} + +type AgentAgentActionGroupApiSchemaArgs struct { + // YAML or JSON OpenAPI Schema. + Payload pulumi.StringPtrInput `pulumi:"payload"` + // Configuration of S3 schema location + S3 AgentAgentActionGroupApiSchemaS3PtrInput `pulumi:"s3"` +} + +func (AgentAgentActionGroupApiSchemaArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAgentActionGroupApiSchema)(nil)).Elem() +} + +func (i AgentAgentActionGroupApiSchemaArgs) ToAgentAgentActionGroupApiSchemaOutput() AgentAgentActionGroupApiSchemaOutput { + return i.ToAgentAgentActionGroupApiSchemaOutputWithContext(context.Background()) +} + +func (i AgentAgentActionGroupApiSchemaArgs) ToAgentAgentActionGroupApiSchemaOutputWithContext(ctx context.Context) AgentAgentActionGroupApiSchemaOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentActionGroupApiSchemaOutput) +} + +func (i AgentAgentActionGroupApiSchemaArgs) ToAgentAgentActionGroupApiSchemaPtrOutput() AgentAgentActionGroupApiSchemaPtrOutput { + return i.ToAgentAgentActionGroupApiSchemaPtrOutputWithContext(context.Background()) +} + +func (i AgentAgentActionGroupApiSchemaArgs) ToAgentAgentActionGroupApiSchemaPtrOutputWithContext(ctx context.Context) AgentAgentActionGroupApiSchemaPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentActionGroupApiSchemaOutput).ToAgentAgentActionGroupApiSchemaPtrOutputWithContext(ctx) +} + +// AgentAgentActionGroupApiSchemaPtrInput is an input type that accepts AgentAgentActionGroupApiSchemaArgs, AgentAgentActionGroupApiSchemaPtr and AgentAgentActionGroupApiSchemaPtrOutput values. +// You can construct a concrete instance of `AgentAgentActionGroupApiSchemaPtrInput` via: +// +// AgentAgentActionGroupApiSchemaArgs{...} +// +// or: +// +// nil +type AgentAgentActionGroupApiSchemaPtrInput interface { + pulumi.Input + + ToAgentAgentActionGroupApiSchemaPtrOutput() AgentAgentActionGroupApiSchemaPtrOutput + ToAgentAgentActionGroupApiSchemaPtrOutputWithContext(context.Context) AgentAgentActionGroupApiSchemaPtrOutput +} + +type agentAgentActionGroupApiSchemaPtrType AgentAgentActionGroupApiSchemaArgs + +func AgentAgentActionGroupApiSchemaPtr(v *AgentAgentActionGroupApiSchemaArgs) AgentAgentActionGroupApiSchemaPtrInput { + return (*agentAgentActionGroupApiSchemaPtrType)(v) +} + +func (*agentAgentActionGroupApiSchemaPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgentActionGroupApiSchema)(nil)).Elem() +} + +func (i *agentAgentActionGroupApiSchemaPtrType) ToAgentAgentActionGroupApiSchemaPtrOutput() AgentAgentActionGroupApiSchemaPtrOutput { + return i.ToAgentAgentActionGroupApiSchemaPtrOutputWithContext(context.Background()) +} + +func (i *agentAgentActionGroupApiSchemaPtrType) ToAgentAgentActionGroupApiSchemaPtrOutputWithContext(ctx context.Context) AgentAgentActionGroupApiSchemaPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentActionGroupApiSchemaPtrOutput) +} + +type AgentAgentActionGroupApiSchemaOutput struct{ *pulumi.OutputState } + +func (AgentAgentActionGroupApiSchemaOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAgentActionGroupApiSchema)(nil)).Elem() +} + +func (o AgentAgentActionGroupApiSchemaOutput) ToAgentAgentActionGroupApiSchemaOutput() AgentAgentActionGroupApiSchemaOutput { + return o +} + +func (o AgentAgentActionGroupApiSchemaOutput) ToAgentAgentActionGroupApiSchemaOutputWithContext(ctx context.Context) AgentAgentActionGroupApiSchemaOutput { + return o +} + +func (o AgentAgentActionGroupApiSchemaOutput) ToAgentAgentActionGroupApiSchemaPtrOutput() AgentAgentActionGroupApiSchemaPtrOutput { + return o.ToAgentAgentActionGroupApiSchemaPtrOutputWithContext(context.Background()) +} + +func (o AgentAgentActionGroupApiSchemaOutput) ToAgentAgentActionGroupApiSchemaPtrOutputWithContext(ctx context.Context) AgentAgentActionGroupApiSchemaPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentAgentActionGroupApiSchema) *AgentAgentActionGroupApiSchema { + return &v + }).(AgentAgentActionGroupApiSchemaPtrOutput) +} + +// YAML or JSON OpenAPI Schema. +func (o AgentAgentActionGroupApiSchemaOutput) Payload() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentAgentActionGroupApiSchema) *string { return v.Payload }).(pulumi.StringPtrOutput) +} + +// Configuration of S3 schema location +func (o AgentAgentActionGroupApiSchemaOutput) S3() AgentAgentActionGroupApiSchemaS3PtrOutput { + return o.ApplyT(func(v AgentAgentActionGroupApiSchema) *AgentAgentActionGroupApiSchemaS3 { return v.S3 }).(AgentAgentActionGroupApiSchemaS3PtrOutput) +} + +type AgentAgentActionGroupApiSchemaPtrOutput struct{ *pulumi.OutputState } + +func (AgentAgentActionGroupApiSchemaPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgentActionGroupApiSchema)(nil)).Elem() +} + +func (o AgentAgentActionGroupApiSchemaPtrOutput) ToAgentAgentActionGroupApiSchemaPtrOutput() AgentAgentActionGroupApiSchemaPtrOutput { + return o +} + +func (o AgentAgentActionGroupApiSchemaPtrOutput) ToAgentAgentActionGroupApiSchemaPtrOutputWithContext(ctx context.Context) AgentAgentActionGroupApiSchemaPtrOutput { + return o +} + +func (o AgentAgentActionGroupApiSchemaPtrOutput) Elem() AgentAgentActionGroupApiSchemaOutput { + return o.ApplyT(func(v *AgentAgentActionGroupApiSchema) AgentAgentActionGroupApiSchema { + if v != nil { + return *v + } + var ret AgentAgentActionGroupApiSchema + return ret + }).(AgentAgentActionGroupApiSchemaOutput) +} + +// YAML or JSON OpenAPI Schema. +func (o AgentAgentActionGroupApiSchemaPtrOutput) Payload() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAgentActionGroupApiSchema) *string { + if v == nil { + return nil + } + return v.Payload + }).(pulumi.StringPtrOutput) +} + +// Configuration of S3 schema location +func (o AgentAgentActionGroupApiSchemaPtrOutput) S3() AgentAgentActionGroupApiSchemaS3PtrOutput { + return o.ApplyT(func(v *AgentAgentActionGroupApiSchema) *AgentAgentActionGroupApiSchemaS3 { + if v == nil { + return nil + } + return v.S3 + }).(AgentAgentActionGroupApiSchemaS3PtrOutput) +} + +type AgentAgentActionGroupApiSchemaS3 struct { + // The S3 bucket name that contains the OpenAPI Schema. + S3BucketName *string `pulumi:"s3BucketName"` + // The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + // + // The following arguments are optional: + S3ObjectKey *string `pulumi:"s3ObjectKey"` +} + +// AgentAgentActionGroupApiSchemaS3Input is an input type that accepts AgentAgentActionGroupApiSchemaS3Args and AgentAgentActionGroupApiSchemaS3Output values. +// You can construct a concrete instance of `AgentAgentActionGroupApiSchemaS3Input` via: +// +// AgentAgentActionGroupApiSchemaS3Args{...} +type AgentAgentActionGroupApiSchemaS3Input interface { + pulumi.Input + + ToAgentAgentActionGroupApiSchemaS3Output() AgentAgentActionGroupApiSchemaS3Output + ToAgentAgentActionGroupApiSchemaS3OutputWithContext(context.Context) AgentAgentActionGroupApiSchemaS3Output +} + +type AgentAgentActionGroupApiSchemaS3Args struct { + // The S3 bucket name that contains the OpenAPI Schema. + S3BucketName pulumi.StringPtrInput `pulumi:"s3BucketName"` + // The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + // + // The following arguments are optional: + S3ObjectKey pulumi.StringPtrInput `pulumi:"s3ObjectKey"` +} + +func (AgentAgentActionGroupApiSchemaS3Args) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAgentActionGroupApiSchemaS3)(nil)).Elem() +} + +func (i AgentAgentActionGroupApiSchemaS3Args) ToAgentAgentActionGroupApiSchemaS3Output() AgentAgentActionGroupApiSchemaS3Output { + return i.ToAgentAgentActionGroupApiSchemaS3OutputWithContext(context.Background()) +} + +func (i AgentAgentActionGroupApiSchemaS3Args) ToAgentAgentActionGroupApiSchemaS3OutputWithContext(ctx context.Context) AgentAgentActionGroupApiSchemaS3Output { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentActionGroupApiSchemaS3Output) +} + +func (i AgentAgentActionGroupApiSchemaS3Args) ToAgentAgentActionGroupApiSchemaS3PtrOutput() AgentAgentActionGroupApiSchemaS3PtrOutput { + return i.ToAgentAgentActionGroupApiSchemaS3PtrOutputWithContext(context.Background()) +} + +func (i AgentAgentActionGroupApiSchemaS3Args) ToAgentAgentActionGroupApiSchemaS3PtrOutputWithContext(ctx context.Context) AgentAgentActionGroupApiSchemaS3PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentActionGroupApiSchemaS3Output).ToAgentAgentActionGroupApiSchemaS3PtrOutputWithContext(ctx) +} + +// AgentAgentActionGroupApiSchemaS3PtrInput is an input type that accepts AgentAgentActionGroupApiSchemaS3Args, AgentAgentActionGroupApiSchemaS3Ptr and AgentAgentActionGroupApiSchemaS3PtrOutput values. +// You can construct a concrete instance of `AgentAgentActionGroupApiSchemaS3PtrInput` via: +// +// AgentAgentActionGroupApiSchemaS3Args{...} +// +// or: +// +// nil +type AgentAgentActionGroupApiSchemaS3PtrInput interface { + pulumi.Input + + ToAgentAgentActionGroupApiSchemaS3PtrOutput() AgentAgentActionGroupApiSchemaS3PtrOutput + ToAgentAgentActionGroupApiSchemaS3PtrOutputWithContext(context.Context) AgentAgentActionGroupApiSchemaS3PtrOutput +} + +type agentAgentActionGroupApiSchemaS3PtrType AgentAgentActionGroupApiSchemaS3Args + +func AgentAgentActionGroupApiSchemaS3Ptr(v *AgentAgentActionGroupApiSchemaS3Args) AgentAgentActionGroupApiSchemaS3PtrInput { + return (*agentAgentActionGroupApiSchemaS3PtrType)(v) +} + +func (*agentAgentActionGroupApiSchemaS3PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgentActionGroupApiSchemaS3)(nil)).Elem() +} + +func (i *agentAgentActionGroupApiSchemaS3PtrType) ToAgentAgentActionGroupApiSchemaS3PtrOutput() AgentAgentActionGroupApiSchemaS3PtrOutput { + return i.ToAgentAgentActionGroupApiSchemaS3PtrOutputWithContext(context.Background()) +} + +func (i *agentAgentActionGroupApiSchemaS3PtrType) ToAgentAgentActionGroupApiSchemaS3PtrOutputWithContext(ctx context.Context) AgentAgentActionGroupApiSchemaS3PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentActionGroupApiSchemaS3PtrOutput) +} + +type AgentAgentActionGroupApiSchemaS3Output struct{ *pulumi.OutputState } + +func (AgentAgentActionGroupApiSchemaS3Output) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAgentActionGroupApiSchemaS3)(nil)).Elem() +} + +func (o AgentAgentActionGroupApiSchemaS3Output) ToAgentAgentActionGroupApiSchemaS3Output() AgentAgentActionGroupApiSchemaS3Output { + return o +} + +func (o AgentAgentActionGroupApiSchemaS3Output) ToAgentAgentActionGroupApiSchemaS3OutputWithContext(ctx context.Context) AgentAgentActionGroupApiSchemaS3Output { + return o +} + +func (o AgentAgentActionGroupApiSchemaS3Output) ToAgentAgentActionGroupApiSchemaS3PtrOutput() AgentAgentActionGroupApiSchemaS3PtrOutput { + return o.ToAgentAgentActionGroupApiSchemaS3PtrOutputWithContext(context.Background()) +} + +func (o AgentAgentActionGroupApiSchemaS3Output) ToAgentAgentActionGroupApiSchemaS3PtrOutputWithContext(ctx context.Context) AgentAgentActionGroupApiSchemaS3PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentAgentActionGroupApiSchemaS3) *AgentAgentActionGroupApiSchemaS3 { + return &v + }).(AgentAgentActionGroupApiSchemaS3PtrOutput) +} + +// The S3 bucket name that contains the OpenAPI Schema. +func (o AgentAgentActionGroupApiSchemaS3Output) S3BucketName() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentAgentActionGroupApiSchemaS3) *string { return v.S3BucketName }).(pulumi.StringPtrOutput) +} + +// The S3 Object Key for the OpenAPI Schema in the S3 Bucket. +// +// The following arguments are optional: +func (o AgentAgentActionGroupApiSchemaS3Output) S3ObjectKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentAgentActionGroupApiSchemaS3) *string { return v.S3ObjectKey }).(pulumi.StringPtrOutput) +} + +type AgentAgentActionGroupApiSchemaS3PtrOutput struct{ *pulumi.OutputState } + +func (AgentAgentActionGroupApiSchemaS3PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgentActionGroupApiSchemaS3)(nil)).Elem() +} + +func (o AgentAgentActionGroupApiSchemaS3PtrOutput) ToAgentAgentActionGroupApiSchemaS3PtrOutput() AgentAgentActionGroupApiSchemaS3PtrOutput { + return o +} + +func (o AgentAgentActionGroupApiSchemaS3PtrOutput) ToAgentAgentActionGroupApiSchemaS3PtrOutputWithContext(ctx context.Context) AgentAgentActionGroupApiSchemaS3PtrOutput { + return o +} + +func (o AgentAgentActionGroupApiSchemaS3PtrOutput) Elem() AgentAgentActionGroupApiSchemaS3Output { + return o.ApplyT(func(v *AgentAgentActionGroupApiSchemaS3) AgentAgentActionGroupApiSchemaS3 { + if v != nil { + return *v + } + var ret AgentAgentActionGroupApiSchemaS3 + return ret + }).(AgentAgentActionGroupApiSchemaS3Output) +} + +// The S3 bucket name that contains the OpenAPI Schema. +func (o AgentAgentActionGroupApiSchemaS3PtrOutput) S3BucketName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAgentActionGroupApiSchemaS3) *string { + if v == nil { + return nil + } + return v.S3BucketName + }).(pulumi.StringPtrOutput) +} + +// The S3 Object Key for the OpenAPI Schema in the S3 Bucket. +// +// The following arguments are optional: +func (o AgentAgentActionGroupApiSchemaS3PtrOutput) S3ObjectKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAgentActionGroupApiSchemaS3) *string { + if v == nil { + return nil + } + return v.S3ObjectKey + }).(pulumi.StringPtrOutput) +} + +type AgentAgentAliasRoutingConfiguration struct { + // Version of the agent the alias routes to. + AgentVersion string `pulumi:"agentVersion"` +} + +// AgentAgentAliasRoutingConfigurationInput is an input type that accepts AgentAgentAliasRoutingConfigurationArgs and AgentAgentAliasRoutingConfigurationOutput values. +// You can construct a concrete instance of `AgentAgentAliasRoutingConfigurationInput` via: +// +// AgentAgentAliasRoutingConfigurationArgs{...} +type AgentAgentAliasRoutingConfigurationInput interface { + pulumi.Input + + ToAgentAgentAliasRoutingConfigurationOutput() AgentAgentAliasRoutingConfigurationOutput + ToAgentAgentAliasRoutingConfigurationOutputWithContext(context.Context) AgentAgentAliasRoutingConfigurationOutput +} + +type AgentAgentAliasRoutingConfigurationArgs struct { + // Version of the agent the alias routes to. + AgentVersion pulumi.StringInput `pulumi:"agentVersion"` +} + +func (AgentAgentAliasRoutingConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAgentAliasRoutingConfiguration)(nil)).Elem() +} + +func (i AgentAgentAliasRoutingConfigurationArgs) ToAgentAgentAliasRoutingConfigurationOutput() AgentAgentAliasRoutingConfigurationOutput { + return i.ToAgentAgentAliasRoutingConfigurationOutputWithContext(context.Background()) +} + +func (i AgentAgentAliasRoutingConfigurationArgs) ToAgentAgentAliasRoutingConfigurationOutputWithContext(ctx context.Context) AgentAgentAliasRoutingConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentAliasRoutingConfigurationOutput) +} + +// AgentAgentAliasRoutingConfigurationArrayInput is an input type that accepts AgentAgentAliasRoutingConfigurationArray and AgentAgentAliasRoutingConfigurationArrayOutput values. +// You can construct a concrete instance of `AgentAgentAliasRoutingConfigurationArrayInput` via: +// +// AgentAgentAliasRoutingConfigurationArray{ AgentAgentAliasRoutingConfigurationArgs{...} } +type AgentAgentAliasRoutingConfigurationArrayInput interface { + pulumi.Input + + ToAgentAgentAliasRoutingConfigurationArrayOutput() AgentAgentAliasRoutingConfigurationArrayOutput + ToAgentAgentAliasRoutingConfigurationArrayOutputWithContext(context.Context) AgentAgentAliasRoutingConfigurationArrayOutput +} + +type AgentAgentAliasRoutingConfigurationArray []AgentAgentAliasRoutingConfigurationInput + +func (AgentAgentAliasRoutingConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AgentAgentAliasRoutingConfiguration)(nil)).Elem() +} + +func (i AgentAgentAliasRoutingConfigurationArray) ToAgentAgentAliasRoutingConfigurationArrayOutput() AgentAgentAliasRoutingConfigurationArrayOutput { + return i.ToAgentAgentAliasRoutingConfigurationArrayOutputWithContext(context.Background()) +} + +func (i AgentAgentAliasRoutingConfigurationArray) ToAgentAgentAliasRoutingConfigurationArrayOutputWithContext(ctx context.Context) AgentAgentAliasRoutingConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentAliasRoutingConfigurationArrayOutput) +} + +type AgentAgentAliasRoutingConfigurationOutput struct{ *pulumi.OutputState } + +func (AgentAgentAliasRoutingConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAgentAliasRoutingConfiguration)(nil)).Elem() +} + +func (o AgentAgentAliasRoutingConfigurationOutput) ToAgentAgentAliasRoutingConfigurationOutput() AgentAgentAliasRoutingConfigurationOutput { + return o +} + +func (o AgentAgentAliasRoutingConfigurationOutput) ToAgentAgentAliasRoutingConfigurationOutputWithContext(ctx context.Context) AgentAgentAliasRoutingConfigurationOutput { + return o +} + +// Version of the agent the alias routes to. +func (o AgentAgentAliasRoutingConfigurationOutput) AgentVersion() pulumi.StringOutput { + return o.ApplyT(func(v AgentAgentAliasRoutingConfiguration) string { return v.AgentVersion }).(pulumi.StringOutput) +} + +type AgentAgentAliasRoutingConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (AgentAgentAliasRoutingConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AgentAgentAliasRoutingConfiguration)(nil)).Elem() +} + +func (o AgentAgentAliasRoutingConfigurationArrayOutput) ToAgentAgentAliasRoutingConfigurationArrayOutput() AgentAgentAliasRoutingConfigurationArrayOutput { + return o +} + +func (o AgentAgentAliasRoutingConfigurationArrayOutput) ToAgentAgentAliasRoutingConfigurationArrayOutputWithContext(ctx context.Context) AgentAgentAliasRoutingConfigurationArrayOutput { + return o +} + +func (o AgentAgentAliasRoutingConfigurationArrayOutput) Index(i pulumi.IntInput) AgentAgentAliasRoutingConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AgentAgentAliasRoutingConfiguration { + return vs[0].([]AgentAgentAliasRoutingConfiguration)[vs[1].(int)] + }).(AgentAgentAliasRoutingConfigurationOutput) +} + +type AgentAgentAliasTimeouts 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"` +} + +// AgentAgentAliasTimeoutsInput is an input type that accepts AgentAgentAliasTimeoutsArgs and AgentAgentAliasTimeoutsOutput values. +// You can construct a concrete instance of `AgentAgentAliasTimeoutsInput` via: +// +// AgentAgentAliasTimeoutsArgs{...} +type AgentAgentAliasTimeoutsInput interface { + pulumi.Input + + ToAgentAgentAliasTimeoutsOutput() AgentAgentAliasTimeoutsOutput + ToAgentAgentAliasTimeoutsOutputWithContext(context.Context) AgentAgentAliasTimeoutsOutput +} + +type AgentAgentAliasTimeoutsArgs 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 (AgentAgentAliasTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAgentAliasTimeouts)(nil)).Elem() +} + +func (i AgentAgentAliasTimeoutsArgs) ToAgentAgentAliasTimeoutsOutput() AgentAgentAliasTimeoutsOutput { + return i.ToAgentAgentAliasTimeoutsOutputWithContext(context.Background()) +} + +func (i AgentAgentAliasTimeoutsArgs) ToAgentAgentAliasTimeoutsOutputWithContext(ctx context.Context) AgentAgentAliasTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentAliasTimeoutsOutput) +} + +func (i AgentAgentAliasTimeoutsArgs) ToAgentAgentAliasTimeoutsPtrOutput() AgentAgentAliasTimeoutsPtrOutput { + return i.ToAgentAgentAliasTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i AgentAgentAliasTimeoutsArgs) ToAgentAgentAliasTimeoutsPtrOutputWithContext(ctx context.Context) AgentAgentAliasTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentAliasTimeoutsOutput).ToAgentAgentAliasTimeoutsPtrOutputWithContext(ctx) +} + +// AgentAgentAliasTimeoutsPtrInput is an input type that accepts AgentAgentAliasTimeoutsArgs, AgentAgentAliasTimeoutsPtr and AgentAgentAliasTimeoutsPtrOutput values. +// You can construct a concrete instance of `AgentAgentAliasTimeoutsPtrInput` via: +// +// AgentAgentAliasTimeoutsArgs{...} +// +// or: +// +// nil +type AgentAgentAliasTimeoutsPtrInput interface { + pulumi.Input + + ToAgentAgentAliasTimeoutsPtrOutput() AgentAgentAliasTimeoutsPtrOutput + ToAgentAgentAliasTimeoutsPtrOutputWithContext(context.Context) AgentAgentAliasTimeoutsPtrOutput +} + +type agentAgentAliasTimeoutsPtrType AgentAgentAliasTimeoutsArgs + +func AgentAgentAliasTimeoutsPtr(v *AgentAgentAliasTimeoutsArgs) AgentAgentAliasTimeoutsPtrInput { + return (*agentAgentAliasTimeoutsPtrType)(v) +} + +func (*agentAgentAliasTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgentAliasTimeouts)(nil)).Elem() +} + +func (i *agentAgentAliasTimeoutsPtrType) ToAgentAgentAliasTimeoutsPtrOutput() AgentAgentAliasTimeoutsPtrOutput { + return i.ToAgentAgentAliasTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *agentAgentAliasTimeoutsPtrType) ToAgentAgentAliasTimeoutsPtrOutputWithContext(ctx context.Context) AgentAgentAliasTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentAliasTimeoutsPtrOutput) +} + +type AgentAgentAliasTimeoutsOutput struct{ *pulumi.OutputState } + +func (AgentAgentAliasTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAgentAliasTimeouts)(nil)).Elem() +} + +func (o AgentAgentAliasTimeoutsOutput) ToAgentAgentAliasTimeoutsOutput() AgentAgentAliasTimeoutsOutput { + return o +} + +func (o AgentAgentAliasTimeoutsOutput) ToAgentAgentAliasTimeoutsOutputWithContext(ctx context.Context) AgentAgentAliasTimeoutsOutput { + return o +} + +func (o AgentAgentAliasTimeoutsOutput) ToAgentAgentAliasTimeoutsPtrOutput() AgentAgentAliasTimeoutsPtrOutput { + return o.ToAgentAgentAliasTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o AgentAgentAliasTimeoutsOutput) ToAgentAgentAliasTimeoutsPtrOutputWithContext(ctx context.Context) AgentAgentAliasTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentAgentAliasTimeouts) *AgentAgentAliasTimeouts { + return &v + }).(AgentAgentAliasTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 AgentAgentAliasTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentAgentAliasTimeouts) *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 AgentAgentAliasTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentAgentAliasTimeouts) *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 AgentAgentAliasTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentAgentAliasTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type AgentAgentAliasTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (AgentAgentAliasTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgentAliasTimeouts)(nil)).Elem() +} + +func (o AgentAgentAliasTimeoutsPtrOutput) ToAgentAgentAliasTimeoutsPtrOutput() AgentAgentAliasTimeoutsPtrOutput { + return o +} + +func (o AgentAgentAliasTimeoutsPtrOutput) ToAgentAgentAliasTimeoutsPtrOutputWithContext(ctx context.Context) AgentAgentAliasTimeoutsPtrOutput { + return o +} + +func (o AgentAgentAliasTimeoutsPtrOutput) Elem() AgentAgentAliasTimeoutsOutput { + return o.ApplyT(func(v *AgentAgentAliasTimeouts) AgentAgentAliasTimeouts { + if v != nil { + return *v + } + var ret AgentAgentAliasTimeouts + return ret + }).(AgentAgentAliasTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 AgentAgentAliasTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAgentAliasTimeouts) *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 AgentAgentAliasTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAgentAliasTimeouts) *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 AgentAgentAliasTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAgentAliasTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + +type AgentAgentPromptOverrideConfiguration struct { + // ARN of Lambda to use when parsing the raw foundation model output. + OverrideLambda string `pulumi:"overrideLambda"` + // List of prompt configurations. + // + // The following arguments are optional: + PromptConfigurations []interface{} `pulumi:"promptConfigurations"` +} + +// AgentAgentPromptOverrideConfigurationInput is an input type that accepts AgentAgentPromptOverrideConfigurationArgs and AgentAgentPromptOverrideConfigurationOutput values. +// You can construct a concrete instance of `AgentAgentPromptOverrideConfigurationInput` via: +// +// AgentAgentPromptOverrideConfigurationArgs{...} +type AgentAgentPromptOverrideConfigurationInput interface { + pulumi.Input + + ToAgentAgentPromptOverrideConfigurationOutput() AgentAgentPromptOverrideConfigurationOutput + ToAgentAgentPromptOverrideConfigurationOutputWithContext(context.Context) AgentAgentPromptOverrideConfigurationOutput +} + +type AgentAgentPromptOverrideConfigurationArgs struct { + // ARN of Lambda to use when parsing the raw foundation model output. + OverrideLambda pulumi.StringInput `pulumi:"overrideLambda"` + // List of prompt configurations. + // + // The following arguments are optional: + PromptConfigurations pulumi.ArrayInput `pulumi:"promptConfigurations"` +} + +func (AgentAgentPromptOverrideConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAgentPromptOverrideConfiguration)(nil)).Elem() +} + +func (i AgentAgentPromptOverrideConfigurationArgs) ToAgentAgentPromptOverrideConfigurationOutput() AgentAgentPromptOverrideConfigurationOutput { + return i.ToAgentAgentPromptOverrideConfigurationOutputWithContext(context.Background()) +} + +func (i AgentAgentPromptOverrideConfigurationArgs) ToAgentAgentPromptOverrideConfigurationOutputWithContext(ctx context.Context) AgentAgentPromptOverrideConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentPromptOverrideConfigurationOutput) +} + +// AgentAgentPromptOverrideConfigurationArrayInput is an input type that accepts AgentAgentPromptOverrideConfigurationArray and AgentAgentPromptOverrideConfigurationArrayOutput values. +// You can construct a concrete instance of `AgentAgentPromptOverrideConfigurationArrayInput` via: +// +// AgentAgentPromptOverrideConfigurationArray{ AgentAgentPromptOverrideConfigurationArgs{...} } +type AgentAgentPromptOverrideConfigurationArrayInput interface { + pulumi.Input + + ToAgentAgentPromptOverrideConfigurationArrayOutput() AgentAgentPromptOverrideConfigurationArrayOutput + ToAgentAgentPromptOverrideConfigurationArrayOutputWithContext(context.Context) AgentAgentPromptOverrideConfigurationArrayOutput +} + +type AgentAgentPromptOverrideConfigurationArray []AgentAgentPromptOverrideConfigurationInput + +func (AgentAgentPromptOverrideConfigurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]AgentAgentPromptOverrideConfiguration)(nil)).Elem() +} + +func (i AgentAgentPromptOverrideConfigurationArray) ToAgentAgentPromptOverrideConfigurationArrayOutput() AgentAgentPromptOverrideConfigurationArrayOutput { + return i.ToAgentAgentPromptOverrideConfigurationArrayOutputWithContext(context.Background()) +} + +func (i AgentAgentPromptOverrideConfigurationArray) ToAgentAgentPromptOverrideConfigurationArrayOutputWithContext(ctx context.Context) AgentAgentPromptOverrideConfigurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentPromptOverrideConfigurationArrayOutput) +} + +type AgentAgentPromptOverrideConfigurationOutput struct{ *pulumi.OutputState } + +func (AgentAgentPromptOverrideConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAgentPromptOverrideConfiguration)(nil)).Elem() +} + +func (o AgentAgentPromptOverrideConfigurationOutput) ToAgentAgentPromptOverrideConfigurationOutput() AgentAgentPromptOverrideConfigurationOutput { + return o +} + +func (o AgentAgentPromptOverrideConfigurationOutput) ToAgentAgentPromptOverrideConfigurationOutputWithContext(ctx context.Context) AgentAgentPromptOverrideConfigurationOutput { + return o +} + +// ARN of Lambda to use when parsing the raw foundation model output. +func (o AgentAgentPromptOverrideConfigurationOutput) OverrideLambda() pulumi.StringOutput { + return o.ApplyT(func(v AgentAgentPromptOverrideConfiguration) string { return v.OverrideLambda }).(pulumi.StringOutput) +} + +// List of prompt configurations. +// +// The following arguments are optional: +func (o AgentAgentPromptOverrideConfigurationOutput) PromptConfigurations() pulumi.ArrayOutput { + return o.ApplyT(func(v AgentAgentPromptOverrideConfiguration) []interface{} { return v.PromptConfigurations }).(pulumi.ArrayOutput) +} + +type AgentAgentPromptOverrideConfigurationArrayOutput struct{ *pulumi.OutputState } + +func (AgentAgentPromptOverrideConfigurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]AgentAgentPromptOverrideConfiguration)(nil)).Elem() +} + +func (o AgentAgentPromptOverrideConfigurationArrayOutput) ToAgentAgentPromptOverrideConfigurationArrayOutput() AgentAgentPromptOverrideConfigurationArrayOutput { + return o +} + +func (o AgentAgentPromptOverrideConfigurationArrayOutput) ToAgentAgentPromptOverrideConfigurationArrayOutputWithContext(ctx context.Context) AgentAgentPromptOverrideConfigurationArrayOutput { + return o +} + +func (o AgentAgentPromptOverrideConfigurationArrayOutput) Index(i pulumi.IntInput) AgentAgentPromptOverrideConfigurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) AgentAgentPromptOverrideConfiguration { + return vs[0].([]AgentAgentPromptOverrideConfiguration)[vs[1].(int)] + }).(AgentAgentPromptOverrideConfigurationOutput) +} + +type AgentAgentTimeouts 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"` +} + +// AgentAgentTimeoutsInput is an input type that accepts AgentAgentTimeoutsArgs and AgentAgentTimeoutsOutput values. +// You can construct a concrete instance of `AgentAgentTimeoutsInput` via: +// +// AgentAgentTimeoutsArgs{...} +type AgentAgentTimeoutsInput interface { + pulumi.Input + + ToAgentAgentTimeoutsOutput() AgentAgentTimeoutsOutput + ToAgentAgentTimeoutsOutputWithContext(context.Context) AgentAgentTimeoutsOutput +} + +type AgentAgentTimeoutsArgs 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 (AgentAgentTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAgentTimeouts)(nil)).Elem() +} + +func (i AgentAgentTimeoutsArgs) ToAgentAgentTimeoutsOutput() AgentAgentTimeoutsOutput { + return i.ToAgentAgentTimeoutsOutputWithContext(context.Background()) +} + +func (i AgentAgentTimeoutsArgs) ToAgentAgentTimeoutsOutputWithContext(ctx context.Context) AgentAgentTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentTimeoutsOutput) +} + +func (i AgentAgentTimeoutsArgs) ToAgentAgentTimeoutsPtrOutput() AgentAgentTimeoutsPtrOutput { + return i.ToAgentAgentTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i AgentAgentTimeoutsArgs) ToAgentAgentTimeoutsPtrOutputWithContext(ctx context.Context) AgentAgentTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentTimeoutsOutput).ToAgentAgentTimeoutsPtrOutputWithContext(ctx) +} + +// AgentAgentTimeoutsPtrInput is an input type that accepts AgentAgentTimeoutsArgs, AgentAgentTimeoutsPtr and AgentAgentTimeoutsPtrOutput values. +// You can construct a concrete instance of `AgentAgentTimeoutsPtrInput` via: +// +// AgentAgentTimeoutsArgs{...} +// +// or: +// +// nil +type AgentAgentTimeoutsPtrInput interface { + pulumi.Input + + ToAgentAgentTimeoutsPtrOutput() AgentAgentTimeoutsPtrOutput + ToAgentAgentTimeoutsPtrOutputWithContext(context.Context) AgentAgentTimeoutsPtrOutput +} + +type agentAgentTimeoutsPtrType AgentAgentTimeoutsArgs + +func AgentAgentTimeoutsPtr(v *AgentAgentTimeoutsArgs) AgentAgentTimeoutsPtrInput { + return (*agentAgentTimeoutsPtrType)(v) +} + +func (*agentAgentTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgentTimeouts)(nil)).Elem() +} + +func (i *agentAgentTimeoutsPtrType) ToAgentAgentTimeoutsPtrOutput() AgentAgentTimeoutsPtrOutput { + return i.ToAgentAgentTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *agentAgentTimeoutsPtrType) ToAgentAgentTimeoutsPtrOutputWithContext(ctx context.Context) AgentAgentTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentAgentTimeoutsPtrOutput) +} + +type AgentAgentTimeoutsOutput struct{ *pulumi.OutputState } + +func (AgentAgentTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentAgentTimeouts)(nil)).Elem() +} + +func (o AgentAgentTimeoutsOutput) ToAgentAgentTimeoutsOutput() AgentAgentTimeoutsOutput { + return o +} + +func (o AgentAgentTimeoutsOutput) ToAgentAgentTimeoutsOutputWithContext(ctx context.Context) AgentAgentTimeoutsOutput { + return o +} + +func (o AgentAgentTimeoutsOutput) ToAgentAgentTimeoutsPtrOutput() AgentAgentTimeoutsPtrOutput { + return o.ToAgentAgentTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o AgentAgentTimeoutsOutput) ToAgentAgentTimeoutsPtrOutputWithContext(ctx context.Context) AgentAgentTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentAgentTimeouts) *AgentAgentTimeouts { + return &v + }).(AgentAgentTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 AgentAgentTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentAgentTimeouts) *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 AgentAgentTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentAgentTimeouts) *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 AgentAgentTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentAgentTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type AgentAgentTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (AgentAgentTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentAgentTimeouts)(nil)).Elem() +} + +func (o AgentAgentTimeoutsPtrOutput) ToAgentAgentTimeoutsPtrOutput() AgentAgentTimeoutsPtrOutput { + return o +} + +func (o AgentAgentTimeoutsPtrOutput) ToAgentAgentTimeoutsPtrOutputWithContext(ctx context.Context) AgentAgentTimeoutsPtrOutput { + return o +} + +func (o AgentAgentTimeoutsPtrOutput) Elem() AgentAgentTimeoutsOutput { + return o.ApplyT(func(v *AgentAgentTimeouts) AgentAgentTimeouts { + if v != nil { + return *v + } + var ret AgentAgentTimeouts + return ret + }).(AgentAgentTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 AgentAgentTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAgentTimeouts) *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 AgentAgentTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAgentTimeouts) *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 AgentAgentTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentAgentTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseKnowledgeBaseConfiguration struct { + // The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + Type string `pulumi:"type"` + // Contains details about the embeddings model that'sused to convert the data source. + VectorKnowledgeBaseConfiguration *AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration `pulumi:"vectorKnowledgeBaseConfiguration"` +} + +// AgentKnowledgeBaseKnowledgeBaseConfigurationInput is an input type that accepts AgentKnowledgeBaseKnowledgeBaseConfigurationArgs and AgentKnowledgeBaseKnowledgeBaseConfigurationOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseKnowledgeBaseConfigurationInput` via: +// +// AgentKnowledgeBaseKnowledgeBaseConfigurationArgs{...} +type AgentKnowledgeBaseKnowledgeBaseConfigurationInput interface { + pulumi.Input + + ToAgentKnowledgeBaseKnowledgeBaseConfigurationOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationOutput + ToAgentKnowledgeBaseKnowledgeBaseConfigurationOutputWithContext(context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationOutput +} + +type AgentKnowledgeBaseKnowledgeBaseConfigurationArgs struct { + // The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + Type pulumi.StringInput `pulumi:"type"` + // Contains details about the embeddings model that'sused to convert the data source. + VectorKnowledgeBaseConfiguration AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrInput `pulumi:"vectorKnowledgeBaseConfiguration"` +} + +func (AgentKnowledgeBaseKnowledgeBaseConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseKnowledgeBaseConfiguration)(nil)).Elem() +} + +func (i AgentKnowledgeBaseKnowledgeBaseConfigurationArgs) ToAgentKnowledgeBaseKnowledgeBaseConfigurationOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationOutput { + return i.ToAgentKnowledgeBaseKnowledgeBaseConfigurationOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseKnowledgeBaseConfigurationArgs) ToAgentKnowledgeBaseKnowledgeBaseConfigurationOutputWithContext(ctx context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseKnowledgeBaseConfigurationOutput) +} + +func (i AgentKnowledgeBaseKnowledgeBaseConfigurationArgs) ToAgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput { + return i.ToAgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseKnowledgeBaseConfigurationArgs) ToAgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseKnowledgeBaseConfigurationOutput).ToAgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutputWithContext(ctx) +} + +// AgentKnowledgeBaseKnowledgeBaseConfigurationPtrInput is an input type that accepts AgentKnowledgeBaseKnowledgeBaseConfigurationArgs, AgentKnowledgeBaseKnowledgeBaseConfigurationPtr and AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseKnowledgeBaseConfigurationPtrInput` via: +// +// AgentKnowledgeBaseKnowledgeBaseConfigurationArgs{...} +// +// or: +// +// nil +type AgentKnowledgeBaseKnowledgeBaseConfigurationPtrInput interface { + pulumi.Input + + ToAgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput + ToAgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutputWithContext(context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput +} + +type agentKnowledgeBaseKnowledgeBaseConfigurationPtrType AgentKnowledgeBaseKnowledgeBaseConfigurationArgs + +func AgentKnowledgeBaseKnowledgeBaseConfigurationPtr(v *AgentKnowledgeBaseKnowledgeBaseConfigurationArgs) AgentKnowledgeBaseKnowledgeBaseConfigurationPtrInput { + return (*agentKnowledgeBaseKnowledgeBaseConfigurationPtrType)(v) +} + +func (*agentKnowledgeBaseKnowledgeBaseConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseKnowledgeBaseConfiguration)(nil)).Elem() +} + +func (i *agentKnowledgeBaseKnowledgeBaseConfigurationPtrType) ToAgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput { + return i.ToAgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *agentKnowledgeBaseKnowledgeBaseConfigurationPtrType) ToAgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput) +} + +type AgentKnowledgeBaseKnowledgeBaseConfigurationOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseKnowledgeBaseConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseKnowledgeBaseConfiguration)(nil)).Elem() +} + +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationOutput) ToAgentKnowledgeBaseKnowledgeBaseConfigurationOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationOutput { + return o +} + +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationOutput) ToAgentKnowledgeBaseKnowledgeBaseConfigurationOutputWithContext(ctx context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationOutput { + return o +} + +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationOutput) ToAgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput { + return o.ToAgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutputWithContext(context.Background()) +} + +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationOutput) ToAgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentKnowledgeBaseKnowledgeBaseConfiguration) *AgentKnowledgeBaseKnowledgeBaseConfiguration { + return &v + }).(AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput) +} + +// The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseKnowledgeBaseConfiguration) string { return v.Type }).(pulumi.StringOutput) +} + +// Contains details about the embeddings model that'sused to convert the data source. +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationOutput) VectorKnowledgeBaseConfiguration() AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseKnowledgeBaseConfiguration) *AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration { + return v.VectorKnowledgeBaseConfiguration + }).(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput) +} + +type AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseKnowledgeBaseConfiguration)(nil)).Elem() +} + +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput) ToAgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput { + return o +} + +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput) ToAgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput { + return o +} + +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput) Elem() AgentKnowledgeBaseKnowledgeBaseConfigurationOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseKnowledgeBaseConfiguration) AgentKnowledgeBaseKnowledgeBaseConfiguration { + if v != nil { + return *v + } + var ret AgentKnowledgeBaseKnowledgeBaseConfiguration + return ret + }).(AgentKnowledgeBaseKnowledgeBaseConfigurationOutput) +} + +// The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseKnowledgeBaseConfiguration) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +// Contains details about the embeddings model that'sused to convert the data source. +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput) VectorKnowledgeBaseConfiguration() AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseKnowledgeBaseConfiguration) *AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration { + if v == nil { + return nil + } + return v.VectorKnowledgeBaseConfiguration + }).(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput) +} + +type AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration struct { + // The ARN of the model used to create vector embeddings for the knowledge base. + EmbeddingModelArn string `pulumi:"embeddingModelArn"` +} + +// AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationInput is an input type that accepts AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs and AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationInput` via: +// +// AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs{...} +type AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationInput interface { + pulumi.Input + + ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput + ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutputWithContext(context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput +} + +type AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs struct { + // The ARN of the model used to create vector embeddings for the knowledge base. + EmbeddingModelArn pulumi.StringInput `pulumi:"embeddingModelArn"` +} + +func (AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration)(nil)).Elem() +} + +func (i AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs) ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput { + return i.ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs) ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutputWithContext(ctx context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput) +} + +func (i AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs) ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput { + return i.ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs) ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput).ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutputWithContext(ctx) +} + +// AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrInput is an input type that accepts AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs, AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtr and AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrInput` via: +// +// AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs{...} +// +// or: +// +// nil +type AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrInput interface { + pulumi.Input + + ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput + ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutputWithContext(context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput +} + +type agentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrType AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs + +func AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtr(v *AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs) AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrInput { + return (*agentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrType)(v) +} + +func (*agentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration)(nil)).Elem() +} + +func (i *agentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrType) ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput { + return i.ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *agentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrType) ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput) +} + +type AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration)(nil)).Elem() +} + +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput) ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput { + return o +} + +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput) ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutputWithContext(ctx context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput { + return o +} + +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput) ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput { + return o.ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutputWithContext(context.Background()) +} + +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput) ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration) *AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration { + return &v + }).(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput) +} + +// The ARN of the model used to create vector embeddings for the knowledge base. +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput) EmbeddingModelArn() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration) string { + return v.EmbeddingModelArn + }).(pulumi.StringOutput) +} + +type AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration)(nil)).Elem() +} + +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput) ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput() AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput { + return o +} + +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput) ToAgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput { + return o +} + +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput) Elem() AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration) AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration { + if v != nil { + return *v + } + var ret AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration + return ret + }).(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput) +} + +// The ARN of the model used to create vector embeddings for the knowledge base. +func (o AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput) EmbeddingModelArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration) *string { + if v == nil { + return nil + } + return &v.EmbeddingModelArn + }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseStorageConfiguration struct { + // Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + OpensearchServerlessConfiguration *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration `pulumi:"opensearchServerlessConfiguration"` + // Contains the storage configuration of the knowledge base in Pinecone. + PineconeConfiguration *AgentKnowledgeBaseStorageConfigurationPineconeConfiguration `pulumi:"pineconeConfiguration"` + // Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + RdsConfiguration *AgentKnowledgeBaseStorageConfigurationRdsConfiguration `pulumi:"rdsConfiguration"` + // Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + RedisEnterpriseCloudConfiguration *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration `pulumi:"redisEnterpriseCloudConfiguration"` + // The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + Type string `pulumi:"type"` +} + +// AgentKnowledgeBaseStorageConfigurationInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationArgs and AgentKnowledgeBaseStorageConfigurationOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationInput` via: +// +// AgentKnowledgeBaseStorageConfigurationArgs{...} +type AgentKnowledgeBaseStorageConfigurationInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationOutput() AgentKnowledgeBaseStorageConfigurationOutput + ToAgentKnowledgeBaseStorageConfigurationOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationOutput +} + +type AgentKnowledgeBaseStorageConfigurationArgs struct { + // Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + OpensearchServerlessConfiguration AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrInput `pulumi:"opensearchServerlessConfiguration"` + // Contains the storage configuration of the knowledge base in Pinecone. + PineconeConfiguration AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrInput `pulumi:"pineconeConfiguration"` + // Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + RdsConfiguration AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrInput `pulumi:"rdsConfiguration"` + // Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + RedisEnterpriseCloudConfiguration AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrInput `pulumi:"redisEnterpriseCloudConfiguration"` + // The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + Type pulumi.StringInput `pulumi:"type"` +} + +func (AgentKnowledgeBaseStorageConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfiguration)(nil)).Elem() +} + +func (i AgentKnowledgeBaseStorageConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationOutput() AgentKnowledgeBaseStorageConfigurationOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationOutput) +} + +func (i AgentKnowledgeBaseStorageConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationPtrOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationOutput).ToAgentKnowledgeBaseStorageConfigurationPtrOutputWithContext(ctx) +} + +// AgentKnowledgeBaseStorageConfigurationPtrInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationArgs, AgentKnowledgeBaseStorageConfigurationPtr and AgentKnowledgeBaseStorageConfigurationPtrOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationPtrInput` via: +// +// AgentKnowledgeBaseStorageConfigurationArgs{...} +// +// or: +// +// nil +type AgentKnowledgeBaseStorageConfigurationPtrInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationPtrOutput + ToAgentKnowledgeBaseStorageConfigurationPtrOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationPtrOutput +} + +type agentKnowledgeBaseStorageConfigurationPtrType AgentKnowledgeBaseStorageConfigurationArgs + +func AgentKnowledgeBaseStorageConfigurationPtr(v *AgentKnowledgeBaseStorageConfigurationArgs) AgentKnowledgeBaseStorageConfigurationPtrInput { + return (*agentKnowledgeBaseStorageConfigurationPtrType)(v) +} + +func (*agentKnowledgeBaseStorageConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfiguration)(nil)).Elem() +} + +func (i *agentKnowledgeBaseStorageConfigurationPtrType) ToAgentKnowledgeBaseStorageConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *agentKnowledgeBaseStorageConfigurationPtrType) ToAgentKnowledgeBaseStorageConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfiguration)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationOutput() AgentKnowledgeBaseStorageConfigurationOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationPtrOutput { + return o.ToAgentKnowledgeBaseStorageConfigurationPtrOutputWithContext(context.Background()) +} + +func (o AgentKnowledgeBaseStorageConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentKnowledgeBaseStorageConfiguration) *AgentKnowledgeBaseStorageConfiguration { + return &v + }).(AgentKnowledgeBaseStorageConfigurationPtrOutput) +} + +// Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. +func (o AgentKnowledgeBaseStorageConfigurationOutput) OpensearchServerlessConfiguration() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfiguration) *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration { + return v.OpensearchServerlessConfiguration + }).(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput) +} + +// Contains the storage configuration of the knowledge base in Pinecone. +func (o AgentKnowledgeBaseStorageConfigurationOutput) PineconeConfiguration() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfiguration) *AgentKnowledgeBaseStorageConfigurationPineconeConfiguration { + return v.PineconeConfiguration + }).(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput) +} + +// Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. +func (o AgentKnowledgeBaseStorageConfigurationOutput) RdsConfiguration() AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfiguration) *AgentKnowledgeBaseStorageConfigurationRdsConfiguration { + return v.RdsConfiguration + }).(AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput) +} + +// Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. +func (o AgentKnowledgeBaseStorageConfigurationOutput) RedisEnterpriseCloudConfiguration() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfiguration) *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration { + return v.RedisEnterpriseCloudConfiguration + }).(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput) +} + +// The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS +func (o AgentKnowledgeBaseStorageConfigurationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfiguration) string { return v.Type }).(pulumi.StringOutput) +} + +type AgentKnowledgeBaseStorageConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfiguration)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationPtrOutput) ToAgentKnowledgeBaseStorageConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationPtrOutput) ToAgentKnowledgeBaseStorageConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationPtrOutput) Elem() AgentKnowledgeBaseStorageConfigurationOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfiguration) AgentKnowledgeBaseStorageConfiguration { + if v != nil { + return *v + } + var ret AgentKnowledgeBaseStorageConfiguration + return ret + }).(AgentKnowledgeBaseStorageConfigurationOutput) +} + +// Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. +func (o AgentKnowledgeBaseStorageConfigurationPtrOutput) OpensearchServerlessConfiguration() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfiguration) *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration { + if v == nil { + return nil + } + return v.OpensearchServerlessConfiguration + }).(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput) +} + +// Contains the storage configuration of the knowledge base in Pinecone. +func (o AgentKnowledgeBaseStorageConfigurationPtrOutput) PineconeConfiguration() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfiguration) *AgentKnowledgeBaseStorageConfigurationPineconeConfiguration { + if v == nil { + return nil + } + return v.PineconeConfiguration + }).(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput) +} + +// Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. +func (o AgentKnowledgeBaseStorageConfigurationPtrOutput) RdsConfiguration() AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfiguration) *AgentKnowledgeBaseStorageConfigurationRdsConfiguration { + if v == nil { + return nil + } + return v.RdsConfiguration + }).(AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput) +} + +// Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. +func (o AgentKnowledgeBaseStorageConfigurationPtrOutput) RedisEnterpriseCloudConfiguration() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfiguration) *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration { + if v == nil { + return nil + } + return v.RedisEnterpriseCloudConfiguration + }).(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput) +} + +// The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS +func (o AgentKnowledgeBaseStorageConfigurationPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfiguration) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration struct { + // The ARN of the OpenSearch Service vector store. + CollectionArn string `pulumi:"collectionArn"` + // Contains the names of the fields to which to map information about the vector store. + FieldMapping *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping `pulumi:"fieldMapping"` + // The name of the vector store. + VectorIndexName string `pulumi:"vectorIndexName"` +} + +// AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs and AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationInput` via: +// +// AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs{...} +type AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput + ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput +} + +type AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs struct { + // The ARN of the OpenSearch Service vector store. + CollectionArn pulumi.StringInput `pulumi:"collectionArn"` + // Contains the names of the fields to which to map information about the vector store. + FieldMapping AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrInput `pulumi:"fieldMapping"` + // The name of the vector store. + VectorIndexName pulumi.StringInput `pulumi:"vectorIndexName"` +} + +func (AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration)(nil)).Elem() +} + +func (i AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput) +} + +func (i AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput).ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutputWithContext(ctx) +} + +// AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs, AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtr and AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrInput` via: +// +// AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs{...} +// +// or: +// +// nil +type AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput + ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput +} + +type agentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrType AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs + +func AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtr(v *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrInput { + return (*agentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrType)(v) +} + +func (*agentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration)(nil)).Elem() +} + +func (i *agentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrType) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *agentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrType) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput { + return o.ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutputWithContext(context.Background()) +} + +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration) *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration { + return &v + }).(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput) +} + +// The ARN of the OpenSearch Service vector store. +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput) CollectionArn() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration) string { + return v.CollectionArn + }).(pulumi.StringOutput) +} + +// Contains the names of the fields to which to map information about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput) FieldMapping() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration) *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping { + return v.FieldMapping + }).(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput) +} + +// The name of the vector store. +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput) VectorIndexName() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration) string { + return v.VectorIndexName + }).(pulumi.StringOutput) +} + +type AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput) Elem() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration { + if v != nil { + return *v + } + var ret AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration + return ret + }).(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput) +} + +// The ARN of the OpenSearch Service vector store. +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput) CollectionArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration) *string { + if v == nil { + return nil + } + return &v.CollectionArn + }).(pulumi.StringPtrOutput) +} + +// Contains the names of the fields to which to map information about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput) FieldMapping() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration) *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping { + if v == nil { + return nil + } + return v.FieldMapping + }).(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput) +} + +// The name of the vector store. +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput) VectorIndexName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration) *string { + if v == nil { + return nil + } + return &v.VectorIndexName + }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping struct { + // The name of the field in which Amazon Bedrock stores metadata about the vector store. + MetadataField *string `pulumi:"metadataField"` + // The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + TextField *string `pulumi:"textField"` + // The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + VectorField *string `pulumi:"vectorField"` +} + +// AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs and AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingInput` via: +// +// AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs{...} +type AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput + ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput +} + +type AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs struct { + // The name of the field in which Amazon Bedrock stores metadata about the vector store. + MetadataField pulumi.StringPtrInput `pulumi:"metadataField"` + // The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + TextField pulumi.StringPtrInput `pulumi:"textField"` + // The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + VectorField pulumi.StringPtrInput `pulumi:"vectorField"` +} + +func (AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping)(nil)).Elem() +} + +func (i AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput) +} + +func (i AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput).ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutputWithContext(ctx) +} + +// AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs, AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtr and AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrInput` via: +// +// AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs{...} +// +// or: +// +// nil +type AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput + ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput +} + +type agentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrType AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs + +func AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtr(v *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrInput { + return (*agentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrType)(v) +} + +func (*agentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping)(nil)).Elem() +} + +func (i *agentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrType) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutputWithContext(context.Background()) +} + +func (i *agentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrType) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput { + return o.ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutputWithContext(context.Background()) +} + +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping) *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping { + return &v + }).(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores metadata about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput) MetadataField() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping) *string { + return v.MetadataField + }).(pulumi.StringPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput) TextField() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping) *string { + return v.TextField + }).(pulumi.StringPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput) VectorField() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping) *string { + return v.VectorField + }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput) ToAgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput) Elem() AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping) AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping { + if v != nil { + return *v + } + var ret AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping + return ret + }).(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput) +} + +// The name of the field in which Amazon Bedrock stores metadata about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput) MetadataField() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping) *string { + if v == nil { + return nil + } + return v.MetadataField + }).(pulumi.StringPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput) TextField() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping) *string { + if v == nil { + return nil + } + return v.TextField + }).(pulumi.StringPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. +func (o AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput) VectorField() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping) *string { + if v == nil { + return nil + } + return v.VectorField + }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationPineconeConfiguration struct { + // The endpoint URL for your index management page. + ConnectionString string `pulumi:"connectionString"` + // The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + CredentialsSecretArn string `pulumi:"credentialsSecretArn"` + // Contains the names of the fields to which to map information about the vector store. + FieldMapping *AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping `pulumi:"fieldMapping"` + // The namespace to be used to write new data to your database. + Namespace *string `pulumi:"namespace"` +} + +// AgentKnowledgeBaseStorageConfigurationPineconeConfigurationInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs and AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationPineconeConfigurationInput` via: +// +// AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs{...} +type AgentKnowledgeBaseStorageConfigurationPineconeConfigurationInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput + ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput +} + +type AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs struct { + // The endpoint URL for your index management page. + ConnectionString pulumi.StringInput `pulumi:"connectionString"` + // The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + CredentialsSecretArn pulumi.StringInput `pulumi:"credentialsSecretArn"` + // Contains the names of the fields to which to map information about the vector store. + FieldMapping AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrInput `pulumi:"fieldMapping"` + // The namespace to be used to write new data to your database. + Namespace pulumi.StringPtrInput `pulumi:"namespace"` +} + +func (AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationPineconeConfiguration)(nil)).Elem() +} + +func (i AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput) +} + +func (i AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput).ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutputWithContext(ctx) +} + +// AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs, AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtr and AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrInput` via: +// +// AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs{...} +// +// or: +// +// nil +type AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput + ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput +} + +type agentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrType AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs + +func AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtr(v *AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrInput { + return (*agentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrType)(v) +} + +func (*agentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationPineconeConfiguration)(nil)).Elem() +} + +func (i *agentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrType) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *agentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrType) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationPineconeConfiguration)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput { + return o.ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutputWithContext(context.Background()) +} + +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentKnowledgeBaseStorageConfigurationPineconeConfiguration) *AgentKnowledgeBaseStorageConfigurationPineconeConfiguration { + return &v + }).(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput) +} + +// The endpoint URL for your index management page. +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput) ConnectionString() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationPineconeConfiguration) string { return v.ConnectionString }).(pulumi.StringOutput) +} + +// The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput) CredentialsSecretArn() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationPineconeConfiguration) string { + return v.CredentialsSecretArn + }).(pulumi.StringOutput) +} + +// Contains the names of the fields to which to map information about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput) FieldMapping() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationPineconeConfiguration) *AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping { + return v.FieldMapping + }).(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput) +} + +// The namespace to be used to write new data to your database. +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationPineconeConfiguration) *string { return v.Namespace }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationPineconeConfiguration)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput) Elem() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationPineconeConfiguration) AgentKnowledgeBaseStorageConfigurationPineconeConfiguration { + if v != nil { + return *v + } + var ret AgentKnowledgeBaseStorageConfigurationPineconeConfiguration + return ret + }).(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput) +} + +// The endpoint URL for your index management page. +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput) ConnectionString() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationPineconeConfiguration) *string { + if v == nil { + return nil + } + return &v.ConnectionString + }).(pulumi.StringPtrOutput) +} + +// The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput) CredentialsSecretArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationPineconeConfiguration) *string { + if v == nil { + return nil + } + return &v.CredentialsSecretArn + }).(pulumi.StringPtrOutput) +} + +// Contains the names of the fields to which to map information about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput) FieldMapping() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationPineconeConfiguration) *AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping { + if v == nil { + return nil + } + return v.FieldMapping + }).(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput) +} + +// The namespace to be used to write new data to your database. +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationPineconeConfiguration) *string { + if v == nil { + return nil + } + return v.Namespace + }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping struct { + // The name of the field in which Amazon Bedrock stores metadata about the vector store. + MetadataField *string `pulumi:"metadataField"` + // The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + TextField *string `pulumi:"textField"` +} + +// AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs and AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingInput` via: +// +// AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs{...} +type AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput + ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput +} + +type AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs struct { + // The name of the field in which Amazon Bedrock stores metadata about the vector store. + MetadataField pulumi.StringPtrInput `pulumi:"metadataField"` + // The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + TextField pulumi.StringPtrInput `pulumi:"textField"` +} + +func (AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping)(nil)).Elem() +} + +func (i AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput) +} + +func (i AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput).ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutputWithContext(ctx) +} + +// AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs, AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtr and AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrInput` via: +// +// AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs{...} +// +// or: +// +// nil +type AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput + ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput +} + +type agentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrType AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs + +func AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtr(v *AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrInput { + return (*agentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrType)(v) +} + +func (*agentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping)(nil)).Elem() +} + +func (i *agentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrType) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutputWithContext(context.Background()) +} + +func (i *agentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrType) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput { + return o.ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutputWithContext(context.Background()) +} + +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping) *AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping { + return &v + }).(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores metadata about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput) MetadataField() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping) *string { + return v.MetadataField + }).(pulumi.StringPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput) TextField() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping) *string { + return v.TextField + }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput) ToAgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput) Elem() AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping) AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping { + if v != nil { + return *v + } + var ret AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping + return ret + }).(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput) +} + +// The name of the field in which Amazon Bedrock stores metadata about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput) MetadataField() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping) *string { + if v == nil { + return nil + } + return v.MetadataField + }).(pulumi.StringPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. +func (o AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput) TextField() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping) *string { + if v == nil { + return nil + } + return v.TextField + }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationRdsConfiguration struct { + // The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + CredentialsSecretArn string `pulumi:"credentialsSecretArn"` + // The name of your Amazon RDS database. + DatabaseName string `pulumi:"databaseName"` + // Contains the names of the fields to which to map information about the vector store. + FieldMapping *AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping `pulumi:"fieldMapping"` + // The namespace to be used to write new data to your database. + ResourceArn string `pulumi:"resourceArn"` + // The name of the table in the database. + TableName string `pulumi:"tableName"` +} + +// AgentKnowledgeBaseStorageConfigurationRdsConfigurationInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs and AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationRdsConfigurationInput` via: +// +// AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs{...} +type AgentKnowledgeBaseStorageConfigurationRdsConfigurationInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput + ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput +} + +type AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs struct { + // The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + CredentialsSecretArn pulumi.StringInput `pulumi:"credentialsSecretArn"` + // The name of your Amazon RDS database. + DatabaseName pulumi.StringInput `pulumi:"databaseName"` + // Contains the names of the fields to which to map information about the vector store. + FieldMapping AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrInput `pulumi:"fieldMapping"` + // The namespace to be used to write new data to your database. + ResourceArn pulumi.StringInput `pulumi:"resourceArn"` + // The name of the table in the database. + TableName pulumi.StringInput `pulumi:"tableName"` +} + +func (AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRdsConfiguration)(nil)).Elem() +} + +func (i AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput) +} + +func (i AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput).ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutputWithContext(ctx) +} + +// AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs, AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtr and AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrInput` via: +// +// AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs{...} +// +// or: +// +// nil +type AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput + ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput +} + +type agentKnowledgeBaseStorageConfigurationRdsConfigurationPtrType AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs + +func AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtr(v *AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs) AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrInput { + return (*agentKnowledgeBaseStorageConfigurationRdsConfigurationPtrType)(v) +} + +func (*agentKnowledgeBaseStorageConfigurationRdsConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationRdsConfiguration)(nil)).Elem() +} + +func (i *agentKnowledgeBaseStorageConfigurationRdsConfigurationPtrType) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *agentKnowledgeBaseStorageConfigurationRdsConfigurationPtrType) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRdsConfiguration)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput { + return o.ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutputWithContext(context.Background()) +} + +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentKnowledgeBaseStorageConfigurationRdsConfiguration) *AgentKnowledgeBaseStorageConfigurationRdsConfiguration { + return &v + }).(AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput) +} + +// The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput) CredentialsSecretArn() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRdsConfiguration) string { return v.CredentialsSecretArn }).(pulumi.StringOutput) +} + +// The name of your Amazon RDS database. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput) DatabaseName() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRdsConfiguration) string { return v.DatabaseName }).(pulumi.StringOutput) +} + +// Contains the names of the fields to which to map information about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput) FieldMapping() AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRdsConfiguration) *AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping { + return v.FieldMapping + }).(AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput) +} + +// The namespace to be used to write new data to your database. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput) ResourceArn() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRdsConfiguration) string { return v.ResourceArn }).(pulumi.StringOutput) +} + +// The name of the table in the database. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput) TableName() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRdsConfiguration) string { return v.TableName }).(pulumi.StringOutput) +} + +type AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationRdsConfiguration)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput) Elem() AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRdsConfiguration) AgentKnowledgeBaseStorageConfigurationRdsConfiguration { + if v != nil { + return *v + } + var ret AgentKnowledgeBaseStorageConfigurationRdsConfiguration + return ret + }).(AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput) +} + +// The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput) CredentialsSecretArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRdsConfiguration) *string { + if v == nil { + return nil + } + return &v.CredentialsSecretArn + }).(pulumi.StringPtrOutput) +} + +// The name of your Amazon RDS database. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput) DatabaseName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRdsConfiguration) *string { + if v == nil { + return nil + } + return &v.DatabaseName + }).(pulumi.StringPtrOutput) +} + +// Contains the names of the fields to which to map information about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput) FieldMapping() AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRdsConfiguration) *AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping { + if v == nil { + return nil + } + return v.FieldMapping + }).(AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput) +} + +// The namespace to be used to write new data to your database. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput) ResourceArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRdsConfiguration) *string { + if v == nil { + return nil + } + return &v.ResourceArn + }).(pulumi.StringPtrOutput) +} + +// The name of the table in the database. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput) TableName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRdsConfiguration) *string { + if v == nil { + return nil + } + return &v.TableName + }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping struct { + // The name of the field in which Amazon Bedrock stores metadata about the vector store. + MetadataField string `pulumi:"metadataField"` + // The name of the field in which Amazon Bedrock stores the ID for each entry. + PrimaryKeyField string `pulumi:"primaryKeyField"` + // The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + TextField string `pulumi:"textField"` + // The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + VectorField string `pulumi:"vectorField"` +} + +// AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs and AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingInput` via: +// +// AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs{...} +type AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput + ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput +} + +type AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs struct { + // The name of the field in which Amazon Bedrock stores metadata about the vector store. + MetadataField pulumi.StringInput `pulumi:"metadataField"` + // The name of the field in which Amazon Bedrock stores the ID for each entry. + PrimaryKeyField pulumi.StringInput `pulumi:"primaryKeyField"` + // The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + TextField pulumi.StringInput `pulumi:"textField"` + // The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + VectorField pulumi.StringInput `pulumi:"vectorField"` +} + +func (AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping)(nil)).Elem() +} + +func (i AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput) +} + +func (i AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput).ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutputWithContext(ctx) +} + +// AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs, AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtr and AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrInput` via: +// +// AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs{...} +// +// or: +// +// nil +type AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput + ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput +} + +type agentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrType AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs + +func AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtr(v *AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs) AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrInput { + return (*agentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrType)(v) +} + +func (*agentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping)(nil)).Elem() +} + +func (i *agentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrType) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutputWithContext(context.Background()) +} + +func (i *agentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrType) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput { + return o.ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutputWithContext(context.Background()) +} + +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping) *AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping { + return &v + }).(AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores metadata about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput) MetadataField() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping) string { + return v.MetadataField + }).(pulumi.StringOutput) +} + +// The name of the field in which Amazon Bedrock stores the ID for each entry. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput) PrimaryKeyField() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping) string { + return v.PrimaryKeyField + }).(pulumi.StringOutput) +} + +// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput) TextField() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping) string { return v.TextField }).(pulumi.StringOutput) +} + +// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput) VectorField() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping) string { + return v.VectorField + }).(pulumi.StringOutput) +} + +type AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput) ToAgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput) Elem() AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping) AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping { + if v != nil { + return *v + } + var ret AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping + return ret + }).(AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput) +} + +// The name of the field in which Amazon Bedrock stores metadata about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput) MetadataField() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping) *string { + if v == nil { + return nil + } + return &v.MetadataField + }).(pulumi.StringPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores the ID for each entry. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput) PrimaryKeyField() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping) *string { + if v == nil { + return nil + } + return &v.PrimaryKeyField + }).(pulumi.StringPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput) TextField() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping) *string { + if v == nil { + return nil + } + return &v.TextField + }).(pulumi.StringPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. +func (o AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput) VectorField() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping) *string { + if v == nil { + return nil + } + return &v.VectorField + }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration struct { + // The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + CredentialsSecretArn string `pulumi:"credentialsSecretArn"` + // The endpoint URL of the Redis Enterprise Cloud database. + Endpoint string `pulumi:"endpoint"` + // Contains the names of the fields to which to map information about the vector store. + FieldMapping *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping `pulumi:"fieldMapping"` + // The name of the vector store. + VectorIndexName string `pulumi:"vectorIndexName"` +} + +// AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs and AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationInput` via: +// +// AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs{...} +type AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput + ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput +} + +type AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs struct { + // The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + CredentialsSecretArn pulumi.StringInput `pulumi:"credentialsSecretArn"` + // The endpoint URL of the Redis Enterprise Cloud database. + Endpoint pulumi.StringInput `pulumi:"endpoint"` + // Contains the names of the fields to which to map information about the vector store. + FieldMapping AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrInput `pulumi:"fieldMapping"` + // The name of the vector store. + VectorIndexName pulumi.StringInput `pulumi:"vectorIndexName"` +} + +func (AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration)(nil)).Elem() +} + +func (i AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput) +} + +func (i AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput).ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutputWithContext(ctx) +} + +// AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs, AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtr and AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrInput` via: +// +// AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs{...} +// +// or: +// +// nil +type AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput + ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput +} + +type agentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrType AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs + +func AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtr(v *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrInput { + return (*agentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrType)(v) +} + +func (*agentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration)(nil)).Elem() +} + +func (i *agentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrType) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *agentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrType) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput { + return o.ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutputWithContext(context.Background()) +} + +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration) *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration { + return &v + }).(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput) +} + +// The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput) CredentialsSecretArn() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration) string { + return v.CredentialsSecretArn + }).(pulumi.StringOutput) +} + +// The endpoint URL of the Redis Enterprise Cloud database. +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration) string { + return v.Endpoint + }).(pulumi.StringOutput) +} + +// Contains the names of the fields to which to map information about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput) FieldMapping() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration) *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping { + return v.FieldMapping + }).(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput) +} + +// The name of the vector store. +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput) VectorIndexName() pulumi.StringOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration) string { + return v.VectorIndexName + }).(pulumi.StringOutput) +} + +type AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput) Elem() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration { + if v != nil { + return *v + } + var ret AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration + return ret + }).(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput) +} + +// The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput) CredentialsSecretArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration) *string { + if v == nil { + return nil + } + return &v.CredentialsSecretArn + }).(pulumi.StringPtrOutput) +} + +// The endpoint URL of the Redis Enterprise Cloud database. +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration) *string { + if v == nil { + return nil + } + return &v.Endpoint + }).(pulumi.StringPtrOutput) +} + +// Contains the names of the fields to which to map information about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput) FieldMapping() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration) *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping { + if v == nil { + return nil + } + return v.FieldMapping + }).(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput) +} + +// The name of the vector store. +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput) VectorIndexName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration) *string { + if v == nil { + return nil + } + return &v.VectorIndexName + }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping struct { + // The name of the field in which Amazon Bedrock stores metadata about the vector store. + MetadataField *string `pulumi:"metadataField"` + // The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + TextField *string `pulumi:"textField"` + // The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + VectorField *string `pulumi:"vectorField"` +} + +// AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs and AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingInput` via: +// +// AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs{...} +type AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput + ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput +} + +type AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs struct { + // The name of the field in which Amazon Bedrock stores metadata about the vector store. + MetadataField pulumi.StringPtrInput `pulumi:"metadataField"` + // The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + TextField pulumi.StringPtrInput `pulumi:"textField"` + // The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + VectorField pulumi.StringPtrInput `pulumi:"vectorField"` +} + +func (AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping)(nil)).Elem() +} + +func (i AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput) +} + +func (i AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput).ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutputWithContext(ctx) +} + +// AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrInput is an input type that accepts AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs, AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtr and AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrInput` via: +// +// AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs{...} +// +// or: +// +// nil +type AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrInput interface { + pulumi.Input + + ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput + ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutputWithContext(context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput +} + +type agentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrType AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs + +func AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtr(v *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrInput { + return (*agentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrType)(v) +} + +func (*agentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping)(nil)).Elem() +} + +func (i *agentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrType) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput { + return i.ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutputWithContext(context.Background()) +} + +func (i *agentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrType) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput { + return o.ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutputWithContext(context.Background()) +} + +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping) *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping { + return &v + }).(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores metadata about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput) MetadataField() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping) *string { + return v.MetadataField + }).(pulumi.StringPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput) TextField() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping) *string { + return v.TextField + }).(pulumi.StringPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput) VectorField() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping) *string { + return v.VectorField + }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping)(nil)).Elem() +} + +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput) ToAgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput { + return o +} + +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput) Elem() AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping) AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping { + if v != nil { + return *v + } + var ret AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping + return ret + }).(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput) +} + +// The name of the field in which Amazon Bedrock stores metadata about the vector store. +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput) MetadataField() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping) *string { + if v == nil { + return nil + } + return v.MetadataField + }).(pulumi.StringPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput) TextField() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping) *string { + if v == nil { + return nil + } + return v.TextField + }).(pulumi.StringPtrOutput) +} + +// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. +func (o AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput) VectorField() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping) *string { + if v == nil { + return nil + } + return v.VectorField + }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseTimeouts 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"` +} + +// AgentKnowledgeBaseTimeoutsInput is an input type that accepts AgentKnowledgeBaseTimeoutsArgs and AgentKnowledgeBaseTimeoutsOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseTimeoutsInput` via: +// +// AgentKnowledgeBaseTimeoutsArgs{...} +type AgentKnowledgeBaseTimeoutsInput interface { + pulumi.Input + + ToAgentKnowledgeBaseTimeoutsOutput() AgentKnowledgeBaseTimeoutsOutput + ToAgentKnowledgeBaseTimeoutsOutputWithContext(context.Context) AgentKnowledgeBaseTimeoutsOutput +} + +type AgentKnowledgeBaseTimeoutsArgs 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 (AgentKnowledgeBaseTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseTimeouts)(nil)).Elem() +} + +func (i AgentKnowledgeBaseTimeoutsArgs) ToAgentKnowledgeBaseTimeoutsOutput() AgentKnowledgeBaseTimeoutsOutput { + return i.ToAgentKnowledgeBaseTimeoutsOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseTimeoutsArgs) ToAgentKnowledgeBaseTimeoutsOutputWithContext(ctx context.Context) AgentKnowledgeBaseTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseTimeoutsOutput) +} + +func (i AgentKnowledgeBaseTimeoutsArgs) ToAgentKnowledgeBaseTimeoutsPtrOutput() AgentKnowledgeBaseTimeoutsPtrOutput { + return i.ToAgentKnowledgeBaseTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i AgentKnowledgeBaseTimeoutsArgs) ToAgentKnowledgeBaseTimeoutsPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseTimeoutsOutput).ToAgentKnowledgeBaseTimeoutsPtrOutputWithContext(ctx) +} + +// AgentKnowledgeBaseTimeoutsPtrInput is an input type that accepts AgentKnowledgeBaseTimeoutsArgs, AgentKnowledgeBaseTimeoutsPtr and AgentKnowledgeBaseTimeoutsPtrOutput values. +// You can construct a concrete instance of `AgentKnowledgeBaseTimeoutsPtrInput` via: +// +// AgentKnowledgeBaseTimeoutsArgs{...} +// +// or: +// +// nil +type AgentKnowledgeBaseTimeoutsPtrInput interface { + pulumi.Input + + ToAgentKnowledgeBaseTimeoutsPtrOutput() AgentKnowledgeBaseTimeoutsPtrOutput + ToAgentKnowledgeBaseTimeoutsPtrOutputWithContext(context.Context) AgentKnowledgeBaseTimeoutsPtrOutput +} + +type agentKnowledgeBaseTimeoutsPtrType AgentKnowledgeBaseTimeoutsArgs + +func AgentKnowledgeBaseTimeoutsPtr(v *AgentKnowledgeBaseTimeoutsArgs) AgentKnowledgeBaseTimeoutsPtrInput { + return (*agentKnowledgeBaseTimeoutsPtrType)(v) +} + +func (*agentKnowledgeBaseTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseTimeouts)(nil)).Elem() +} + +func (i *agentKnowledgeBaseTimeoutsPtrType) ToAgentKnowledgeBaseTimeoutsPtrOutput() AgentKnowledgeBaseTimeoutsPtrOutput { + return i.ToAgentKnowledgeBaseTimeoutsPtrOutputWithContext(context.Background()) +} + +func (i *agentKnowledgeBaseTimeoutsPtrType) ToAgentKnowledgeBaseTimeoutsPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AgentKnowledgeBaseTimeoutsPtrOutput) +} + +type AgentKnowledgeBaseTimeoutsOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AgentKnowledgeBaseTimeouts)(nil)).Elem() +} + +func (o AgentKnowledgeBaseTimeoutsOutput) ToAgentKnowledgeBaseTimeoutsOutput() AgentKnowledgeBaseTimeoutsOutput { + return o +} + +func (o AgentKnowledgeBaseTimeoutsOutput) ToAgentKnowledgeBaseTimeoutsOutputWithContext(ctx context.Context) AgentKnowledgeBaseTimeoutsOutput { + return o +} + +func (o AgentKnowledgeBaseTimeoutsOutput) ToAgentKnowledgeBaseTimeoutsPtrOutput() AgentKnowledgeBaseTimeoutsPtrOutput { + return o.ToAgentKnowledgeBaseTimeoutsPtrOutputWithContext(context.Background()) +} + +func (o AgentKnowledgeBaseTimeoutsOutput) ToAgentKnowledgeBaseTimeoutsPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AgentKnowledgeBaseTimeouts) *AgentKnowledgeBaseTimeouts { + return &v + }).(AgentKnowledgeBaseTimeoutsPtrOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 AgentKnowledgeBaseTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseTimeouts) *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 AgentKnowledgeBaseTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseTimeouts) *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 AgentKnowledgeBaseTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v AgentKnowledgeBaseTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type AgentKnowledgeBaseTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (AgentKnowledgeBaseTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AgentKnowledgeBaseTimeouts)(nil)).Elem() +} + +func (o AgentKnowledgeBaseTimeoutsPtrOutput) ToAgentKnowledgeBaseTimeoutsPtrOutput() AgentKnowledgeBaseTimeoutsPtrOutput { + return o +} + +func (o AgentKnowledgeBaseTimeoutsPtrOutput) ToAgentKnowledgeBaseTimeoutsPtrOutputWithContext(ctx context.Context) AgentKnowledgeBaseTimeoutsPtrOutput { + return o +} + +func (o AgentKnowledgeBaseTimeoutsPtrOutput) Elem() AgentKnowledgeBaseTimeoutsOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseTimeouts) AgentKnowledgeBaseTimeouts { + if v != nil { + return *v + } + var ret AgentKnowledgeBaseTimeouts + return ret + }).(AgentKnowledgeBaseTimeoutsOutput) +} + +// A string that can be [parsed as a duration](https://pkg.go.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 AgentKnowledgeBaseTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseTimeouts) *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 AgentKnowledgeBaseTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseTimeouts) *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 AgentKnowledgeBaseTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AgentKnowledgeBaseTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) +} + type CustomModelOutputDataConfig struct { // The S3 URI where the output data is stored. S3Uri string `pulumi:"s3Uri"` @@ -1764,6 +4991,44 @@ func (o GetCustomModelsModelSummaryArrayOutput) Index(i pulumi.IntInput) GetCust } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentActionGroupActionGroupExecutorInput)(nil)).Elem(), AgentAgentActionGroupActionGroupExecutorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentActionGroupActionGroupExecutorPtrInput)(nil)).Elem(), AgentAgentActionGroupActionGroupExecutorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentActionGroupApiSchemaInput)(nil)).Elem(), AgentAgentActionGroupApiSchemaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentActionGroupApiSchemaPtrInput)(nil)).Elem(), AgentAgentActionGroupApiSchemaArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentActionGroupApiSchemaS3Input)(nil)).Elem(), AgentAgentActionGroupApiSchemaS3Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentActionGroupApiSchemaS3PtrInput)(nil)).Elem(), AgentAgentActionGroupApiSchemaS3Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentAliasRoutingConfigurationInput)(nil)).Elem(), AgentAgentAliasRoutingConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentAliasRoutingConfigurationArrayInput)(nil)).Elem(), AgentAgentAliasRoutingConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentAliasTimeoutsInput)(nil)).Elem(), AgentAgentAliasTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentAliasTimeoutsPtrInput)(nil)).Elem(), AgentAgentAliasTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentPromptOverrideConfigurationInput)(nil)).Elem(), AgentAgentPromptOverrideConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentPromptOverrideConfigurationArrayInput)(nil)).Elem(), AgentAgentPromptOverrideConfigurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentTimeoutsInput)(nil)).Elem(), AgentAgentTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentAgentTimeoutsPtrInput)(nil)).Elem(), AgentAgentTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseKnowledgeBaseConfigurationInput)(nil)).Elem(), AgentKnowledgeBaseKnowledgeBaseConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseKnowledgeBaseConfigurationPtrInput)(nil)).Elem(), AgentKnowledgeBaseKnowledgeBaseConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationInput)(nil)).Elem(), AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrInput)(nil)).Elem(), AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationPtrInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationPineconeConfigurationInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRdsConfigurationInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrInput)(nil)).Elem(), AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseTimeoutsInput)(nil)).Elem(), AgentKnowledgeBaseTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AgentKnowledgeBaseTimeoutsPtrInput)(nil)).Elem(), AgentKnowledgeBaseTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CustomModelOutputDataConfigInput)(nil)).Elem(), CustomModelOutputDataConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CustomModelOutputDataConfigPtrInput)(nil)).Elem(), CustomModelOutputDataConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CustomModelTimeoutsInput)(nil)).Elem(), CustomModelTimeoutsArgs{}) @@ -1794,6 +5059,44 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetCustomModelValidationMetricArrayInput)(nil)).Elem(), GetCustomModelValidationMetricArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCustomModelsModelSummaryInput)(nil)).Elem(), GetCustomModelsModelSummaryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCustomModelsModelSummaryArrayInput)(nil)).Elem(), GetCustomModelsModelSummaryArray{}) + pulumi.RegisterOutputType(AgentAgentActionGroupActionGroupExecutorOutput{}) + pulumi.RegisterOutputType(AgentAgentActionGroupActionGroupExecutorPtrOutput{}) + pulumi.RegisterOutputType(AgentAgentActionGroupApiSchemaOutput{}) + pulumi.RegisterOutputType(AgentAgentActionGroupApiSchemaPtrOutput{}) + pulumi.RegisterOutputType(AgentAgentActionGroupApiSchemaS3Output{}) + pulumi.RegisterOutputType(AgentAgentActionGroupApiSchemaS3PtrOutput{}) + pulumi.RegisterOutputType(AgentAgentAliasRoutingConfigurationOutput{}) + pulumi.RegisterOutputType(AgentAgentAliasRoutingConfigurationArrayOutput{}) + pulumi.RegisterOutputType(AgentAgentAliasTimeoutsOutput{}) + pulumi.RegisterOutputType(AgentAgentAliasTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(AgentAgentPromptOverrideConfigurationOutput{}) + pulumi.RegisterOutputType(AgentAgentPromptOverrideConfigurationArrayOutput{}) + pulumi.RegisterOutputType(AgentAgentTimeoutsOutput{}) + pulumi.RegisterOutputType(AgentAgentTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseKnowledgeBaseConfigurationOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseKnowledgeBaseConfigurationPtrOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationPtrOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationPtrOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationPtrOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingPtrOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationPtrOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingPtrOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationRdsConfigurationOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationRdsConfigurationPtrOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingPtrOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationPtrOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingPtrOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseTimeoutsOutput{}) + pulumi.RegisterOutputType(AgentKnowledgeBaseTimeoutsPtrOutput{}) pulumi.RegisterOutputType(CustomModelOutputDataConfigOutput{}) pulumi.RegisterOutputType(CustomModelOutputDataConfigPtrOutput{}) pulumi.RegisterOutputType(CustomModelTimeoutsOutput{}) diff --git a/sdk/go/aws/cloudformation/stackSet.go b/sdk/go/aws/cloudformation/stackSet.go index 97732caed71..76d09447873 100644 --- a/sdk/go/aws/cloudformation/stackSet.go +++ b/sdk/go/aws/cloudformation/stackSet.go @@ -17,6 +17,8 @@ import ( // // > **NOTE:** All `NoEcho` template parameters must be ignored with the `lifecycle` configuration block `ignoreChanges` argument. // +// > **NOTE:** When using a delegated administrator account, ensure that your IAM User or Role has the `organizations:ListDelegatedAdministrators` permission. Otherwise, you may get an error like `ValidationError: Account used is not a delegated administrator`. +// // ## Example Usage // // ```go diff --git a/sdk/go/aws/codecommit/repository.go b/sdk/go/aws/codecommit/repository.go index 6d1bf64f9fc..56ac2cd315e 100644 --- a/sdk/go/aws/codecommit/repository.go +++ b/sdk/go/aws/codecommit/repository.go @@ -97,7 +97,7 @@ type Repository struct { DefaultBranch pulumi.StringPtrOutput `pulumi:"defaultBranch"` // The description of the repository. This needs to be less than 1000 characters Description pulumi.StringPtrOutput `pulumi:"description"` - // The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + // The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` // The ID of the repository RepositoryId pulumi.StringOutput `pulumi:"repositoryId"` @@ -154,7 +154,7 @@ type repositoryState struct { DefaultBranch *string `pulumi:"defaultBranch"` // The description of the repository. This needs to be less than 1000 characters Description *string `pulumi:"description"` - // The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + // The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. KmsKeyId *string `pulumi:"kmsKeyId"` // The ID of the repository RepositoryId *string `pulumi:"repositoryId"` @@ -179,7 +179,7 @@ type RepositoryState struct { DefaultBranch pulumi.StringPtrInput // The description of the repository. This needs to be less than 1000 characters Description pulumi.StringPtrInput - // The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + // The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. KmsKeyId pulumi.StringPtrInput // The ID of the repository RepositoryId pulumi.StringPtrInput @@ -202,7 +202,7 @@ type repositoryArgs struct { DefaultBranch *string `pulumi:"defaultBranch"` // The description of the repository. This needs to be less than 1000 characters Description *string `pulumi:"description"` - // The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + // The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. KmsKeyId *string `pulumi:"kmsKeyId"` // The name for the repository. This needs to be less than 100 characters. RepositoryName string `pulumi:"repositoryName"` @@ -216,7 +216,7 @@ type RepositoryArgs struct { DefaultBranch pulumi.StringPtrInput // The description of the repository. This needs to be less than 1000 characters Description pulumi.StringPtrInput - // The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + // The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. KmsKeyId pulumi.StringPtrInput // The name for the repository. This needs to be less than 100 characters. RepositoryName pulumi.StringInput @@ -336,7 +336,7 @@ func (o RepositoryOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *Repository) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } -// The ARN of the encryption key. If no key is specified, the default `aws/codecommit“ Amazon Web Services managed key is used. +// The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. func (o RepositoryOutput) KmsKeyId() pulumi.StringOutput { return o.ApplyT(func(v *Repository) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/config/pulumiTypes.go b/sdk/go/aws/config/pulumiTypes.go index 6e4681e153e..dddf7e3e51d 100644 --- a/sdk/go/aws/config/pulumiTypes.go +++ b/sdk/go/aws/config/pulumiTypes.go @@ -739,6 +739,8 @@ type Endpoints struct { // Use this to override the default service endpoint URL Route53domains *string `pulumi:"route53domains"` // Use this to override the default service endpoint URL + Route53profiles *string `pulumi:"route53profiles"` + // Use this to override the default service endpoint URL Route53recoverycontrolconfig *string `pulumi:"route53recoverycontrolconfig"` // Use this to override the default service endpoint URL Route53recoveryreadiness *string `pulumi:"route53recoveryreadiness"` @@ -1309,6 +1311,8 @@ type EndpointsArgs struct { // Use this to override the default service endpoint URL Route53domains pulumi.StringPtrInput `pulumi:"route53domains"` // Use this to override the default service endpoint URL + Route53profiles pulumi.StringPtrInput `pulumi:"route53profiles"` + // Use this to override the default service endpoint URL Route53recoverycontrolconfig pulumi.StringPtrInput `pulumi:"route53recoverycontrolconfig"` // Use this to override the default service endpoint URL Route53recoveryreadiness pulumi.StringPtrInput `pulumi:"route53recoveryreadiness"` @@ -2589,6 +2593,11 @@ func (o EndpointsOutput) Route53domains() pulumi.StringPtrOutput { return o.ApplyT(func(v Endpoints) *string { return v.Route53domains }).(pulumi.StringPtrOutput) } +// Use this to override the default service endpoint URL +func (o EndpointsOutput) Route53profiles() pulumi.StringPtrOutput { + return o.ApplyT(func(v Endpoints) *string { return v.Route53profiles }).(pulumi.StringPtrOutput) +} + // Use this to override the default service endpoint URL func (o EndpointsOutput) Route53recoverycontrolconfig() pulumi.StringPtrOutput { return o.ApplyT(func(v Endpoints) *string { return v.Route53recoverycontrolconfig }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/costexplorer/pulumiTypes.go b/sdk/go/aws/costexplorer/pulumiTypes.go index 460870b393a..5c16af782f6 100644 --- a/sdk/go/aws/costexplorer/pulumiTypes.go +++ b/sdk/go/aws/costexplorer/pulumiTypes.go @@ -3379,8 +3379,11 @@ func (o CostCategoryRuleRulePtrOutput) Tags() CostCategoryRuleRuleTagsPtrOutput } type CostCategoryRuleRuleAnd struct { + Ands []CostCategoryRuleRuleAndAnd `pulumi:"ands"` CostCategory *CostCategoryRuleRuleAndCostCategory `pulumi:"costCategory"` Dimension *CostCategoryRuleRuleAndDimension `pulumi:"dimension"` + Not *CostCategoryRuleRuleAndNot `pulumi:"not"` + Ors []CostCategoryRuleRuleAndOr `pulumi:"ors"` // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags *CostCategoryRuleRuleAndTags `pulumi:"tags"` } @@ -3397,8 +3400,11 @@ type CostCategoryRuleRuleAndInput interface { } type CostCategoryRuleRuleAndArgs struct { + Ands CostCategoryRuleRuleAndAndArrayInput `pulumi:"ands"` CostCategory CostCategoryRuleRuleAndCostCategoryPtrInput `pulumi:"costCategory"` Dimension CostCategoryRuleRuleAndDimensionPtrInput `pulumi:"dimension"` + Not CostCategoryRuleRuleAndNotPtrInput `pulumi:"not"` + Ors CostCategoryRuleRuleAndOrArrayInput `pulumi:"ors"` // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags CostCategoryRuleRuleAndTagsPtrInput `pulumi:"tags"` } @@ -3454,6 +3460,10 @@ func (o CostCategoryRuleRuleAndOutput) ToCostCategoryRuleRuleAndOutputWithContex return o } +func (o CostCategoryRuleRuleAndOutput) Ands() CostCategoryRuleRuleAndAndArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAnd) []CostCategoryRuleRuleAndAnd { return v.Ands }).(CostCategoryRuleRuleAndAndArrayOutput) +} + func (o CostCategoryRuleRuleAndOutput) CostCategory() CostCategoryRuleRuleAndCostCategoryPtrOutput { return o.ApplyT(func(v CostCategoryRuleRuleAnd) *CostCategoryRuleRuleAndCostCategory { return v.CostCategory }).(CostCategoryRuleRuleAndCostCategoryPtrOutput) } @@ -3462,6 +3472,14 @@ func (o CostCategoryRuleRuleAndOutput) Dimension() CostCategoryRuleRuleAndDimens return o.ApplyT(func(v CostCategoryRuleRuleAnd) *CostCategoryRuleRuleAndDimension { return v.Dimension }).(CostCategoryRuleRuleAndDimensionPtrOutput) } +func (o CostCategoryRuleRuleAndOutput) Not() CostCategoryRuleRuleAndNotPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAnd) *CostCategoryRuleRuleAndNot { return v.Not }).(CostCategoryRuleRuleAndNotPtrOutput) +} + +func (o CostCategoryRuleRuleAndOutput) Ors() CostCategoryRuleRuleAndOrArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAnd) []CostCategoryRuleRuleAndOr { return v.Ors }).(CostCategoryRuleRuleAndOrArrayOutput) +} + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. func (o CostCategoryRuleRuleAndOutput) Tags() CostCategoryRuleRuleAndTagsPtrOutput { return o.ApplyT(func(v CostCategoryRuleRuleAnd) *CostCategoryRuleRuleAndTags { return v.Tags }).(CostCategoryRuleRuleAndTagsPtrOutput) @@ -3487,7 +3505,116 @@ func (o CostCategoryRuleRuleAndArrayOutput) Index(i pulumi.IntInput) CostCategor }).(CostCategoryRuleRuleAndOutput) } -type CostCategoryRuleRuleAndCostCategory struct { +type CostCategoryRuleRuleAndAnd struct { + CostCategory *CostCategoryRuleRuleAndAndCostCategory `pulumi:"costCategory"` + Dimension *CostCategoryRuleRuleAndAndDimension `pulumi:"dimension"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags *CostCategoryRuleRuleAndAndTags `pulumi:"tags"` +} + +// CostCategoryRuleRuleAndAndInput is an input type that accepts CostCategoryRuleRuleAndAndArgs and CostCategoryRuleRuleAndAndOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndAndInput` via: +// +// CostCategoryRuleRuleAndAndArgs{...} +type CostCategoryRuleRuleAndAndInput interface { + pulumi.Input + + ToCostCategoryRuleRuleAndAndOutput() CostCategoryRuleRuleAndAndOutput + ToCostCategoryRuleRuleAndAndOutputWithContext(context.Context) CostCategoryRuleRuleAndAndOutput +} + +type CostCategoryRuleRuleAndAndArgs struct { + CostCategory CostCategoryRuleRuleAndAndCostCategoryPtrInput `pulumi:"costCategory"` + Dimension CostCategoryRuleRuleAndAndDimensionPtrInput `pulumi:"dimension"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags CostCategoryRuleRuleAndAndTagsPtrInput `pulumi:"tags"` +} + +func (CostCategoryRuleRuleAndAndArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndAnd)(nil)).Elem() +} + +func (i CostCategoryRuleRuleAndAndArgs) ToCostCategoryRuleRuleAndAndOutput() CostCategoryRuleRuleAndAndOutput { + return i.ToCostCategoryRuleRuleAndAndOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleAndAndArgs) ToCostCategoryRuleRuleAndAndOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndAndOutput) +} + +// CostCategoryRuleRuleAndAndArrayInput is an input type that accepts CostCategoryRuleRuleAndAndArray and CostCategoryRuleRuleAndAndArrayOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndAndArrayInput` via: +// +// CostCategoryRuleRuleAndAndArray{ CostCategoryRuleRuleAndAndArgs{...} } +type CostCategoryRuleRuleAndAndArrayInput interface { + pulumi.Input + + ToCostCategoryRuleRuleAndAndArrayOutput() CostCategoryRuleRuleAndAndArrayOutput + ToCostCategoryRuleRuleAndAndArrayOutputWithContext(context.Context) CostCategoryRuleRuleAndAndArrayOutput +} + +type CostCategoryRuleRuleAndAndArray []CostCategoryRuleRuleAndAndInput + +func (CostCategoryRuleRuleAndAndArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategoryRuleRuleAndAnd)(nil)).Elem() +} + +func (i CostCategoryRuleRuleAndAndArray) ToCostCategoryRuleRuleAndAndArrayOutput() CostCategoryRuleRuleAndAndArrayOutput { + return i.ToCostCategoryRuleRuleAndAndArrayOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleAndAndArray) ToCostCategoryRuleRuleAndAndArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndAndArrayOutput) +} + +type CostCategoryRuleRuleAndAndOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleAndAndOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndAnd)(nil)).Elem() +} + +func (o CostCategoryRuleRuleAndAndOutput) ToCostCategoryRuleRuleAndAndOutput() CostCategoryRuleRuleAndAndOutput { + return o +} + +func (o CostCategoryRuleRuleAndAndOutput) ToCostCategoryRuleRuleAndAndOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndOutput { + return o +} + +func (o CostCategoryRuleRuleAndAndOutput) CostCategory() CostCategoryRuleRuleAndAndCostCategoryPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndAnd) *CostCategoryRuleRuleAndAndCostCategory { return v.CostCategory }).(CostCategoryRuleRuleAndAndCostCategoryPtrOutput) +} + +func (o CostCategoryRuleRuleAndAndOutput) Dimension() CostCategoryRuleRuleAndAndDimensionPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndAnd) *CostCategoryRuleRuleAndAndDimension { return v.Dimension }).(CostCategoryRuleRuleAndAndDimensionPtrOutput) +} + +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o CostCategoryRuleRuleAndAndOutput) Tags() CostCategoryRuleRuleAndAndTagsPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndAnd) *CostCategoryRuleRuleAndAndTags { return v.Tags }).(CostCategoryRuleRuleAndAndTagsPtrOutput) +} + +type CostCategoryRuleRuleAndAndArrayOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleAndAndArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategoryRuleRuleAndAnd)(nil)).Elem() +} + +func (o CostCategoryRuleRuleAndAndArrayOutput) ToCostCategoryRuleRuleAndAndArrayOutput() CostCategoryRuleRuleAndAndArrayOutput { + return o +} + +func (o CostCategoryRuleRuleAndAndArrayOutput) ToCostCategoryRuleRuleAndAndArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndArrayOutput { + return o +} + +func (o CostCategoryRuleRuleAndAndArrayOutput) Index(i pulumi.IntInput) CostCategoryRuleRuleAndAndOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CostCategoryRuleRuleAndAnd { + return vs[0].([]CostCategoryRuleRuleAndAnd)[vs[1].(int)] + }).(CostCategoryRuleRuleAndAndOutput) +} + +type CostCategoryRuleRuleAndAndCostCategory struct { // Unique name of the Cost Category. Key *string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -3496,18 +3623,18 @@ type CostCategoryRuleRuleAndCostCategory struct { Values []string `pulumi:"values"` } -// CostCategoryRuleRuleAndCostCategoryInput is an input type that accepts CostCategoryRuleRuleAndCostCategoryArgs and CostCategoryRuleRuleAndCostCategoryOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleAndCostCategoryInput` via: +// CostCategoryRuleRuleAndAndCostCategoryInput is an input type that accepts CostCategoryRuleRuleAndAndCostCategoryArgs and CostCategoryRuleRuleAndAndCostCategoryOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndAndCostCategoryInput` via: // -// CostCategoryRuleRuleAndCostCategoryArgs{...} -type CostCategoryRuleRuleAndCostCategoryInput interface { +// CostCategoryRuleRuleAndAndCostCategoryArgs{...} +type CostCategoryRuleRuleAndAndCostCategoryInput interface { pulumi.Input - ToCostCategoryRuleRuleAndCostCategoryOutput() CostCategoryRuleRuleAndCostCategoryOutput - ToCostCategoryRuleRuleAndCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleAndCostCategoryOutput + ToCostCategoryRuleRuleAndAndCostCategoryOutput() CostCategoryRuleRuleAndAndCostCategoryOutput + ToCostCategoryRuleRuleAndAndCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleAndAndCostCategoryOutput } -type CostCategoryRuleRuleAndCostCategoryArgs struct { +type CostCategoryRuleRuleAndAndCostCategoryArgs struct { // Unique name of the Cost Category. Key pulumi.StringPtrInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -3516,125 +3643,125 @@ type CostCategoryRuleRuleAndCostCategoryArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (CostCategoryRuleRuleAndCostCategoryArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleAndCostCategory)(nil)).Elem() +func (CostCategoryRuleRuleAndAndCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndAndCostCategory)(nil)).Elem() } -func (i CostCategoryRuleRuleAndCostCategoryArgs) ToCostCategoryRuleRuleAndCostCategoryOutput() CostCategoryRuleRuleAndCostCategoryOutput { - return i.ToCostCategoryRuleRuleAndCostCategoryOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndAndCostCategoryArgs) ToCostCategoryRuleRuleAndAndCostCategoryOutput() CostCategoryRuleRuleAndAndCostCategoryOutput { + return i.ToCostCategoryRuleRuleAndAndCostCategoryOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleAndCostCategoryArgs) ToCostCategoryRuleRuleAndCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndCostCategoryOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndCostCategoryOutput) +func (i CostCategoryRuleRuleAndAndCostCategoryArgs) ToCostCategoryRuleRuleAndAndCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndAndCostCategoryOutput) } -func (i CostCategoryRuleRuleAndCostCategoryArgs) ToCostCategoryRuleRuleAndCostCategoryPtrOutput() CostCategoryRuleRuleAndCostCategoryPtrOutput { - return i.ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndAndCostCategoryArgs) ToCostCategoryRuleRuleAndAndCostCategoryPtrOutput() CostCategoryRuleRuleAndAndCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleAndAndCostCategoryPtrOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleAndCostCategoryArgs) ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndCostCategoryPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndCostCategoryOutput).ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(ctx) +func (i CostCategoryRuleRuleAndAndCostCategoryArgs) ToCostCategoryRuleRuleAndAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndAndCostCategoryOutput).ToCostCategoryRuleRuleAndAndCostCategoryPtrOutputWithContext(ctx) } -// CostCategoryRuleRuleAndCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleAndCostCategoryArgs, CostCategoryRuleRuleAndCostCategoryPtr and CostCategoryRuleRuleAndCostCategoryPtrOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleAndCostCategoryPtrInput` via: +// CostCategoryRuleRuleAndAndCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleAndAndCostCategoryArgs, CostCategoryRuleRuleAndAndCostCategoryPtr and CostCategoryRuleRuleAndAndCostCategoryPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndAndCostCategoryPtrInput` via: // -// CostCategoryRuleRuleAndCostCategoryArgs{...} +// CostCategoryRuleRuleAndAndCostCategoryArgs{...} // // or: // // nil -type CostCategoryRuleRuleAndCostCategoryPtrInput interface { +type CostCategoryRuleRuleAndAndCostCategoryPtrInput interface { pulumi.Input - ToCostCategoryRuleRuleAndCostCategoryPtrOutput() CostCategoryRuleRuleAndCostCategoryPtrOutput - ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndCostCategoryPtrOutput + ToCostCategoryRuleRuleAndAndCostCategoryPtrOutput() CostCategoryRuleRuleAndAndCostCategoryPtrOutput + ToCostCategoryRuleRuleAndAndCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndAndCostCategoryPtrOutput } -type costCategoryRuleRuleAndCostCategoryPtrType CostCategoryRuleRuleAndCostCategoryArgs +type costCategoryRuleRuleAndAndCostCategoryPtrType CostCategoryRuleRuleAndAndCostCategoryArgs -func CostCategoryRuleRuleAndCostCategoryPtr(v *CostCategoryRuleRuleAndCostCategoryArgs) CostCategoryRuleRuleAndCostCategoryPtrInput { - return (*costCategoryRuleRuleAndCostCategoryPtrType)(v) +func CostCategoryRuleRuleAndAndCostCategoryPtr(v *CostCategoryRuleRuleAndAndCostCategoryArgs) CostCategoryRuleRuleAndAndCostCategoryPtrInput { + return (*costCategoryRuleRuleAndAndCostCategoryPtrType)(v) } -func (*costCategoryRuleRuleAndCostCategoryPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleAndCostCategory)(nil)).Elem() +func (*costCategoryRuleRuleAndAndCostCategoryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndAndCostCategory)(nil)).Elem() } -func (i *costCategoryRuleRuleAndCostCategoryPtrType) ToCostCategoryRuleRuleAndCostCategoryPtrOutput() CostCategoryRuleRuleAndCostCategoryPtrOutput { - return i.ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(context.Background()) +func (i *costCategoryRuleRuleAndAndCostCategoryPtrType) ToCostCategoryRuleRuleAndAndCostCategoryPtrOutput() CostCategoryRuleRuleAndAndCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleAndAndCostCategoryPtrOutputWithContext(context.Background()) } -func (i *costCategoryRuleRuleAndCostCategoryPtrType) ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndCostCategoryPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndCostCategoryPtrOutput) +func (i *costCategoryRuleRuleAndAndCostCategoryPtrType) ToCostCategoryRuleRuleAndAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndAndCostCategoryPtrOutput) } -type CostCategoryRuleRuleAndCostCategoryOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndAndCostCategoryOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleAndCostCategoryOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleAndCostCategory)(nil)).Elem() +func (CostCategoryRuleRuleAndAndCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndAndCostCategory)(nil)).Elem() } -func (o CostCategoryRuleRuleAndCostCategoryOutput) ToCostCategoryRuleRuleAndCostCategoryOutput() CostCategoryRuleRuleAndCostCategoryOutput { +func (o CostCategoryRuleRuleAndAndCostCategoryOutput) ToCostCategoryRuleRuleAndAndCostCategoryOutput() CostCategoryRuleRuleAndAndCostCategoryOutput { return o } -func (o CostCategoryRuleRuleAndCostCategoryOutput) ToCostCategoryRuleRuleAndCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndCostCategoryOutput { +func (o CostCategoryRuleRuleAndAndCostCategoryOutput) ToCostCategoryRuleRuleAndAndCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndCostCategoryOutput { return o } -func (o CostCategoryRuleRuleAndCostCategoryOutput) ToCostCategoryRuleRuleAndCostCategoryPtrOutput() CostCategoryRuleRuleAndCostCategoryPtrOutput { - return o.ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(context.Background()) +func (o CostCategoryRuleRuleAndAndCostCategoryOutput) ToCostCategoryRuleRuleAndAndCostCategoryPtrOutput() CostCategoryRuleRuleAndAndCostCategoryPtrOutput { + return o.ToCostCategoryRuleRuleAndAndCostCategoryPtrOutputWithContext(context.Background()) } -func (o CostCategoryRuleRuleAndCostCategoryOutput) ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndCostCategoryPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndCostCategory) *CostCategoryRuleRuleAndCostCategory { +func (o CostCategoryRuleRuleAndAndCostCategoryOutput) ToCostCategoryRuleRuleAndAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndCostCategoryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndAndCostCategory) *CostCategoryRuleRuleAndAndCostCategory { return &v - }).(CostCategoryRuleRuleAndCostCategoryPtrOutput) + }).(CostCategoryRuleRuleAndAndCostCategoryPtrOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleAndCostCategoryOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleAndCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o CostCategoryRuleRuleAndAndCostCategoryOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndAndCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleAndCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleAndCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndAndCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndAndCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleAndCostCategoryOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleAndCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndAndCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndAndCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleAndCostCategoryPtrOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndAndCostCategoryPtrOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleAndCostCategoryPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleAndCostCategory)(nil)).Elem() +func (CostCategoryRuleRuleAndAndCostCategoryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndAndCostCategory)(nil)).Elem() } -func (o CostCategoryRuleRuleAndCostCategoryPtrOutput) ToCostCategoryRuleRuleAndCostCategoryPtrOutput() CostCategoryRuleRuleAndCostCategoryPtrOutput { +func (o CostCategoryRuleRuleAndAndCostCategoryPtrOutput) ToCostCategoryRuleRuleAndAndCostCategoryPtrOutput() CostCategoryRuleRuleAndAndCostCategoryPtrOutput { return o } -func (o CostCategoryRuleRuleAndCostCategoryPtrOutput) ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndCostCategoryPtrOutput { +func (o CostCategoryRuleRuleAndAndCostCategoryPtrOutput) ToCostCategoryRuleRuleAndAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndCostCategoryPtrOutput { return o } -func (o CostCategoryRuleRuleAndCostCategoryPtrOutput) Elem() CostCategoryRuleRuleAndCostCategoryOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleAndCostCategory) CostCategoryRuleRuleAndCostCategory { +func (o CostCategoryRuleRuleAndAndCostCategoryPtrOutput) Elem() CostCategoryRuleRuleAndAndCostCategoryOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndAndCostCategory) CostCategoryRuleRuleAndAndCostCategory { if v != nil { return *v } - var ret CostCategoryRuleRuleAndCostCategory + var ret CostCategoryRuleRuleAndAndCostCategory return ret - }).(CostCategoryRuleRuleAndCostCategoryOutput) + }).(CostCategoryRuleRuleAndAndCostCategoryOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleAndCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleAndCostCategory) *string { +func (o CostCategoryRuleRuleAndAndCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndAndCostCategory) *string { if v == nil { return nil } @@ -3643,8 +3770,8 @@ func (o CostCategoryRuleRuleAndCostCategoryPtrOutput) Key() pulumi.StringPtrOutp } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleAndCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleAndCostCategory) []string { +func (o CostCategoryRuleRuleAndAndCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndAndCostCategory) []string { if v == nil { return nil } @@ -3653,8 +3780,8 @@ func (o CostCategoryRuleRuleAndCostCategoryPtrOutput) MatchOptions() pulumi.Stri } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleAndCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleAndCostCategory) []string { +func (o CostCategoryRuleRuleAndAndCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndAndCostCategory) []string { if v == nil { return nil } @@ -3662,7 +3789,7 @@ func (o CostCategoryRuleRuleAndCostCategoryPtrOutput) Values() pulumi.StringArra }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleAndDimension struct { +type CostCategoryRuleRuleAndAndDimension struct { // Unique name of the Cost Category. Key *string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -3671,18 +3798,18 @@ type CostCategoryRuleRuleAndDimension struct { Values []string `pulumi:"values"` } -// CostCategoryRuleRuleAndDimensionInput is an input type that accepts CostCategoryRuleRuleAndDimensionArgs and CostCategoryRuleRuleAndDimensionOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleAndDimensionInput` via: +// CostCategoryRuleRuleAndAndDimensionInput is an input type that accepts CostCategoryRuleRuleAndAndDimensionArgs and CostCategoryRuleRuleAndAndDimensionOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndAndDimensionInput` via: // -// CostCategoryRuleRuleAndDimensionArgs{...} -type CostCategoryRuleRuleAndDimensionInput interface { +// CostCategoryRuleRuleAndAndDimensionArgs{...} +type CostCategoryRuleRuleAndAndDimensionInput interface { pulumi.Input - ToCostCategoryRuleRuleAndDimensionOutput() CostCategoryRuleRuleAndDimensionOutput - ToCostCategoryRuleRuleAndDimensionOutputWithContext(context.Context) CostCategoryRuleRuleAndDimensionOutput + ToCostCategoryRuleRuleAndAndDimensionOutput() CostCategoryRuleRuleAndAndDimensionOutput + ToCostCategoryRuleRuleAndAndDimensionOutputWithContext(context.Context) CostCategoryRuleRuleAndAndDimensionOutput } -type CostCategoryRuleRuleAndDimensionArgs struct { +type CostCategoryRuleRuleAndAndDimensionArgs struct { // Unique name of the Cost Category. Key pulumi.StringPtrInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -3691,125 +3818,125 @@ type CostCategoryRuleRuleAndDimensionArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (CostCategoryRuleRuleAndDimensionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleAndDimension)(nil)).Elem() +func (CostCategoryRuleRuleAndAndDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndAndDimension)(nil)).Elem() } -func (i CostCategoryRuleRuleAndDimensionArgs) ToCostCategoryRuleRuleAndDimensionOutput() CostCategoryRuleRuleAndDimensionOutput { - return i.ToCostCategoryRuleRuleAndDimensionOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndAndDimensionArgs) ToCostCategoryRuleRuleAndAndDimensionOutput() CostCategoryRuleRuleAndAndDimensionOutput { + return i.ToCostCategoryRuleRuleAndAndDimensionOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleAndDimensionArgs) ToCostCategoryRuleRuleAndDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndDimensionOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndDimensionOutput) +func (i CostCategoryRuleRuleAndAndDimensionArgs) ToCostCategoryRuleRuleAndAndDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndAndDimensionOutput) } -func (i CostCategoryRuleRuleAndDimensionArgs) ToCostCategoryRuleRuleAndDimensionPtrOutput() CostCategoryRuleRuleAndDimensionPtrOutput { - return i.ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndAndDimensionArgs) ToCostCategoryRuleRuleAndAndDimensionPtrOutput() CostCategoryRuleRuleAndAndDimensionPtrOutput { + return i.ToCostCategoryRuleRuleAndAndDimensionPtrOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleAndDimensionArgs) ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndDimensionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndDimensionOutput).ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(ctx) +func (i CostCategoryRuleRuleAndAndDimensionArgs) ToCostCategoryRuleRuleAndAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndAndDimensionOutput).ToCostCategoryRuleRuleAndAndDimensionPtrOutputWithContext(ctx) } -// CostCategoryRuleRuleAndDimensionPtrInput is an input type that accepts CostCategoryRuleRuleAndDimensionArgs, CostCategoryRuleRuleAndDimensionPtr and CostCategoryRuleRuleAndDimensionPtrOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleAndDimensionPtrInput` via: +// CostCategoryRuleRuleAndAndDimensionPtrInput is an input type that accepts CostCategoryRuleRuleAndAndDimensionArgs, CostCategoryRuleRuleAndAndDimensionPtr and CostCategoryRuleRuleAndAndDimensionPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndAndDimensionPtrInput` via: // -// CostCategoryRuleRuleAndDimensionArgs{...} +// CostCategoryRuleRuleAndAndDimensionArgs{...} // // or: // // nil -type CostCategoryRuleRuleAndDimensionPtrInput interface { +type CostCategoryRuleRuleAndAndDimensionPtrInput interface { pulumi.Input - ToCostCategoryRuleRuleAndDimensionPtrOutput() CostCategoryRuleRuleAndDimensionPtrOutput - ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndDimensionPtrOutput + ToCostCategoryRuleRuleAndAndDimensionPtrOutput() CostCategoryRuleRuleAndAndDimensionPtrOutput + ToCostCategoryRuleRuleAndAndDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndAndDimensionPtrOutput } -type costCategoryRuleRuleAndDimensionPtrType CostCategoryRuleRuleAndDimensionArgs +type costCategoryRuleRuleAndAndDimensionPtrType CostCategoryRuleRuleAndAndDimensionArgs -func CostCategoryRuleRuleAndDimensionPtr(v *CostCategoryRuleRuleAndDimensionArgs) CostCategoryRuleRuleAndDimensionPtrInput { - return (*costCategoryRuleRuleAndDimensionPtrType)(v) +func CostCategoryRuleRuleAndAndDimensionPtr(v *CostCategoryRuleRuleAndAndDimensionArgs) CostCategoryRuleRuleAndAndDimensionPtrInput { + return (*costCategoryRuleRuleAndAndDimensionPtrType)(v) } -func (*costCategoryRuleRuleAndDimensionPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleAndDimension)(nil)).Elem() +func (*costCategoryRuleRuleAndAndDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndAndDimension)(nil)).Elem() } -func (i *costCategoryRuleRuleAndDimensionPtrType) ToCostCategoryRuleRuleAndDimensionPtrOutput() CostCategoryRuleRuleAndDimensionPtrOutput { - return i.ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(context.Background()) +func (i *costCategoryRuleRuleAndAndDimensionPtrType) ToCostCategoryRuleRuleAndAndDimensionPtrOutput() CostCategoryRuleRuleAndAndDimensionPtrOutput { + return i.ToCostCategoryRuleRuleAndAndDimensionPtrOutputWithContext(context.Background()) } -func (i *costCategoryRuleRuleAndDimensionPtrType) ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndDimensionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndDimensionPtrOutput) +func (i *costCategoryRuleRuleAndAndDimensionPtrType) ToCostCategoryRuleRuleAndAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndAndDimensionPtrOutput) } -type CostCategoryRuleRuleAndDimensionOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndAndDimensionOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleAndDimensionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleAndDimension)(nil)).Elem() +func (CostCategoryRuleRuleAndAndDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndAndDimension)(nil)).Elem() } -func (o CostCategoryRuleRuleAndDimensionOutput) ToCostCategoryRuleRuleAndDimensionOutput() CostCategoryRuleRuleAndDimensionOutput { +func (o CostCategoryRuleRuleAndAndDimensionOutput) ToCostCategoryRuleRuleAndAndDimensionOutput() CostCategoryRuleRuleAndAndDimensionOutput { return o } -func (o CostCategoryRuleRuleAndDimensionOutput) ToCostCategoryRuleRuleAndDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndDimensionOutput { +func (o CostCategoryRuleRuleAndAndDimensionOutput) ToCostCategoryRuleRuleAndAndDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndDimensionOutput { return o } -func (o CostCategoryRuleRuleAndDimensionOutput) ToCostCategoryRuleRuleAndDimensionPtrOutput() CostCategoryRuleRuleAndDimensionPtrOutput { - return o.ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(context.Background()) +func (o CostCategoryRuleRuleAndAndDimensionOutput) ToCostCategoryRuleRuleAndAndDimensionPtrOutput() CostCategoryRuleRuleAndAndDimensionPtrOutput { + return o.ToCostCategoryRuleRuleAndAndDimensionPtrOutputWithContext(context.Background()) } -func (o CostCategoryRuleRuleAndDimensionOutput) ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndDimensionPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndDimension) *CostCategoryRuleRuleAndDimension { +func (o CostCategoryRuleRuleAndAndDimensionOutput) ToCostCategoryRuleRuleAndAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndAndDimension) *CostCategoryRuleRuleAndAndDimension { return &v - }).(CostCategoryRuleRuleAndDimensionPtrOutput) + }).(CostCategoryRuleRuleAndAndDimensionPtrOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleAndDimensionOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleAndDimension) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o CostCategoryRuleRuleAndAndDimensionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndAndDimension) *string { return v.Key }).(pulumi.StringPtrOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleAndDimensionOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleAndDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndAndDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndAndDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleAndDimensionOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleAndDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndAndDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndAndDimension) []string { return v.Values }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleAndDimensionPtrOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndAndDimensionPtrOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleAndDimensionPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleAndDimension)(nil)).Elem() +func (CostCategoryRuleRuleAndAndDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndAndDimension)(nil)).Elem() } -func (o CostCategoryRuleRuleAndDimensionPtrOutput) ToCostCategoryRuleRuleAndDimensionPtrOutput() CostCategoryRuleRuleAndDimensionPtrOutput { +func (o CostCategoryRuleRuleAndAndDimensionPtrOutput) ToCostCategoryRuleRuleAndAndDimensionPtrOutput() CostCategoryRuleRuleAndAndDimensionPtrOutput { return o } -func (o CostCategoryRuleRuleAndDimensionPtrOutput) ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndDimensionPtrOutput { +func (o CostCategoryRuleRuleAndAndDimensionPtrOutput) ToCostCategoryRuleRuleAndAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndDimensionPtrOutput { return o } -func (o CostCategoryRuleRuleAndDimensionPtrOutput) Elem() CostCategoryRuleRuleAndDimensionOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleAndDimension) CostCategoryRuleRuleAndDimension { +func (o CostCategoryRuleRuleAndAndDimensionPtrOutput) Elem() CostCategoryRuleRuleAndAndDimensionOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndAndDimension) CostCategoryRuleRuleAndAndDimension { if v != nil { return *v } - var ret CostCategoryRuleRuleAndDimension + var ret CostCategoryRuleRuleAndAndDimension return ret - }).(CostCategoryRuleRuleAndDimensionOutput) + }).(CostCategoryRuleRuleAndAndDimensionOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleAndDimensionPtrOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleAndDimension) *string { +func (o CostCategoryRuleRuleAndAndDimensionPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndAndDimension) *string { if v == nil { return nil } @@ -3818,8 +3945,8 @@ func (o CostCategoryRuleRuleAndDimensionPtrOutput) Key() pulumi.StringPtrOutput } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleAndDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleAndDimension) []string { +func (o CostCategoryRuleRuleAndAndDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndAndDimension) []string { if v == nil { return nil } @@ -3828,8 +3955,8 @@ func (o CostCategoryRuleRuleAndDimensionPtrOutput) MatchOptions() pulumi.StringA } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleAndDimensionPtrOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleAndDimension) []string { +func (o CostCategoryRuleRuleAndAndDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndAndDimension) []string { if v == nil { return nil } @@ -3837,7 +3964,7 @@ func (o CostCategoryRuleRuleAndDimensionPtrOutput) Values() pulumi.StringArrayOu }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleAndTags struct { +type CostCategoryRuleRuleAndAndTags struct { // Key for the tag. Key *string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -3846,18 +3973,18 @@ type CostCategoryRuleRuleAndTags struct { Values []string `pulumi:"values"` } -// CostCategoryRuleRuleAndTagsInput is an input type that accepts CostCategoryRuleRuleAndTagsArgs and CostCategoryRuleRuleAndTagsOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleAndTagsInput` via: +// CostCategoryRuleRuleAndAndTagsInput is an input type that accepts CostCategoryRuleRuleAndAndTagsArgs and CostCategoryRuleRuleAndAndTagsOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndAndTagsInput` via: // -// CostCategoryRuleRuleAndTagsArgs{...} -type CostCategoryRuleRuleAndTagsInput interface { +// CostCategoryRuleRuleAndAndTagsArgs{...} +type CostCategoryRuleRuleAndAndTagsInput interface { pulumi.Input - ToCostCategoryRuleRuleAndTagsOutput() CostCategoryRuleRuleAndTagsOutput - ToCostCategoryRuleRuleAndTagsOutputWithContext(context.Context) CostCategoryRuleRuleAndTagsOutput + ToCostCategoryRuleRuleAndAndTagsOutput() CostCategoryRuleRuleAndAndTagsOutput + ToCostCategoryRuleRuleAndAndTagsOutputWithContext(context.Context) CostCategoryRuleRuleAndAndTagsOutput } -type CostCategoryRuleRuleAndTagsArgs struct { +type CostCategoryRuleRuleAndAndTagsArgs struct { // Key for the tag. Key pulumi.StringPtrInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -3866,125 +3993,125 @@ type CostCategoryRuleRuleAndTagsArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (CostCategoryRuleRuleAndTagsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleAndTags)(nil)).Elem() +func (CostCategoryRuleRuleAndAndTagsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndAndTags)(nil)).Elem() } -func (i CostCategoryRuleRuleAndTagsArgs) ToCostCategoryRuleRuleAndTagsOutput() CostCategoryRuleRuleAndTagsOutput { - return i.ToCostCategoryRuleRuleAndTagsOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndAndTagsArgs) ToCostCategoryRuleRuleAndAndTagsOutput() CostCategoryRuleRuleAndAndTagsOutput { + return i.ToCostCategoryRuleRuleAndAndTagsOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleAndTagsArgs) ToCostCategoryRuleRuleAndTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndTagsOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndTagsOutput) +func (i CostCategoryRuleRuleAndAndTagsArgs) ToCostCategoryRuleRuleAndAndTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndTagsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndAndTagsOutput) } -func (i CostCategoryRuleRuleAndTagsArgs) ToCostCategoryRuleRuleAndTagsPtrOutput() CostCategoryRuleRuleAndTagsPtrOutput { - return i.ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndAndTagsArgs) ToCostCategoryRuleRuleAndAndTagsPtrOutput() CostCategoryRuleRuleAndAndTagsPtrOutput { + return i.ToCostCategoryRuleRuleAndAndTagsPtrOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleAndTagsArgs) ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndTagsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndTagsOutput).ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(ctx) +func (i CostCategoryRuleRuleAndAndTagsArgs) ToCostCategoryRuleRuleAndAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndAndTagsOutput).ToCostCategoryRuleRuleAndAndTagsPtrOutputWithContext(ctx) } -// CostCategoryRuleRuleAndTagsPtrInput is an input type that accepts CostCategoryRuleRuleAndTagsArgs, CostCategoryRuleRuleAndTagsPtr and CostCategoryRuleRuleAndTagsPtrOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleAndTagsPtrInput` via: +// CostCategoryRuleRuleAndAndTagsPtrInput is an input type that accepts CostCategoryRuleRuleAndAndTagsArgs, CostCategoryRuleRuleAndAndTagsPtr and CostCategoryRuleRuleAndAndTagsPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndAndTagsPtrInput` via: // -// CostCategoryRuleRuleAndTagsArgs{...} +// CostCategoryRuleRuleAndAndTagsArgs{...} // // or: // // nil -type CostCategoryRuleRuleAndTagsPtrInput interface { +type CostCategoryRuleRuleAndAndTagsPtrInput interface { pulumi.Input - ToCostCategoryRuleRuleAndTagsPtrOutput() CostCategoryRuleRuleAndTagsPtrOutput - ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndTagsPtrOutput + ToCostCategoryRuleRuleAndAndTagsPtrOutput() CostCategoryRuleRuleAndAndTagsPtrOutput + ToCostCategoryRuleRuleAndAndTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndAndTagsPtrOutput } -type costCategoryRuleRuleAndTagsPtrType CostCategoryRuleRuleAndTagsArgs +type costCategoryRuleRuleAndAndTagsPtrType CostCategoryRuleRuleAndAndTagsArgs -func CostCategoryRuleRuleAndTagsPtr(v *CostCategoryRuleRuleAndTagsArgs) CostCategoryRuleRuleAndTagsPtrInput { - return (*costCategoryRuleRuleAndTagsPtrType)(v) +func CostCategoryRuleRuleAndAndTagsPtr(v *CostCategoryRuleRuleAndAndTagsArgs) CostCategoryRuleRuleAndAndTagsPtrInput { + return (*costCategoryRuleRuleAndAndTagsPtrType)(v) } -func (*costCategoryRuleRuleAndTagsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleAndTags)(nil)).Elem() +func (*costCategoryRuleRuleAndAndTagsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndAndTags)(nil)).Elem() } -func (i *costCategoryRuleRuleAndTagsPtrType) ToCostCategoryRuleRuleAndTagsPtrOutput() CostCategoryRuleRuleAndTagsPtrOutput { - return i.ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(context.Background()) +func (i *costCategoryRuleRuleAndAndTagsPtrType) ToCostCategoryRuleRuleAndAndTagsPtrOutput() CostCategoryRuleRuleAndAndTagsPtrOutput { + return i.ToCostCategoryRuleRuleAndAndTagsPtrOutputWithContext(context.Background()) } -func (i *costCategoryRuleRuleAndTagsPtrType) ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndTagsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndTagsPtrOutput) +func (i *costCategoryRuleRuleAndAndTagsPtrType) ToCostCategoryRuleRuleAndAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndAndTagsPtrOutput) } -type CostCategoryRuleRuleAndTagsOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndAndTagsOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleAndTagsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleAndTags)(nil)).Elem() +func (CostCategoryRuleRuleAndAndTagsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndAndTags)(nil)).Elem() } -func (o CostCategoryRuleRuleAndTagsOutput) ToCostCategoryRuleRuleAndTagsOutput() CostCategoryRuleRuleAndTagsOutput { +func (o CostCategoryRuleRuleAndAndTagsOutput) ToCostCategoryRuleRuleAndAndTagsOutput() CostCategoryRuleRuleAndAndTagsOutput { return o } -func (o CostCategoryRuleRuleAndTagsOutput) ToCostCategoryRuleRuleAndTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndTagsOutput { +func (o CostCategoryRuleRuleAndAndTagsOutput) ToCostCategoryRuleRuleAndAndTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndTagsOutput { return o } -func (o CostCategoryRuleRuleAndTagsOutput) ToCostCategoryRuleRuleAndTagsPtrOutput() CostCategoryRuleRuleAndTagsPtrOutput { - return o.ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(context.Background()) +func (o CostCategoryRuleRuleAndAndTagsOutput) ToCostCategoryRuleRuleAndAndTagsPtrOutput() CostCategoryRuleRuleAndAndTagsPtrOutput { + return o.ToCostCategoryRuleRuleAndAndTagsPtrOutputWithContext(context.Background()) } -func (o CostCategoryRuleRuleAndTagsOutput) ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndTagsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndTags) *CostCategoryRuleRuleAndTags { +func (o CostCategoryRuleRuleAndAndTagsOutput) ToCostCategoryRuleRuleAndAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndTagsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndAndTags) *CostCategoryRuleRuleAndAndTags { return &v - }).(CostCategoryRuleRuleAndTagsPtrOutput) + }).(CostCategoryRuleRuleAndAndTagsPtrOutput) } // Key for the tag. -func (o CostCategoryRuleRuleAndTagsOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleAndTags) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o CostCategoryRuleRuleAndAndTagsOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndAndTags) *string { return v.Key }).(pulumi.StringPtrOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleAndTagsOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleAndTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndAndTagsOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndAndTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleAndTagsOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleAndTags) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndAndTagsOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndAndTags) []string { return v.Values }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleAndTagsPtrOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndAndTagsPtrOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleAndTagsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleAndTags)(nil)).Elem() +func (CostCategoryRuleRuleAndAndTagsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndAndTags)(nil)).Elem() } -func (o CostCategoryRuleRuleAndTagsPtrOutput) ToCostCategoryRuleRuleAndTagsPtrOutput() CostCategoryRuleRuleAndTagsPtrOutput { +func (o CostCategoryRuleRuleAndAndTagsPtrOutput) ToCostCategoryRuleRuleAndAndTagsPtrOutput() CostCategoryRuleRuleAndAndTagsPtrOutput { return o } -func (o CostCategoryRuleRuleAndTagsPtrOutput) ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndTagsPtrOutput { +func (o CostCategoryRuleRuleAndAndTagsPtrOutput) ToCostCategoryRuleRuleAndAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndAndTagsPtrOutput { return o } -func (o CostCategoryRuleRuleAndTagsPtrOutput) Elem() CostCategoryRuleRuleAndTagsOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleAndTags) CostCategoryRuleRuleAndTags { +func (o CostCategoryRuleRuleAndAndTagsPtrOutput) Elem() CostCategoryRuleRuleAndAndTagsOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndAndTags) CostCategoryRuleRuleAndAndTags { if v != nil { return *v } - var ret CostCategoryRuleRuleAndTags + var ret CostCategoryRuleRuleAndAndTags return ret - }).(CostCategoryRuleRuleAndTagsOutput) + }).(CostCategoryRuleRuleAndAndTagsOutput) } // Key for the tag. -func (o CostCategoryRuleRuleAndTagsPtrOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleAndTags) *string { +func (o CostCategoryRuleRuleAndAndTagsPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndAndTags) *string { if v == nil { return nil } @@ -3993,8 +4120,8 @@ func (o CostCategoryRuleRuleAndTagsPtrOutput) Key() pulumi.StringPtrOutput { } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleAndTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleAndTags) []string { +func (o CostCategoryRuleRuleAndAndTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndAndTags) []string { if v == nil { return nil } @@ -4003,8 +4130,8 @@ func (o CostCategoryRuleRuleAndTagsPtrOutput) MatchOptions() pulumi.StringArrayO } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleAndTagsPtrOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleAndTags) []string { +func (o CostCategoryRuleRuleAndAndTagsPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndAndTags) []string { if v == nil { return nil } @@ -4012,7 +4139,7 @@ func (o CostCategoryRuleRuleAndTagsPtrOutput) Values() pulumi.StringArrayOutput }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleCostCategory struct { +type CostCategoryRuleRuleAndCostCategory struct { // Unique name of the Cost Category. Key *string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -4021,18 +4148,18 @@ type CostCategoryRuleRuleCostCategory struct { Values []string `pulumi:"values"` } -// CostCategoryRuleRuleCostCategoryInput is an input type that accepts CostCategoryRuleRuleCostCategoryArgs and CostCategoryRuleRuleCostCategoryOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleCostCategoryInput` via: +// CostCategoryRuleRuleAndCostCategoryInput is an input type that accepts CostCategoryRuleRuleAndCostCategoryArgs and CostCategoryRuleRuleAndCostCategoryOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndCostCategoryInput` via: // -// CostCategoryRuleRuleCostCategoryArgs{...} -type CostCategoryRuleRuleCostCategoryInput interface { +// CostCategoryRuleRuleAndCostCategoryArgs{...} +type CostCategoryRuleRuleAndCostCategoryInput interface { pulumi.Input - ToCostCategoryRuleRuleCostCategoryOutput() CostCategoryRuleRuleCostCategoryOutput - ToCostCategoryRuleRuleCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleCostCategoryOutput + ToCostCategoryRuleRuleAndCostCategoryOutput() CostCategoryRuleRuleAndCostCategoryOutput + ToCostCategoryRuleRuleAndCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleAndCostCategoryOutput } -type CostCategoryRuleRuleCostCategoryArgs struct { +type CostCategoryRuleRuleAndCostCategoryArgs struct { // Unique name of the Cost Category. Key pulumi.StringPtrInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -4041,125 +4168,125 @@ type CostCategoryRuleRuleCostCategoryArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (CostCategoryRuleRuleCostCategoryArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleCostCategory)(nil)).Elem() +func (CostCategoryRuleRuleAndCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndCostCategory)(nil)).Elem() } -func (i CostCategoryRuleRuleCostCategoryArgs) ToCostCategoryRuleRuleCostCategoryOutput() CostCategoryRuleRuleCostCategoryOutput { - return i.ToCostCategoryRuleRuleCostCategoryOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndCostCategoryArgs) ToCostCategoryRuleRuleAndCostCategoryOutput() CostCategoryRuleRuleAndCostCategoryOutput { + return i.ToCostCategoryRuleRuleAndCostCategoryOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleCostCategoryArgs) ToCostCategoryRuleRuleCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleCostCategoryOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleCostCategoryOutput) +func (i CostCategoryRuleRuleAndCostCategoryArgs) ToCostCategoryRuleRuleAndCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndCostCategoryOutput) } -func (i CostCategoryRuleRuleCostCategoryArgs) ToCostCategoryRuleRuleCostCategoryPtrOutput() CostCategoryRuleRuleCostCategoryPtrOutput { - return i.ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndCostCategoryArgs) ToCostCategoryRuleRuleAndCostCategoryPtrOutput() CostCategoryRuleRuleAndCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleCostCategoryArgs) ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleCostCategoryPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleCostCategoryOutput).ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(ctx) +func (i CostCategoryRuleRuleAndCostCategoryArgs) ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndCostCategoryOutput).ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(ctx) } -// CostCategoryRuleRuleCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleCostCategoryArgs, CostCategoryRuleRuleCostCategoryPtr and CostCategoryRuleRuleCostCategoryPtrOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleCostCategoryPtrInput` via: +// CostCategoryRuleRuleAndCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleAndCostCategoryArgs, CostCategoryRuleRuleAndCostCategoryPtr and CostCategoryRuleRuleAndCostCategoryPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndCostCategoryPtrInput` via: // -// CostCategoryRuleRuleCostCategoryArgs{...} +// CostCategoryRuleRuleAndCostCategoryArgs{...} // // or: // // nil -type CostCategoryRuleRuleCostCategoryPtrInput interface { +type CostCategoryRuleRuleAndCostCategoryPtrInput interface { pulumi.Input - ToCostCategoryRuleRuleCostCategoryPtrOutput() CostCategoryRuleRuleCostCategoryPtrOutput - ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleCostCategoryPtrOutput + ToCostCategoryRuleRuleAndCostCategoryPtrOutput() CostCategoryRuleRuleAndCostCategoryPtrOutput + ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndCostCategoryPtrOutput } -type costCategoryRuleRuleCostCategoryPtrType CostCategoryRuleRuleCostCategoryArgs +type costCategoryRuleRuleAndCostCategoryPtrType CostCategoryRuleRuleAndCostCategoryArgs -func CostCategoryRuleRuleCostCategoryPtr(v *CostCategoryRuleRuleCostCategoryArgs) CostCategoryRuleRuleCostCategoryPtrInput { - return (*costCategoryRuleRuleCostCategoryPtrType)(v) +func CostCategoryRuleRuleAndCostCategoryPtr(v *CostCategoryRuleRuleAndCostCategoryArgs) CostCategoryRuleRuleAndCostCategoryPtrInput { + return (*costCategoryRuleRuleAndCostCategoryPtrType)(v) } -func (*costCategoryRuleRuleCostCategoryPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleCostCategory)(nil)).Elem() +func (*costCategoryRuleRuleAndCostCategoryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndCostCategory)(nil)).Elem() } -func (i *costCategoryRuleRuleCostCategoryPtrType) ToCostCategoryRuleRuleCostCategoryPtrOutput() CostCategoryRuleRuleCostCategoryPtrOutput { - return i.ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(context.Background()) +func (i *costCategoryRuleRuleAndCostCategoryPtrType) ToCostCategoryRuleRuleAndCostCategoryPtrOutput() CostCategoryRuleRuleAndCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(context.Background()) } -func (i *costCategoryRuleRuleCostCategoryPtrType) ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleCostCategoryPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleCostCategoryPtrOutput) +func (i *costCategoryRuleRuleAndCostCategoryPtrType) ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndCostCategoryPtrOutput) } -type CostCategoryRuleRuleCostCategoryOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndCostCategoryOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleCostCategoryOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleCostCategory)(nil)).Elem() +func (CostCategoryRuleRuleAndCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndCostCategory)(nil)).Elem() } -func (o CostCategoryRuleRuleCostCategoryOutput) ToCostCategoryRuleRuleCostCategoryOutput() CostCategoryRuleRuleCostCategoryOutput { +func (o CostCategoryRuleRuleAndCostCategoryOutput) ToCostCategoryRuleRuleAndCostCategoryOutput() CostCategoryRuleRuleAndCostCategoryOutput { return o } -func (o CostCategoryRuleRuleCostCategoryOutput) ToCostCategoryRuleRuleCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleCostCategoryOutput { +func (o CostCategoryRuleRuleAndCostCategoryOutput) ToCostCategoryRuleRuleAndCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndCostCategoryOutput { return o } -func (o CostCategoryRuleRuleCostCategoryOutput) ToCostCategoryRuleRuleCostCategoryPtrOutput() CostCategoryRuleRuleCostCategoryPtrOutput { - return o.ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(context.Background()) +func (o CostCategoryRuleRuleAndCostCategoryOutput) ToCostCategoryRuleRuleAndCostCategoryPtrOutput() CostCategoryRuleRuleAndCostCategoryPtrOutput { + return o.ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(context.Background()) } -func (o CostCategoryRuleRuleCostCategoryOutput) ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleCostCategoryPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleCostCategory) *CostCategoryRuleRuleCostCategory { +func (o CostCategoryRuleRuleAndCostCategoryOutput) ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndCostCategoryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndCostCategory) *CostCategoryRuleRuleAndCostCategory { return &v - }).(CostCategoryRuleRuleCostCategoryPtrOutput) + }).(CostCategoryRuleRuleAndCostCategoryPtrOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleCostCategoryOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o CostCategoryRuleRuleAndCostCategoryOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleCostCategoryOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleCostCategoryPtrOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndCostCategoryPtrOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleCostCategoryPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleCostCategory)(nil)).Elem() +func (CostCategoryRuleRuleAndCostCategoryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndCostCategory)(nil)).Elem() } -func (o CostCategoryRuleRuleCostCategoryPtrOutput) ToCostCategoryRuleRuleCostCategoryPtrOutput() CostCategoryRuleRuleCostCategoryPtrOutput { +func (o CostCategoryRuleRuleAndCostCategoryPtrOutput) ToCostCategoryRuleRuleAndCostCategoryPtrOutput() CostCategoryRuleRuleAndCostCategoryPtrOutput { return o } -func (o CostCategoryRuleRuleCostCategoryPtrOutput) ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleCostCategoryPtrOutput { +func (o CostCategoryRuleRuleAndCostCategoryPtrOutput) ToCostCategoryRuleRuleAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndCostCategoryPtrOutput { return o } -func (o CostCategoryRuleRuleCostCategoryPtrOutput) Elem() CostCategoryRuleRuleCostCategoryOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleCostCategory) CostCategoryRuleRuleCostCategory { +func (o CostCategoryRuleRuleAndCostCategoryPtrOutput) Elem() CostCategoryRuleRuleAndCostCategoryOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndCostCategory) CostCategoryRuleRuleAndCostCategory { if v != nil { return *v } - var ret CostCategoryRuleRuleCostCategory + var ret CostCategoryRuleRuleAndCostCategory return ret - }).(CostCategoryRuleRuleCostCategoryOutput) + }).(CostCategoryRuleRuleAndCostCategoryOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleCostCategory) *string { +func (o CostCategoryRuleRuleAndCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndCostCategory) *string { if v == nil { return nil } @@ -4168,8 +4295,8 @@ func (o CostCategoryRuleRuleCostCategoryPtrOutput) Key() pulumi.StringPtrOutput } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleCostCategory) []string { +func (o CostCategoryRuleRuleAndCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndCostCategory) []string { if v == nil { return nil } @@ -4178,8 +4305,8 @@ func (o CostCategoryRuleRuleCostCategoryPtrOutput) MatchOptions() pulumi.StringA } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleCostCategory) []string { +func (o CostCategoryRuleRuleAndCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndCostCategory) []string { if v == nil { return nil } @@ -4187,7 +4314,7 @@ func (o CostCategoryRuleRuleCostCategoryPtrOutput) Values() pulumi.StringArrayOu }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleDimension struct { +type CostCategoryRuleRuleAndDimension struct { // Unique name of the Cost Category. Key *string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -4196,18 +4323,18 @@ type CostCategoryRuleRuleDimension struct { Values []string `pulumi:"values"` } -// CostCategoryRuleRuleDimensionInput is an input type that accepts CostCategoryRuleRuleDimensionArgs and CostCategoryRuleRuleDimensionOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleDimensionInput` via: +// CostCategoryRuleRuleAndDimensionInput is an input type that accepts CostCategoryRuleRuleAndDimensionArgs and CostCategoryRuleRuleAndDimensionOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndDimensionInput` via: // -// CostCategoryRuleRuleDimensionArgs{...} -type CostCategoryRuleRuleDimensionInput interface { +// CostCategoryRuleRuleAndDimensionArgs{...} +type CostCategoryRuleRuleAndDimensionInput interface { pulumi.Input - ToCostCategoryRuleRuleDimensionOutput() CostCategoryRuleRuleDimensionOutput - ToCostCategoryRuleRuleDimensionOutputWithContext(context.Context) CostCategoryRuleRuleDimensionOutput + ToCostCategoryRuleRuleAndDimensionOutput() CostCategoryRuleRuleAndDimensionOutput + ToCostCategoryRuleRuleAndDimensionOutputWithContext(context.Context) CostCategoryRuleRuleAndDimensionOutput } -type CostCategoryRuleRuleDimensionArgs struct { +type CostCategoryRuleRuleAndDimensionArgs struct { // Unique name of the Cost Category. Key pulumi.StringPtrInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -4216,125 +4343,125 @@ type CostCategoryRuleRuleDimensionArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (CostCategoryRuleRuleDimensionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleDimension)(nil)).Elem() +func (CostCategoryRuleRuleAndDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndDimension)(nil)).Elem() } -func (i CostCategoryRuleRuleDimensionArgs) ToCostCategoryRuleRuleDimensionOutput() CostCategoryRuleRuleDimensionOutput { - return i.ToCostCategoryRuleRuleDimensionOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndDimensionArgs) ToCostCategoryRuleRuleAndDimensionOutput() CostCategoryRuleRuleAndDimensionOutput { + return i.ToCostCategoryRuleRuleAndDimensionOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleDimensionArgs) ToCostCategoryRuleRuleDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleDimensionOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleDimensionOutput) +func (i CostCategoryRuleRuleAndDimensionArgs) ToCostCategoryRuleRuleAndDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndDimensionOutput) } -func (i CostCategoryRuleRuleDimensionArgs) ToCostCategoryRuleRuleDimensionPtrOutput() CostCategoryRuleRuleDimensionPtrOutput { - return i.ToCostCategoryRuleRuleDimensionPtrOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndDimensionArgs) ToCostCategoryRuleRuleAndDimensionPtrOutput() CostCategoryRuleRuleAndDimensionPtrOutput { + return i.ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleDimensionArgs) ToCostCategoryRuleRuleDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleDimensionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleDimensionOutput).ToCostCategoryRuleRuleDimensionPtrOutputWithContext(ctx) +func (i CostCategoryRuleRuleAndDimensionArgs) ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndDimensionOutput).ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(ctx) } -// CostCategoryRuleRuleDimensionPtrInput is an input type that accepts CostCategoryRuleRuleDimensionArgs, CostCategoryRuleRuleDimensionPtr and CostCategoryRuleRuleDimensionPtrOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleDimensionPtrInput` via: +// CostCategoryRuleRuleAndDimensionPtrInput is an input type that accepts CostCategoryRuleRuleAndDimensionArgs, CostCategoryRuleRuleAndDimensionPtr and CostCategoryRuleRuleAndDimensionPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndDimensionPtrInput` via: // -// CostCategoryRuleRuleDimensionArgs{...} +// CostCategoryRuleRuleAndDimensionArgs{...} // // or: // // nil -type CostCategoryRuleRuleDimensionPtrInput interface { +type CostCategoryRuleRuleAndDimensionPtrInput interface { pulumi.Input - ToCostCategoryRuleRuleDimensionPtrOutput() CostCategoryRuleRuleDimensionPtrOutput - ToCostCategoryRuleRuleDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleDimensionPtrOutput + ToCostCategoryRuleRuleAndDimensionPtrOutput() CostCategoryRuleRuleAndDimensionPtrOutput + ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndDimensionPtrOutput } -type costCategoryRuleRuleDimensionPtrType CostCategoryRuleRuleDimensionArgs +type costCategoryRuleRuleAndDimensionPtrType CostCategoryRuleRuleAndDimensionArgs -func CostCategoryRuleRuleDimensionPtr(v *CostCategoryRuleRuleDimensionArgs) CostCategoryRuleRuleDimensionPtrInput { - return (*costCategoryRuleRuleDimensionPtrType)(v) +func CostCategoryRuleRuleAndDimensionPtr(v *CostCategoryRuleRuleAndDimensionArgs) CostCategoryRuleRuleAndDimensionPtrInput { + return (*costCategoryRuleRuleAndDimensionPtrType)(v) } -func (*costCategoryRuleRuleDimensionPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleDimension)(nil)).Elem() +func (*costCategoryRuleRuleAndDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndDimension)(nil)).Elem() } -func (i *costCategoryRuleRuleDimensionPtrType) ToCostCategoryRuleRuleDimensionPtrOutput() CostCategoryRuleRuleDimensionPtrOutput { - return i.ToCostCategoryRuleRuleDimensionPtrOutputWithContext(context.Background()) +func (i *costCategoryRuleRuleAndDimensionPtrType) ToCostCategoryRuleRuleAndDimensionPtrOutput() CostCategoryRuleRuleAndDimensionPtrOutput { + return i.ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(context.Background()) } -func (i *costCategoryRuleRuleDimensionPtrType) ToCostCategoryRuleRuleDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleDimensionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleDimensionPtrOutput) +func (i *costCategoryRuleRuleAndDimensionPtrType) ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndDimensionPtrOutput) } -type CostCategoryRuleRuleDimensionOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndDimensionOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleDimensionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleDimension)(nil)).Elem() +func (CostCategoryRuleRuleAndDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndDimension)(nil)).Elem() } -func (o CostCategoryRuleRuleDimensionOutput) ToCostCategoryRuleRuleDimensionOutput() CostCategoryRuleRuleDimensionOutput { +func (o CostCategoryRuleRuleAndDimensionOutput) ToCostCategoryRuleRuleAndDimensionOutput() CostCategoryRuleRuleAndDimensionOutput { return o } -func (o CostCategoryRuleRuleDimensionOutput) ToCostCategoryRuleRuleDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleDimensionOutput { +func (o CostCategoryRuleRuleAndDimensionOutput) ToCostCategoryRuleRuleAndDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndDimensionOutput { return o } -func (o CostCategoryRuleRuleDimensionOutput) ToCostCategoryRuleRuleDimensionPtrOutput() CostCategoryRuleRuleDimensionPtrOutput { - return o.ToCostCategoryRuleRuleDimensionPtrOutputWithContext(context.Background()) +func (o CostCategoryRuleRuleAndDimensionOutput) ToCostCategoryRuleRuleAndDimensionPtrOutput() CostCategoryRuleRuleAndDimensionPtrOutput { + return o.ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(context.Background()) } -func (o CostCategoryRuleRuleDimensionOutput) ToCostCategoryRuleRuleDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleDimensionPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleDimension) *CostCategoryRuleRuleDimension { +func (o CostCategoryRuleRuleAndDimensionOutput) ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndDimension) *CostCategoryRuleRuleAndDimension { return &v - }).(CostCategoryRuleRuleDimensionPtrOutput) + }).(CostCategoryRuleRuleAndDimensionPtrOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleDimensionOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleDimension) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o CostCategoryRuleRuleAndDimensionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndDimension) *string { return v.Key }).(pulumi.StringPtrOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleDimensionOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleDimensionOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndDimension) []string { return v.Values }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleDimensionPtrOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndDimensionPtrOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleDimensionPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleDimension)(nil)).Elem() +func (CostCategoryRuleRuleAndDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndDimension)(nil)).Elem() } -func (o CostCategoryRuleRuleDimensionPtrOutput) ToCostCategoryRuleRuleDimensionPtrOutput() CostCategoryRuleRuleDimensionPtrOutput { +func (o CostCategoryRuleRuleAndDimensionPtrOutput) ToCostCategoryRuleRuleAndDimensionPtrOutput() CostCategoryRuleRuleAndDimensionPtrOutput { return o } -func (o CostCategoryRuleRuleDimensionPtrOutput) ToCostCategoryRuleRuleDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleDimensionPtrOutput { +func (o CostCategoryRuleRuleAndDimensionPtrOutput) ToCostCategoryRuleRuleAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndDimensionPtrOutput { return o } -func (o CostCategoryRuleRuleDimensionPtrOutput) Elem() CostCategoryRuleRuleDimensionOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleDimension) CostCategoryRuleRuleDimension { +func (o CostCategoryRuleRuleAndDimensionPtrOutput) Elem() CostCategoryRuleRuleAndDimensionOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndDimension) CostCategoryRuleRuleAndDimension { if v != nil { return *v } - var ret CostCategoryRuleRuleDimension + var ret CostCategoryRuleRuleAndDimension return ret - }).(CostCategoryRuleRuleDimensionOutput) + }).(CostCategoryRuleRuleAndDimensionOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleDimensionPtrOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleDimension) *string { +func (o CostCategoryRuleRuleAndDimensionPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndDimension) *string { if v == nil { return nil } @@ -4343,8 +4470,8 @@ func (o CostCategoryRuleRuleDimensionPtrOutput) Key() pulumi.StringPtrOutput { } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleDimension) []string { +func (o CostCategoryRuleRuleAndDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndDimension) []string { if v == nil { return nil } @@ -4353,8 +4480,8 @@ func (o CostCategoryRuleRuleDimensionPtrOutput) MatchOptions() pulumi.StringArra } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleDimensionPtrOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleDimension) []string { +func (o CostCategoryRuleRuleAndDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndDimension) []string { if v == nil { return nil } @@ -4362,174 +4489,174 @@ func (o CostCategoryRuleRuleDimensionPtrOutput) Values() pulumi.StringArrayOutpu }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleNot struct { - CostCategory *CostCategoryRuleRuleNotCostCategory `pulumi:"costCategory"` - Dimension *CostCategoryRuleRuleNotDimension `pulumi:"dimension"` +type CostCategoryRuleRuleAndNot struct { + CostCategory *CostCategoryRuleRuleAndNotCostCategory `pulumi:"costCategory"` + Dimension *CostCategoryRuleRuleAndNotDimension `pulumi:"dimension"` // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Tags *CostCategoryRuleRuleNotTags `pulumi:"tags"` + Tags *CostCategoryRuleRuleAndNotTags `pulumi:"tags"` } -// CostCategoryRuleRuleNotInput is an input type that accepts CostCategoryRuleRuleNotArgs and CostCategoryRuleRuleNotOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleNotInput` via: +// CostCategoryRuleRuleAndNotInput is an input type that accepts CostCategoryRuleRuleAndNotArgs and CostCategoryRuleRuleAndNotOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndNotInput` via: // -// CostCategoryRuleRuleNotArgs{...} -type CostCategoryRuleRuleNotInput interface { +// CostCategoryRuleRuleAndNotArgs{...} +type CostCategoryRuleRuleAndNotInput interface { pulumi.Input - ToCostCategoryRuleRuleNotOutput() CostCategoryRuleRuleNotOutput - ToCostCategoryRuleRuleNotOutputWithContext(context.Context) CostCategoryRuleRuleNotOutput + ToCostCategoryRuleRuleAndNotOutput() CostCategoryRuleRuleAndNotOutput + ToCostCategoryRuleRuleAndNotOutputWithContext(context.Context) CostCategoryRuleRuleAndNotOutput } -type CostCategoryRuleRuleNotArgs struct { - CostCategory CostCategoryRuleRuleNotCostCategoryPtrInput `pulumi:"costCategory"` - Dimension CostCategoryRuleRuleNotDimensionPtrInput `pulumi:"dimension"` +type CostCategoryRuleRuleAndNotArgs struct { + CostCategory CostCategoryRuleRuleAndNotCostCategoryPtrInput `pulumi:"costCategory"` + Dimension CostCategoryRuleRuleAndNotDimensionPtrInput `pulumi:"dimension"` // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Tags CostCategoryRuleRuleNotTagsPtrInput `pulumi:"tags"` + Tags CostCategoryRuleRuleAndNotTagsPtrInput `pulumi:"tags"` } -func (CostCategoryRuleRuleNotArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleNot)(nil)).Elem() +func (CostCategoryRuleRuleAndNotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndNot)(nil)).Elem() } -func (i CostCategoryRuleRuleNotArgs) ToCostCategoryRuleRuleNotOutput() CostCategoryRuleRuleNotOutput { - return i.ToCostCategoryRuleRuleNotOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndNotArgs) ToCostCategoryRuleRuleAndNotOutput() CostCategoryRuleRuleAndNotOutput { + return i.ToCostCategoryRuleRuleAndNotOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleNotArgs) ToCostCategoryRuleRuleNotOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotOutput) +func (i CostCategoryRuleRuleAndNotArgs) ToCostCategoryRuleRuleAndNotOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndNotOutput) } -func (i CostCategoryRuleRuleNotArgs) ToCostCategoryRuleRuleNotPtrOutput() CostCategoryRuleRuleNotPtrOutput { - return i.ToCostCategoryRuleRuleNotPtrOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndNotArgs) ToCostCategoryRuleRuleAndNotPtrOutput() CostCategoryRuleRuleAndNotPtrOutput { + return i.ToCostCategoryRuleRuleAndNotPtrOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleNotArgs) ToCostCategoryRuleRuleNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotOutput).ToCostCategoryRuleRuleNotPtrOutputWithContext(ctx) +func (i CostCategoryRuleRuleAndNotArgs) ToCostCategoryRuleRuleAndNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndNotOutput).ToCostCategoryRuleRuleAndNotPtrOutputWithContext(ctx) } -// CostCategoryRuleRuleNotPtrInput is an input type that accepts CostCategoryRuleRuleNotArgs, CostCategoryRuleRuleNotPtr and CostCategoryRuleRuleNotPtrOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleNotPtrInput` via: +// CostCategoryRuleRuleAndNotPtrInput is an input type that accepts CostCategoryRuleRuleAndNotArgs, CostCategoryRuleRuleAndNotPtr and CostCategoryRuleRuleAndNotPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndNotPtrInput` via: // -// CostCategoryRuleRuleNotArgs{...} +// CostCategoryRuleRuleAndNotArgs{...} // // or: // // nil -type CostCategoryRuleRuleNotPtrInput interface { +type CostCategoryRuleRuleAndNotPtrInput interface { pulumi.Input - ToCostCategoryRuleRuleNotPtrOutput() CostCategoryRuleRuleNotPtrOutput - ToCostCategoryRuleRuleNotPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotPtrOutput + ToCostCategoryRuleRuleAndNotPtrOutput() CostCategoryRuleRuleAndNotPtrOutput + ToCostCategoryRuleRuleAndNotPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndNotPtrOutput } -type costCategoryRuleRuleNotPtrType CostCategoryRuleRuleNotArgs +type costCategoryRuleRuleAndNotPtrType CostCategoryRuleRuleAndNotArgs -func CostCategoryRuleRuleNotPtr(v *CostCategoryRuleRuleNotArgs) CostCategoryRuleRuleNotPtrInput { - return (*costCategoryRuleRuleNotPtrType)(v) +func CostCategoryRuleRuleAndNotPtr(v *CostCategoryRuleRuleAndNotArgs) CostCategoryRuleRuleAndNotPtrInput { + return (*costCategoryRuleRuleAndNotPtrType)(v) } -func (*costCategoryRuleRuleNotPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleNot)(nil)).Elem() +func (*costCategoryRuleRuleAndNotPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndNot)(nil)).Elem() } -func (i *costCategoryRuleRuleNotPtrType) ToCostCategoryRuleRuleNotPtrOutput() CostCategoryRuleRuleNotPtrOutput { - return i.ToCostCategoryRuleRuleNotPtrOutputWithContext(context.Background()) +func (i *costCategoryRuleRuleAndNotPtrType) ToCostCategoryRuleRuleAndNotPtrOutput() CostCategoryRuleRuleAndNotPtrOutput { + return i.ToCostCategoryRuleRuleAndNotPtrOutputWithContext(context.Background()) } -func (i *costCategoryRuleRuleNotPtrType) ToCostCategoryRuleRuleNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotPtrOutput) +func (i *costCategoryRuleRuleAndNotPtrType) ToCostCategoryRuleRuleAndNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndNotPtrOutput) } -type CostCategoryRuleRuleNotOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndNotOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleNotOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleNot)(nil)).Elem() +func (CostCategoryRuleRuleAndNotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndNot)(nil)).Elem() } -func (o CostCategoryRuleRuleNotOutput) ToCostCategoryRuleRuleNotOutput() CostCategoryRuleRuleNotOutput { +func (o CostCategoryRuleRuleAndNotOutput) ToCostCategoryRuleRuleAndNotOutput() CostCategoryRuleRuleAndNotOutput { return o } -func (o CostCategoryRuleRuleNotOutput) ToCostCategoryRuleRuleNotOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOutput { +func (o CostCategoryRuleRuleAndNotOutput) ToCostCategoryRuleRuleAndNotOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotOutput { return o } -func (o CostCategoryRuleRuleNotOutput) ToCostCategoryRuleRuleNotPtrOutput() CostCategoryRuleRuleNotPtrOutput { - return o.ToCostCategoryRuleRuleNotPtrOutputWithContext(context.Background()) +func (o CostCategoryRuleRuleAndNotOutput) ToCostCategoryRuleRuleAndNotPtrOutput() CostCategoryRuleRuleAndNotPtrOutput { + return o.ToCostCategoryRuleRuleAndNotPtrOutputWithContext(context.Background()) } -func (o CostCategoryRuleRuleNotOutput) ToCostCategoryRuleRuleNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNot) *CostCategoryRuleRuleNot { +func (o CostCategoryRuleRuleAndNotOutput) ToCostCategoryRuleRuleAndNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndNot) *CostCategoryRuleRuleAndNot { return &v - }).(CostCategoryRuleRuleNotPtrOutput) + }).(CostCategoryRuleRuleAndNotPtrOutput) } -func (o CostCategoryRuleRuleNotOutput) CostCategory() CostCategoryRuleRuleNotCostCategoryPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleNot) *CostCategoryRuleRuleNotCostCategory { return v.CostCategory }).(CostCategoryRuleRuleNotCostCategoryPtrOutput) +func (o CostCategoryRuleRuleAndNotOutput) CostCategory() CostCategoryRuleRuleAndNotCostCategoryPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndNot) *CostCategoryRuleRuleAndNotCostCategory { return v.CostCategory }).(CostCategoryRuleRuleAndNotCostCategoryPtrOutput) } -func (o CostCategoryRuleRuleNotOutput) Dimension() CostCategoryRuleRuleNotDimensionPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleNot) *CostCategoryRuleRuleNotDimension { return v.Dimension }).(CostCategoryRuleRuleNotDimensionPtrOutput) +func (o CostCategoryRuleRuleAndNotOutput) Dimension() CostCategoryRuleRuleAndNotDimensionPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndNot) *CostCategoryRuleRuleAndNotDimension { return v.Dimension }).(CostCategoryRuleRuleAndNotDimensionPtrOutput) } // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. -func (o CostCategoryRuleRuleNotOutput) Tags() CostCategoryRuleRuleNotTagsPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleNot) *CostCategoryRuleRuleNotTags { return v.Tags }).(CostCategoryRuleRuleNotTagsPtrOutput) +func (o CostCategoryRuleRuleAndNotOutput) Tags() CostCategoryRuleRuleAndNotTagsPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndNot) *CostCategoryRuleRuleAndNotTags { return v.Tags }).(CostCategoryRuleRuleAndNotTagsPtrOutput) } -type CostCategoryRuleRuleNotPtrOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndNotPtrOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleNotPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleNot)(nil)).Elem() +func (CostCategoryRuleRuleAndNotPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndNot)(nil)).Elem() } -func (o CostCategoryRuleRuleNotPtrOutput) ToCostCategoryRuleRuleNotPtrOutput() CostCategoryRuleRuleNotPtrOutput { +func (o CostCategoryRuleRuleAndNotPtrOutput) ToCostCategoryRuleRuleAndNotPtrOutput() CostCategoryRuleRuleAndNotPtrOutput { return o } -func (o CostCategoryRuleRuleNotPtrOutput) ToCostCategoryRuleRuleNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotPtrOutput { +func (o CostCategoryRuleRuleAndNotPtrOutput) ToCostCategoryRuleRuleAndNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotPtrOutput { return o } -func (o CostCategoryRuleRuleNotPtrOutput) Elem() CostCategoryRuleRuleNotOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNot) CostCategoryRuleRuleNot { +func (o CostCategoryRuleRuleAndNotPtrOutput) Elem() CostCategoryRuleRuleAndNotOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNot) CostCategoryRuleRuleAndNot { if v != nil { return *v } - var ret CostCategoryRuleRuleNot + var ret CostCategoryRuleRuleAndNot return ret - }).(CostCategoryRuleRuleNotOutput) + }).(CostCategoryRuleRuleAndNotOutput) } -func (o CostCategoryRuleRuleNotPtrOutput) CostCategory() CostCategoryRuleRuleNotCostCategoryPtrOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNot) *CostCategoryRuleRuleNotCostCategory { +func (o CostCategoryRuleRuleAndNotPtrOutput) CostCategory() CostCategoryRuleRuleAndNotCostCategoryPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNot) *CostCategoryRuleRuleAndNotCostCategory { if v == nil { return nil } return v.CostCategory - }).(CostCategoryRuleRuleNotCostCategoryPtrOutput) + }).(CostCategoryRuleRuleAndNotCostCategoryPtrOutput) } -func (o CostCategoryRuleRuleNotPtrOutput) Dimension() CostCategoryRuleRuleNotDimensionPtrOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNot) *CostCategoryRuleRuleNotDimension { +func (o CostCategoryRuleRuleAndNotPtrOutput) Dimension() CostCategoryRuleRuleAndNotDimensionPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNot) *CostCategoryRuleRuleAndNotDimension { if v == nil { return nil } return v.Dimension - }).(CostCategoryRuleRuleNotDimensionPtrOutput) + }).(CostCategoryRuleRuleAndNotDimensionPtrOutput) } // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. -func (o CostCategoryRuleRuleNotPtrOutput) Tags() CostCategoryRuleRuleNotTagsPtrOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNot) *CostCategoryRuleRuleNotTags { +func (o CostCategoryRuleRuleAndNotPtrOutput) Tags() CostCategoryRuleRuleAndNotTagsPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNot) *CostCategoryRuleRuleAndNotTags { if v == nil { return nil } return v.Tags - }).(CostCategoryRuleRuleNotTagsPtrOutput) + }).(CostCategoryRuleRuleAndNotTagsPtrOutput) } -type CostCategoryRuleRuleNotCostCategory struct { +type CostCategoryRuleRuleAndNotCostCategory struct { // Unique name of the Cost Category. Key *string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -4538,18 +4665,18 @@ type CostCategoryRuleRuleNotCostCategory struct { Values []string `pulumi:"values"` } -// CostCategoryRuleRuleNotCostCategoryInput is an input type that accepts CostCategoryRuleRuleNotCostCategoryArgs and CostCategoryRuleRuleNotCostCategoryOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleNotCostCategoryInput` via: +// CostCategoryRuleRuleAndNotCostCategoryInput is an input type that accepts CostCategoryRuleRuleAndNotCostCategoryArgs and CostCategoryRuleRuleAndNotCostCategoryOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndNotCostCategoryInput` via: // -// CostCategoryRuleRuleNotCostCategoryArgs{...} -type CostCategoryRuleRuleNotCostCategoryInput interface { +// CostCategoryRuleRuleAndNotCostCategoryArgs{...} +type CostCategoryRuleRuleAndNotCostCategoryInput interface { pulumi.Input - ToCostCategoryRuleRuleNotCostCategoryOutput() CostCategoryRuleRuleNotCostCategoryOutput - ToCostCategoryRuleRuleNotCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleNotCostCategoryOutput + ToCostCategoryRuleRuleAndNotCostCategoryOutput() CostCategoryRuleRuleAndNotCostCategoryOutput + ToCostCategoryRuleRuleAndNotCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleAndNotCostCategoryOutput } -type CostCategoryRuleRuleNotCostCategoryArgs struct { +type CostCategoryRuleRuleAndNotCostCategoryArgs struct { // Unique name of the Cost Category. Key pulumi.StringPtrInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -4558,125 +4685,125 @@ type CostCategoryRuleRuleNotCostCategoryArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (CostCategoryRuleRuleNotCostCategoryArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleNotCostCategory)(nil)).Elem() +func (CostCategoryRuleRuleAndNotCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndNotCostCategory)(nil)).Elem() } -func (i CostCategoryRuleRuleNotCostCategoryArgs) ToCostCategoryRuleRuleNotCostCategoryOutput() CostCategoryRuleRuleNotCostCategoryOutput { - return i.ToCostCategoryRuleRuleNotCostCategoryOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndNotCostCategoryArgs) ToCostCategoryRuleRuleAndNotCostCategoryOutput() CostCategoryRuleRuleAndNotCostCategoryOutput { + return i.ToCostCategoryRuleRuleAndNotCostCategoryOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleNotCostCategoryArgs) ToCostCategoryRuleRuleNotCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotCostCategoryOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotCostCategoryOutput) +func (i CostCategoryRuleRuleAndNotCostCategoryArgs) ToCostCategoryRuleRuleAndNotCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndNotCostCategoryOutput) } -func (i CostCategoryRuleRuleNotCostCategoryArgs) ToCostCategoryRuleRuleNotCostCategoryPtrOutput() CostCategoryRuleRuleNotCostCategoryPtrOutput { - return i.ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndNotCostCategoryArgs) ToCostCategoryRuleRuleAndNotCostCategoryPtrOutput() CostCategoryRuleRuleAndNotCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleAndNotCostCategoryPtrOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleNotCostCategoryArgs) ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotCostCategoryPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotCostCategoryOutput).ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(ctx) +func (i CostCategoryRuleRuleAndNotCostCategoryArgs) ToCostCategoryRuleRuleAndNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndNotCostCategoryOutput).ToCostCategoryRuleRuleAndNotCostCategoryPtrOutputWithContext(ctx) } -// CostCategoryRuleRuleNotCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleNotCostCategoryArgs, CostCategoryRuleRuleNotCostCategoryPtr and CostCategoryRuleRuleNotCostCategoryPtrOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleNotCostCategoryPtrInput` via: +// CostCategoryRuleRuleAndNotCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleAndNotCostCategoryArgs, CostCategoryRuleRuleAndNotCostCategoryPtr and CostCategoryRuleRuleAndNotCostCategoryPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndNotCostCategoryPtrInput` via: // -// CostCategoryRuleRuleNotCostCategoryArgs{...} +// CostCategoryRuleRuleAndNotCostCategoryArgs{...} // // or: // // nil -type CostCategoryRuleRuleNotCostCategoryPtrInput interface { +type CostCategoryRuleRuleAndNotCostCategoryPtrInput interface { pulumi.Input - ToCostCategoryRuleRuleNotCostCategoryPtrOutput() CostCategoryRuleRuleNotCostCategoryPtrOutput - ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotCostCategoryPtrOutput + ToCostCategoryRuleRuleAndNotCostCategoryPtrOutput() CostCategoryRuleRuleAndNotCostCategoryPtrOutput + ToCostCategoryRuleRuleAndNotCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndNotCostCategoryPtrOutput } -type costCategoryRuleRuleNotCostCategoryPtrType CostCategoryRuleRuleNotCostCategoryArgs +type costCategoryRuleRuleAndNotCostCategoryPtrType CostCategoryRuleRuleAndNotCostCategoryArgs -func CostCategoryRuleRuleNotCostCategoryPtr(v *CostCategoryRuleRuleNotCostCategoryArgs) CostCategoryRuleRuleNotCostCategoryPtrInput { - return (*costCategoryRuleRuleNotCostCategoryPtrType)(v) +func CostCategoryRuleRuleAndNotCostCategoryPtr(v *CostCategoryRuleRuleAndNotCostCategoryArgs) CostCategoryRuleRuleAndNotCostCategoryPtrInput { + return (*costCategoryRuleRuleAndNotCostCategoryPtrType)(v) } -func (*costCategoryRuleRuleNotCostCategoryPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleNotCostCategory)(nil)).Elem() +func (*costCategoryRuleRuleAndNotCostCategoryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndNotCostCategory)(nil)).Elem() } -func (i *costCategoryRuleRuleNotCostCategoryPtrType) ToCostCategoryRuleRuleNotCostCategoryPtrOutput() CostCategoryRuleRuleNotCostCategoryPtrOutput { - return i.ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(context.Background()) +func (i *costCategoryRuleRuleAndNotCostCategoryPtrType) ToCostCategoryRuleRuleAndNotCostCategoryPtrOutput() CostCategoryRuleRuleAndNotCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleAndNotCostCategoryPtrOutputWithContext(context.Background()) } -func (i *costCategoryRuleRuleNotCostCategoryPtrType) ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotCostCategoryPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotCostCategoryPtrOutput) +func (i *costCategoryRuleRuleAndNotCostCategoryPtrType) ToCostCategoryRuleRuleAndNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndNotCostCategoryPtrOutput) } -type CostCategoryRuleRuleNotCostCategoryOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndNotCostCategoryOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleNotCostCategoryOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleNotCostCategory)(nil)).Elem() +func (CostCategoryRuleRuleAndNotCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndNotCostCategory)(nil)).Elem() } -func (o CostCategoryRuleRuleNotCostCategoryOutput) ToCostCategoryRuleRuleNotCostCategoryOutput() CostCategoryRuleRuleNotCostCategoryOutput { +func (o CostCategoryRuleRuleAndNotCostCategoryOutput) ToCostCategoryRuleRuleAndNotCostCategoryOutput() CostCategoryRuleRuleAndNotCostCategoryOutput { return o } -func (o CostCategoryRuleRuleNotCostCategoryOutput) ToCostCategoryRuleRuleNotCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotCostCategoryOutput { +func (o CostCategoryRuleRuleAndNotCostCategoryOutput) ToCostCategoryRuleRuleAndNotCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotCostCategoryOutput { return o } -func (o CostCategoryRuleRuleNotCostCategoryOutput) ToCostCategoryRuleRuleNotCostCategoryPtrOutput() CostCategoryRuleRuleNotCostCategoryPtrOutput { - return o.ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(context.Background()) +func (o CostCategoryRuleRuleAndNotCostCategoryOutput) ToCostCategoryRuleRuleAndNotCostCategoryPtrOutput() CostCategoryRuleRuleAndNotCostCategoryPtrOutput { + return o.ToCostCategoryRuleRuleAndNotCostCategoryPtrOutputWithContext(context.Background()) } -func (o CostCategoryRuleRuleNotCostCategoryOutput) ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotCostCategoryPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotCostCategory) *CostCategoryRuleRuleNotCostCategory { +func (o CostCategoryRuleRuleAndNotCostCategoryOutput) ToCostCategoryRuleRuleAndNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotCostCategoryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndNotCostCategory) *CostCategoryRuleRuleAndNotCostCategory { return &v - }).(CostCategoryRuleRuleNotCostCategoryPtrOutput) + }).(CostCategoryRuleRuleAndNotCostCategoryPtrOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleNotCostCategoryOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleNotCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o CostCategoryRuleRuleAndNotCostCategoryOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndNotCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleNotCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleNotCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndNotCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndNotCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleNotCostCategoryOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleNotCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndNotCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndNotCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleNotCostCategoryPtrOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndNotCostCategoryPtrOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleNotCostCategoryPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleNotCostCategory)(nil)).Elem() +func (CostCategoryRuleRuleAndNotCostCategoryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndNotCostCategory)(nil)).Elem() } -func (o CostCategoryRuleRuleNotCostCategoryPtrOutput) ToCostCategoryRuleRuleNotCostCategoryPtrOutput() CostCategoryRuleRuleNotCostCategoryPtrOutput { +func (o CostCategoryRuleRuleAndNotCostCategoryPtrOutput) ToCostCategoryRuleRuleAndNotCostCategoryPtrOutput() CostCategoryRuleRuleAndNotCostCategoryPtrOutput { return o } -func (o CostCategoryRuleRuleNotCostCategoryPtrOutput) ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotCostCategoryPtrOutput { +func (o CostCategoryRuleRuleAndNotCostCategoryPtrOutput) ToCostCategoryRuleRuleAndNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotCostCategoryPtrOutput { return o } -func (o CostCategoryRuleRuleNotCostCategoryPtrOutput) Elem() CostCategoryRuleRuleNotCostCategoryOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNotCostCategory) CostCategoryRuleRuleNotCostCategory { +func (o CostCategoryRuleRuleAndNotCostCategoryPtrOutput) Elem() CostCategoryRuleRuleAndNotCostCategoryOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNotCostCategory) CostCategoryRuleRuleAndNotCostCategory { if v != nil { return *v } - var ret CostCategoryRuleRuleNotCostCategory + var ret CostCategoryRuleRuleAndNotCostCategory return ret - }).(CostCategoryRuleRuleNotCostCategoryOutput) + }).(CostCategoryRuleRuleAndNotCostCategoryOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleNotCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNotCostCategory) *string { +func (o CostCategoryRuleRuleAndNotCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNotCostCategory) *string { if v == nil { return nil } @@ -4685,8 +4812,8 @@ func (o CostCategoryRuleRuleNotCostCategoryPtrOutput) Key() pulumi.StringPtrOutp } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleNotCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNotCostCategory) []string { +func (o CostCategoryRuleRuleAndNotCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNotCostCategory) []string { if v == nil { return nil } @@ -4695,8 +4822,8 @@ func (o CostCategoryRuleRuleNotCostCategoryPtrOutput) MatchOptions() pulumi.Stri } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleNotCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNotCostCategory) []string { +func (o CostCategoryRuleRuleAndNotCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNotCostCategory) []string { if v == nil { return nil } @@ -4704,7 +4831,7 @@ func (o CostCategoryRuleRuleNotCostCategoryPtrOutput) Values() pulumi.StringArra }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleNotDimension struct { +type CostCategoryRuleRuleAndNotDimension struct { // Unique name of the Cost Category. Key *string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -4713,18 +4840,18 @@ type CostCategoryRuleRuleNotDimension struct { Values []string `pulumi:"values"` } -// CostCategoryRuleRuleNotDimensionInput is an input type that accepts CostCategoryRuleRuleNotDimensionArgs and CostCategoryRuleRuleNotDimensionOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleNotDimensionInput` via: +// CostCategoryRuleRuleAndNotDimensionInput is an input type that accepts CostCategoryRuleRuleAndNotDimensionArgs and CostCategoryRuleRuleAndNotDimensionOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndNotDimensionInput` via: // -// CostCategoryRuleRuleNotDimensionArgs{...} -type CostCategoryRuleRuleNotDimensionInput interface { +// CostCategoryRuleRuleAndNotDimensionArgs{...} +type CostCategoryRuleRuleAndNotDimensionInput interface { pulumi.Input - ToCostCategoryRuleRuleNotDimensionOutput() CostCategoryRuleRuleNotDimensionOutput - ToCostCategoryRuleRuleNotDimensionOutputWithContext(context.Context) CostCategoryRuleRuleNotDimensionOutput + ToCostCategoryRuleRuleAndNotDimensionOutput() CostCategoryRuleRuleAndNotDimensionOutput + ToCostCategoryRuleRuleAndNotDimensionOutputWithContext(context.Context) CostCategoryRuleRuleAndNotDimensionOutput } -type CostCategoryRuleRuleNotDimensionArgs struct { +type CostCategoryRuleRuleAndNotDimensionArgs struct { // Unique name of the Cost Category. Key pulumi.StringPtrInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -4733,125 +4860,125 @@ type CostCategoryRuleRuleNotDimensionArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (CostCategoryRuleRuleNotDimensionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleNotDimension)(nil)).Elem() +func (CostCategoryRuleRuleAndNotDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndNotDimension)(nil)).Elem() } -func (i CostCategoryRuleRuleNotDimensionArgs) ToCostCategoryRuleRuleNotDimensionOutput() CostCategoryRuleRuleNotDimensionOutput { - return i.ToCostCategoryRuleRuleNotDimensionOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndNotDimensionArgs) ToCostCategoryRuleRuleAndNotDimensionOutput() CostCategoryRuleRuleAndNotDimensionOutput { + return i.ToCostCategoryRuleRuleAndNotDimensionOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleNotDimensionArgs) ToCostCategoryRuleRuleNotDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotDimensionOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotDimensionOutput) +func (i CostCategoryRuleRuleAndNotDimensionArgs) ToCostCategoryRuleRuleAndNotDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndNotDimensionOutput) } -func (i CostCategoryRuleRuleNotDimensionArgs) ToCostCategoryRuleRuleNotDimensionPtrOutput() CostCategoryRuleRuleNotDimensionPtrOutput { - return i.ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndNotDimensionArgs) ToCostCategoryRuleRuleAndNotDimensionPtrOutput() CostCategoryRuleRuleAndNotDimensionPtrOutput { + return i.ToCostCategoryRuleRuleAndNotDimensionPtrOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleNotDimensionArgs) ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotDimensionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotDimensionOutput).ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(ctx) +func (i CostCategoryRuleRuleAndNotDimensionArgs) ToCostCategoryRuleRuleAndNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndNotDimensionOutput).ToCostCategoryRuleRuleAndNotDimensionPtrOutputWithContext(ctx) } -// CostCategoryRuleRuleNotDimensionPtrInput is an input type that accepts CostCategoryRuleRuleNotDimensionArgs, CostCategoryRuleRuleNotDimensionPtr and CostCategoryRuleRuleNotDimensionPtrOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleNotDimensionPtrInput` via: +// CostCategoryRuleRuleAndNotDimensionPtrInput is an input type that accepts CostCategoryRuleRuleAndNotDimensionArgs, CostCategoryRuleRuleAndNotDimensionPtr and CostCategoryRuleRuleAndNotDimensionPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndNotDimensionPtrInput` via: // -// CostCategoryRuleRuleNotDimensionArgs{...} +// CostCategoryRuleRuleAndNotDimensionArgs{...} // // or: // // nil -type CostCategoryRuleRuleNotDimensionPtrInput interface { +type CostCategoryRuleRuleAndNotDimensionPtrInput interface { pulumi.Input - ToCostCategoryRuleRuleNotDimensionPtrOutput() CostCategoryRuleRuleNotDimensionPtrOutput - ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotDimensionPtrOutput + ToCostCategoryRuleRuleAndNotDimensionPtrOutput() CostCategoryRuleRuleAndNotDimensionPtrOutput + ToCostCategoryRuleRuleAndNotDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndNotDimensionPtrOutput } -type costCategoryRuleRuleNotDimensionPtrType CostCategoryRuleRuleNotDimensionArgs +type costCategoryRuleRuleAndNotDimensionPtrType CostCategoryRuleRuleAndNotDimensionArgs -func CostCategoryRuleRuleNotDimensionPtr(v *CostCategoryRuleRuleNotDimensionArgs) CostCategoryRuleRuleNotDimensionPtrInput { - return (*costCategoryRuleRuleNotDimensionPtrType)(v) +func CostCategoryRuleRuleAndNotDimensionPtr(v *CostCategoryRuleRuleAndNotDimensionArgs) CostCategoryRuleRuleAndNotDimensionPtrInput { + return (*costCategoryRuleRuleAndNotDimensionPtrType)(v) } -func (*costCategoryRuleRuleNotDimensionPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleNotDimension)(nil)).Elem() +func (*costCategoryRuleRuleAndNotDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndNotDimension)(nil)).Elem() } -func (i *costCategoryRuleRuleNotDimensionPtrType) ToCostCategoryRuleRuleNotDimensionPtrOutput() CostCategoryRuleRuleNotDimensionPtrOutput { - return i.ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(context.Background()) +func (i *costCategoryRuleRuleAndNotDimensionPtrType) ToCostCategoryRuleRuleAndNotDimensionPtrOutput() CostCategoryRuleRuleAndNotDimensionPtrOutput { + return i.ToCostCategoryRuleRuleAndNotDimensionPtrOutputWithContext(context.Background()) } -func (i *costCategoryRuleRuleNotDimensionPtrType) ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotDimensionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotDimensionPtrOutput) +func (i *costCategoryRuleRuleAndNotDimensionPtrType) ToCostCategoryRuleRuleAndNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndNotDimensionPtrOutput) } -type CostCategoryRuleRuleNotDimensionOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndNotDimensionOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleNotDimensionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleNotDimension)(nil)).Elem() +func (CostCategoryRuleRuleAndNotDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndNotDimension)(nil)).Elem() } -func (o CostCategoryRuleRuleNotDimensionOutput) ToCostCategoryRuleRuleNotDimensionOutput() CostCategoryRuleRuleNotDimensionOutput { +func (o CostCategoryRuleRuleAndNotDimensionOutput) ToCostCategoryRuleRuleAndNotDimensionOutput() CostCategoryRuleRuleAndNotDimensionOutput { return o } -func (o CostCategoryRuleRuleNotDimensionOutput) ToCostCategoryRuleRuleNotDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotDimensionOutput { +func (o CostCategoryRuleRuleAndNotDimensionOutput) ToCostCategoryRuleRuleAndNotDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotDimensionOutput { return o } -func (o CostCategoryRuleRuleNotDimensionOutput) ToCostCategoryRuleRuleNotDimensionPtrOutput() CostCategoryRuleRuleNotDimensionPtrOutput { - return o.ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(context.Background()) +func (o CostCategoryRuleRuleAndNotDimensionOutput) ToCostCategoryRuleRuleAndNotDimensionPtrOutput() CostCategoryRuleRuleAndNotDimensionPtrOutput { + return o.ToCostCategoryRuleRuleAndNotDimensionPtrOutputWithContext(context.Background()) } -func (o CostCategoryRuleRuleNotDimensionOutput) ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotDimensionPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotDimension) *CostCategoryRuleRuleNotDimension { +func (o CostCategoryRuleRuleAndNotDimensionOutput) ToCostCategoryRuleRuleAndNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndNotDimension) *CostCategoryRuleRuleAndNotDimension { return &v - }).(CostCategoryRuleRuleNotDimensionPtrOutput) + }).(CostCategoryRuleRuleAndNotDimensionPtrOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleNotDimensionOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleNotDimension) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o CostCategoryRuleRuleAndNotDimensionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndNotDimension) *string { return v.Key }).(pulumi.StringPtrOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleNotDimensionOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleNotDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndNotDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndNotDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleNotDimensionOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleNotDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndNotDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndNotDimension) []string { return v.Values }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleNotDimensionPtrOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndNotDimensionPtrOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleNotDimensionPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleNotDimension)(nil)).Elem() +func (CostCategoryRuleRuleAndNotDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndNotDimension)(nil)).Elem() } -func (o CostCategoryRuleRuleNotDimensionPtrOutput) ToCostCategoryRuleRuleNotDimensionPtrOutput() CostCategoryRuleRuleNotDimensionPtrOutput { +func (o CostCategoryRuleRuleAndNotDimensionPtrOutput) ToCostCategoryRuleRuleAndNotDimensionPtrOutput() CostCategoryRuleRuleAndNotDimensionPtrOutput { return o } -func (o CostCategoryRuleRuleNotDimensionPtrOutput) ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotDimensionPtrOutput { +func (o CostCategoryRuleRuleAndNotDimensionPtrOutput) ToCostCategoryRuleRuleAndNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotDimensionPtrOutput { return o } -func (o CostCategoryRuleRuleNotDimensionPtrOutput) Elem() CostCategoryRuleRuleNotDimensionOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNotDimension) CostCategoryRuleRuleNotDimension { +func (o CostCategoryRuleRuleAndNotDimensionPtrOutput) Elem() CostCategoryRuleRuleAndNotDimensionOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNotDimension) CostCategoryRuleRuleAndNotDimension { if v != nil { return *v } - var ret CostCategoryRuleRuleNotDimension + var ret CostCategoryRuleRuleAndNotDimension return ret - }).(CostCategoryRuleRuleNotDimensionOutput) + }).(CostCategoryRuleRuleAndNotDimensionOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleNotDimensionPtrOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNotDimension) *string { +func (o CostCategoryRuleRuleAndNotDimensionPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNotDimension) *string { if v == nil { return nil } @@ -4860,8 +4987,8 @@ func (o CostCategoryRuleRuleNotDimensionPtrOutput) Key() pulumi.StringPtrOutput } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleNotDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNotDimension) []string { +func (o CostCategoryRuleRuleAndNotDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNotDimension) []string { if v == nil { return nil } @@ -4870,8 +4997,8 @@ func (o CostCategoryRuleRuleNotDimensionPtrOutput) MatchOptions() pulumi.StringA } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleNotDimensionPtrOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNotDimension) []string { +func (o CostCategoryRuleRuleAndNotDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNotDimension) []string { if v == nil { return nil } @@ -4879,7 +5006,7 @@ func (o CostCategoryRuleRuleNotDimensionPtrOutput) Values() pulumi.StringArrayOu }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleNotTags struct { +type CostCategoryRuleRuleAndNotTags struct { // Key for the tag. Key *string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -4888,18 +5015,18 @@ type CostCategoryRuleRuleNotTags struct { Values []string `pulumi:"values"` } -// CostCategoryRuleRuleNotTagsInput is an input type that accepts CostCategoryRuleRuleNotTagsArgs and CostCategoryRuleRuleNotTagsOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleNotTagsInput` via: +// CostCategoryRuleRuleAndNotTagsInput is an input type that accepts CostCategoryRuleRuleAndNotTagsArgs and CostCategoryRuleRuleAndNotTagsOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndNotTagsInput` via: // -// CostCategoryRuleRuleNotTagsArgs{...} -type CostCategoryRuleRuleNotTagsInput interface { +// CostCategoryRuleRuleAndNotTagsArgs{...} +type CostCategoryRuleRuleAndNotTagsInput interface { pulumi.Input - ToCostCategoryRuleRuleNotTagsOutput() CostCategoryRuleRuleNotTagsOutput - ToCostCategoryRuleRuleNotTagsOutputWithContext(context.Context) CostCategoryRuleRuleNotTagsOutput + ToCostCategoryRuleRuleAndNotTagsOutput() CostCategoryRuleRuleAndNotTagsOutput + ToCostCategoryRuleRuleAndNotTagsOutputWithContext(context.Context) CostCategoryRuleRuleAndNotTagsOutput } -type CostCategoryRuleRuleNotTagsArgs struct { +type CostCategoryRuleRuleAndNotTagsArgs struct { // Key for the tag. Key pulumi.StringPtrInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -4908,125 +5035,125 @@ type CostCategoryRuleRuleNotTagsArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (CostCategoryRuleRuleNotTagsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleNotTags)(nil)).Elem() +func (CostCategoryRuleRuleAndNotTagsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndNotTags)(nil)).Elem() } -func (i CostCategoryRuleRuleNotTagsArgs) ToCostCategoryRuleRuleNotTagsOutput() CostCategoryRuleRuleNotTagsOutput { - return i.ToCostCategoryRuleRuleNotTagsOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndNotTagsArgs) ToCostCategoryRuleRuleAndNotTagsOutput() CostCategoryRuleRuleAndNotTagsOutput { + return i.ToCostCategoryRuleRuleAndNotTagsOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleNotTagsArgs) ToCostCategoryRuleRuleNotTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotTagsOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotTagsOutput) +func (i CostCategoryRuleRuleAndNotTagsArgs) ToCostCategoryRuleRuleAndNotTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotTagsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndNotTagsOutput) } -func (i CostCategoryRuleRuleNotTagsArgs) ToCostCategoryRuleRuleNotTagsPtrOutput() CostCategoryRuleRuleNotTagsPtrOutput { - return i.ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndNotTagsArgs) ToCostCategoryRuleRuleAndNotTagsPtrOutput() CostCategoryRuleRuleAndNotTagsPtrOutput { + return i.ToCostCategoryRuleRuleAndNotTagsPtrOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleNotTagsArgs) ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotTagsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotTagsOutput).ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(ctx) +func (i CostCategoryRuleRuleAndNotTagsArgs) ToCostCategoryRuleRuleAndNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndNotTagsOutput).ToCostCategoryRuleRuleAndNotTagsPtrOutputWithContext(ctx) } -// CostCategoryRuleRuleNotTagsPtrInput is an input type that accepts CostCategoryRuleRuleNotTagsArgs, CostCategoryRuleRuleNotTagsPtr and CostCategoryRuleRuleNotTagsPtrOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleNotTagsPtrInput` via: +// CostCategoryRuleRuleAndNotTagsPtrInput is an input type that accepts CostCategoryRuleRuleAndNotTagsArgs, CostCategoryRuleRuleAndNotTagsPtr and CostCategoryRuleRuleAndNotTagsPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndNotTagsPtrInput` via: // -// CostCategoryRuleRuleNotTagsArgs{...} +// CostCategoryRuleRuleAndNotTagsArgs{...} // // or: // // nil -type CostCategoryRuleRuleNotTagsPtrInput interface { +type CostCategoryRuleRuleAndNotTagsPtrInput interface { pulumi.Input - ToCostCategoryRuleRuleNotTagsPtrOutput() CostCategoryRuleRuleNotTagsPtrOutput - ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotTagsPtrOutput + ToCostCategoryRuleRuleAndNotTagsPtrOutput() CostCategoryRuleRuleAndNotTagsPtrOutput + ToCostCategoryRuleRuleAndNotTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndNotTagsPtrOutput } -type costCategoryRuleRuleNotTagsPtrType CostCategoryRuleRuleNotTagsArgs +type costCategoryRuleRuleAndNotTagsPtrType CostCategoryRuleRuleAndNotTagsArgs -func CostCategoryRuleRuleNotTagsPtr(v *CostCategoryRuleRuleNotTagsArgs) CostCategoryRuleRuleNotTagsPtrInput { - return (*costCategoryRuleRuleNotTagsPtrType)(v) +func CostCategoryRuleRuleAndNotTagsPtr(v *CostCategoryRuleRuleAndNotTagsArgs) CostCategoryRuleRuleAndNotTagsPtrInput { + return (*costCategoryRuleRuleAndNotTagsPtrType)(v) } -func (*costCategoryRuleRuleNotTagsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleNotTags)(nil)).Elem() +func (*costCategoryRuleRuleAndNotTagsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndNotTags)(nil)).Elem() } -func (i *costCategoryRuleRuleNotTagsPtrType) ToCostCategoryRuleRuleNotTagsPtrOutput() CostCategoryRuleRuleNotTagsPtrOutput { - return i.ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(context.Background()) +func (i *costCategoryRuleRuleAndNotTagsPtrType) ToCostCategoryRuleRuleAndNotTagsPtrOutput() CostCategoryRuleRuleAndNotTagsPtrOutput { + return i.ToCostCategoryRuleRuleAndNotTagsPtrOutputWithContext(context.Background()) } -func (i *costCategoryRuleRuleNotTagsPtrType) ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotTagsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotTagsPtrOutput) +func (i *costCategoryRuleRuleAndNotTagsPtrType) ToCostCategoryRuleRuleAndNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndNotTagsPtrOutput) } -type CostCategoryRuleRuleNotTagsOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndNotTagsOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleNotTagsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleNotTags)(nil)).Elem() +func (CostCategoryRuleRuleAndNotTagsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndNotTags)(nil)).Elem() } -func (o CostCategoryRuleRuleNotTagsOutput) ToCostCategoryRuleRuleNotTagsOutput() CostCategoryRuleRuleNotTagsOutput { +func (o CostCategoryRuleRuleAndNotTagsOutput) ToCostCategoryRuleRuleAndNotTagsOutput() CostCategoryRuleRuleAndNotTagsOutput { return o } -func (o CostCategoryRuleRuleNotTagsOutput) ToCostCategoryRuleRuleNotTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotTagsOutput { +func (o CostCategoryRuleRuleAndNotTagsOutput) ToCostCategoryRuleRuleAndNotTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotTagsOutput { return o } -func (o CostCategoryRuleRuleNotTagsOutput) ToCostCategoryRuleRuleNotTagsPtrOutput() CostCategoryRuleRuleNotTagsPtrOutput { - return o.ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(context.Background()) +func (o CostCategoryRuleRuleAndNotTagsOutput) ToCostCategoryRuleRuleAndNotTagsPtrOutput() CostCategoryRuleRuleAndNotTagsPtrOutput { + return o.ToCostCategoryRuleRuleAndNotTagsPtrOutputWithContext(context.Background()) } -func (o CostCategoryRuleRuleNotTagsOutput) ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotTagsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotTags) *CostCategoryRuleRuleNotTags { +func (o CostCategoryRuleRuleAndNotTagsOutput) ToCostCategoryRuleRuleAndNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotTagsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndNotTags) *CostCategoryRuleRuleAndNotTags { return &v - }).(CostCategoryRuleRuleNotTagsPtrOutput) + }).(CostCategoryRuleRuleAndNotTagsPtrOutput) } // Key for the tag. -func (o CostCategoryRuleRuleNotTagsOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleNotTags) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o CostCategoryRuleRuleAndNotTagsOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndNotTags) *string { return v.Key }).(pulumi.StringPtrOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleNotTagsOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleNotTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndNotTagsOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndNotTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleNotTagsOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleNotTags) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndNotTagsOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndNotTags) []string { return v.Values }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleNotTagsPtrOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndNotTagsPtrOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleNotTagsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleNotTags)(nil)).Elem() +func (CostCategoryRuleRuleAndNotTagsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndNotTags)(nil)).Elem() } -func (o CostCategoryRuleRuleNotTagsPtrOutput) ToCostCategoryRuleRuleNotTagsPtrOutput() CostCategoryRuleRuleNotTagsPtrOutput { +func (o CostCategoryRuleRuleAndNotTagsPtrOutput) ToCostCategoryRuleRuleAndNotTagsPtrOutput() CostCategoryRuleRuleAndNotTagsPtrOutput { return o } -func (o CostCategoryRuleRuleNotTagsPtrOutput) ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotTagsPtrOutput { +func (o CostCategoryRuleRuleAndNotTagsPtrOutput) ToCostCategoryRuleRuleAndNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndNotTagsPtrOutput { return o } -func (o CostCategoryRuleRuleNotTagsPtrOutput) Elem() CostCategoryRuleRuleNotTagsOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNotTags) CostCategoryRuleRuleNotTags { +func (o CostCategoryRuleRuleAndNotTagsPtrOutput) Elem() CostCategoryRuleRuleAndNotTagsOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNotTags) CostCategoryRuleRuleAndNotTags { if v != nil { return *v } - var ret CostCategoryRuleRuleNotTags + var ret CostCategoryRuleRuleAndNotTags return ret - }).(CostCategoryRuleRuleNotTagsOutput) + }).(CostCategoryRuleRuleAndNotTagsOutput) } // Key for the tag. -func (o CostCategoryRuleRuleNotTagsPtrOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNotTags) *string { +func (o CostCategoryRuleRuleAndNotTagsPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNotTags) *string { if v == nil { return nil } @@ -5035,8 +5162,8 @@ func (o CostCategoryRuleRuleNotTagsPtrOutput) Key() pulumi.StringPtrOutput { } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleNotTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNotTags) []string { +func (o CostCategoryRuleRuleAndNotTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNotTags) []string { if v == nil { return nil } @@ -5045,8 +5172,8 @@ func (o CostCategoryRuleRuleNotTagsPtrOutput) MatchOptions() pulumi.StringArrayO } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleNotTagsPtrOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleNotTags) []string { +func (o CostCategoryRuleRuleAndNotTagsPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndNotTags) []string { if v == nil { return nil } @@ -5054,116 +5181,116 @@ func (o CostCategoryRuleRuleNotTagsPtrOutput) Values() pulumi.StringArrayOutput }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleOr struct { - CostCategory *CostCategoryRuleRuleOrCostCategory `pulumi:"costCategory"` - Dimension *CostCategoryRuleRuleOrDimension `pulumi:"dimension"` +type CostCategoryRuleRuleAndOr struct { + CostCategory *CostCategoryRuleRuleAndOrCostCategory `pulumi:"costCategory"` + Dimension *CostCategoryRuleRuleAndOrDimension `pulumi:"dimension"` // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Tags *CostCategoryRuleRuleOrTags `pulumi:"tags"` + Tags *CostCategoryRuleRuleAndOrTags `pulumi:"tags"` } -// CostCategoryRuleRuleOrInput is an input type that accepts CostCategoryRuleRuleOrArgs and CostCategoryRuleRuleOrOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleOrInput` via: +// CostCategoryRuleRuleAndOrInput is an input type that accepts CostCategoryRuleRuleAndOrArgs and CostCategoryRuleRuleAndOrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndOrInput` via: // -// CostCategoryRuleRuleOrArgs{...} -type CostCategoryRuleRuleOrInput interface { +// CostCategoryRuleRuleAndOrArgs{...} +type CostCategoryRuleRuleAndOrInput interface { pulumi.Input - ToCostCategoryRuleRuleOrOutput() CostCategoryRuleRuleOrOutput - ToCostCategoryRuleRuleOrOutputWithContext(context.Context) CostCategoryRuleRuleOrOutput + ToCostCategoryRuleRuleAndOrOutput() CostCategoryRuleRuleAndOrOutput + ToCostCategoryRuleRuleAndOrOutputWithContext(context.Context) CostCategoryRuleRuleAndOrOutput } -type CostCategoryRuleRuleOrArgs struct { - CostCategory CostCategoryRuleRuleOrCostCategoryPtrInput `pulumi:"costCategory"` - Dimension CostCategoryRuleRuleOrDimensionPtrInput `pulumi:"dimension"` +type CostCategoryRuleRuleAndOrArgs struct { + CostCategory CostCategoryRuleRuleAndOrCostCategoryPtrInput `pulumi:"costCategory"` + Dimension CostCategoryRuleRuleAndOrDimensionPtrInput `pulumi:"dimension"` // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Tags CostCategoryRuleRuleOrTagsPtrInput `pulumi:"tags"` + Tags CostCategoryRuleRuleAndOrTagsPtrInput `pulumi:"tags"` } -func (CostCategoryRuleRuleOrArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleOr)(nil)).Elem() +func (CostCategoryRuleRuleAndOrArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndOr)(nil)).Elem() } -func (i CostCategoryRuleRuleOrArgs) ToCostCategoryRuleRuleOrOutput() CostCategoryRuleRuleOrOutput { - return i.ToCostCategoryRuleRuleOrOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndOrArgs) ToCostCategoryRuleRuleAndOrOutput() CostCategoryRuleRuleAndOrOutput { + return i.ToCostCategoryRuleRuleAndOrOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleOrArgs) ToCostCategoryRuleRuleOrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrOutput) +func (i CostCategoryRuleRuleAndOrArgs) ToCostCategoryRuleRuleAndOrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndOrOutput) } -// CostCategoryRuleRuleOrArrayInput is an input type that accepts CostCategoryRuleRuleOrArray and CostCategoryRuleRuleOrArrayOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleOrArrayInput` via: +// CostCategoryRuleRuleAndOrArrayInput is an input type that accepts CostCategoryRuleRuleAndOrArray and CostCategoryRuleRuleAndOrArrayOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndOrArrayInput` via: // -// CostCategoryRuleRuleOrArray{ CostCategoryRuleRuleOrArgs{...} } -type CostCategoryRuleRuleOrArrayInput interface { +// CostCategoryRuleRuleAndOrArray{ CostCategoryRuleRuleAndOrArgs{...} } +type CostCategoryRuleRuleAndOrArrayInput interface { pulumi.Input - ToCostCategoryRuleRuleOrArrayOutput() CostCategoryRuleRuleOrArrayOutput - ToCostCategoryRuleRuleOrArrayOutputWithContext(context.Context) CostCategoryRuleRuleOrArrayOutput + ToCostCategoryRuleRuleAndOrArrayOutput() CostCategoryRuleRuleAndOrArrayOutput + ToCostCategoryRuleRuleAndOrArrayOutputWithContext(context.Context) CostCategoryRuleRuleAndOrArrayOutput } -type CostCategoryRuleRuleOrArray []CostCategoryRuleRuleOrInput +type CostCategoryRuleRuleAndOrArray []CostCategoryRuleRuleAndOrInput -func (CostCategoryRuleRuleOrArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]CostCategoryRuleRuleOr)(nil)).Elem() +func (CostCategoryRuleRuleAndOrArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategoryRuleRuleAndOr)(nil)).Elem() } -func (i CostCategoryRuleRuleOrArray) ToCostCategoryRuleRuleOrArrayOutput() CostCategoryRuleRuleOrArrayOutput { - return i.ToCostCategoryRuleRuleOrArrayOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndOrArray) ToCostCategoryRuleRuleAndOrArrayOutput() CostCategoryRuleRuleAndOrArrayOutput { + return i.ToCostCategoryRuleRuleAndOrArrayOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleOrArray) ToCostCategoryRuleRuleOrArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrArrayOutput) +func (i CostCategoryRuleRuleAndOrArray) ToCostCategoryRuleRuleAndOrArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndOrArrayOutput) } -type CostCategoryRuleRuleOrOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndOrOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleOrOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleOr)(nil)).Elem() +func (CostCategoryRuleRuleAndOrOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndOr)(nil)).Elem() } -func (o CostCategoryRuleRuleOrOutput) ToCostCategoryRuleRuleOrOutput() CostCategoryRuleRuleOrOutput { +func (o CostCategoryRuleRuleAndOrOutput) ToCostCategoryRuleRuleAndOrOutput() CostCategoryRuleRuleAndOrOutput { return o } -func (o CostCategoryRuleRuleOrOutput) ToCostCategoryRuleRuleOrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOutput { +func (o CostCategoryRuleRuleAndOrOutput) ToCostCategoryRuleRuleAndOrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrOutput { return o } -func (o CostCategoryRuleRuleOrOutput) CostCategory() CostCategoryRuleRuleOrCostCategoryPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleOr) *CostCategoryRuleRuleOrCostCategory { return v.CostCategory }).(CostCategoryRuleRuleOrCostCategoryPtrOutput) +func (o CostCategoryRuleRuleAndOrOutput) CostCategory() CostCategoryRuleRuleAndOrCostCategoryPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndOr) *CostCategoryRuleRuleAndOrCostCategory { return v.CostCategory }).(CostCategoryRuleRuleAndOrCostCategoryPtrOutput) } -func (o CostCategoryRuleRuleOrOutput) Dimension() CostCategoryRuleRuleOrDimensionPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleOr) *CostCategoryRuleRuleOrDimension { return v.Dimension }).(CostCategoryRuleRuleOrDimensionPtrOutput) +func (o CostCategoryRuleRuleAndOrOutput) Dimension() CostCategoryRuleRuleAndOrDimensionPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndOr) *CostCategoryRuleRuleAndOrDimension { return v.Dimension }).(CostCategoryRuleRuleAndOrDimensionPtrOutput) } // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. -func (o CostCategoryRuleRuleOrOutput) Tags() CostCategoryRuleRuleOrTagsPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleOr) *CostCategoryRuleRuleOrTags { return v.Tags }).(CostCategoryRuleRuleOrTagsPtrOutput) +func (o CostCategoryRuleRuleAndOrOutput) Tags() CostCategoryRuleRuleAndOrTagsPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndOr) *CostCategoryRuleRuleAndOrTags { return v.Tags }).(CostCategoryRuleRuleAndOrTagsPtrOutput) } -type CostCategoryRuleRuleOrArrayOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndOrArrayOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleOrArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]CostCategoryRuleRuleOr)(nil)).Elem() +func (CostCategoryRuleRuleAndOrArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategoryRuleRuleAndOr)(nil)).Elem() } -func (o CostCategoryRuleRuleOrArrayOutput) ToCostCategoryRuleRuleOrArrayOutput() CostCategoryRuleRuleOrArrayOutput { +func (o CostCategoryRuleRuleAndOrArrayOutput) ToCostCategoryRuleRuleAndOrArrayOutput() CostCategoryRuleRuleAndOrArrayOutput { return o } -func (o CostCategoryRuleRuleOrArrayOutput) ToCostCategoryRuleRuleOrArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrArrayOutput { +func (o CostCategoryRuleRuleAndOrArrayOutput) ToCostCategoryRuleRuleAndOrArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrArrayOutput { return o } -func (o CostCategoryRuleRuleOrArrayOutput) Index(i pulumi.IntInput) CostCategoryRuleRuleOrOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) CostCategoryRuleRuleOr { - return vs[0].([]CostCategoryRuleRuleOr)[vs[1].(int)] - }).(CostCategoryRuleRuleOrOutput) +func (o CostCategoryRuleRuleAndOrArrayOutput) Index(i pulumi.IntInput) CostCategoryRuleRuleAndOrOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CostCategoryRuleRuleAndOr { + return vs[0].([]CostCategoryRuleRuleAndOr)[vs[1].(int)] + }).(CostCategoryRuleRuleAndOrOutput) } -type CostCategoryRuleRuleOrCostCategory struct { +type CostCategoryRuleRuleAndOrCostCategory struct { // Unique name of the Cost Category. Key *string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -5172,18 +5299,18 @@ type CostCategoryRuleRuleOrCostCategory struct { Values []string `pulumi:"values"` } -// CostCategoryRuleRuleOrCostCategoryInput is an input type that accepts CostCategoryRuleRuleOrCostCategoryArgs and CostCategoryRuleRuleOrCostCategoryOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleOrCostCategoryInput` via: +// CostCategoryRuleRuleAndOrCostCategoryInput is an input type that accepts CostCategoryRuleRuleAndOrCostCategoryArgs and CostCategoryRuleRuleAndOrCostCategoryOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndOrCostCategoryInput` via: // -// CostCategoryRuleRuleOrCostCategoryArgs{...} -type CostCategoryRuleRuleOrCostCategoryInput interface { +// CostCategoryRuleRuleAndOrCostCategoryArgs{...} +type CostCategoryRuleRuleAndOrCostCategoryInput interface { pulumi.Input - ToCostCategoryRuleRuleOrCostCategoryOutput() CostCategoryRuleRuleOrCostCategoryOutput - ToCostCategoryRuleRuleOrCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleOrCostCategoryOutput + ToCostCategoryRuleRuleAndOrCostCategoryOutput() CostCategoryRuleRuleAndOrCostCategoryOutput + ToCostCategoryRuleRuleAndOrCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleAndOrCostCategoryOutput } -type CostCategoryRuleRuleOrCostCategoryArgs struct { +type CostCategoryRuleRuleAndOrCostCategoryArgs struct { // Unique name of the Cost Category. Key pulumi.StringPtrInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -5192,125 +5319,125 @@ type CostCategoryRuleRuleOrCostCategoryArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (CostCategoryRuleRuleOrCostCategoryArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleOrCostCategory)(nil)).Elem() +func (CostCategoryRuleRuleAndOrCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndOrCostCategory)(nil)).Elem() } -func (i CostCategoryRuleRuleOrCostCategoryArgs) ToCostCategoryRuleRuleOrCostCategoryOutput() CostCategoryRuleRuleOrCostCategoryOutput { - return i.ToCostCategoryRuleRuleOrCostCategoryOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndOrCostCategoryArgs) ToCostCategoryRuleRuleAndOrCostCategoryOutput() CostCategoryRuleRuleAndOrCostCategoryOutput { + return i.ToCostCategoryRuleRuleAndOrCostCategoryOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleOrCostCategoryArgs) ToCostCategoryRuleRuleOrCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrCostCategoryOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrCostCategoryOutput) +func (i CostCategoryRuleRuleAndOrCostCategoryArgs) ToCostCategoryRuleRuleAndOrCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndOrCostCategoryOutput) } -func (i CostCategoryRuleRuleOrCostCategoryArgs) ToCostCategoryRuleRuleOrCostCategoryPtrOutput() CostCategoryRuleRuleOrCostCategoryPtrOutput { - return i.ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndOrCostCategoryArgs) ToCostCategoryRuleRuleAndOrCostCategoryPtrOutput() CostCategoryRuleRuleAndOrCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleAndOrCostCategoryPtrOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleOrCostCategoryArgs) ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrCostCategoryPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrCostCategoryOutput).ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(ctx) +func (i CostCategoryRuleRuleAndOrCostCategoryArgs) ToCostCategoryRuleRuleAndOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndOrCostCategoryOutput).ToCostCategoryRuleRuleAndOrCostCategoryPtrOutputWithContext(ctx) } -// CostCategoryRuleRuleOrCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleOrCostCategoryArgs, CostCategoryRuleRuleOrCostCategoryPtr and CostCategoryRuleRuleOrCostCategoryPtrOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleOrCostCategoryPtrInput` via: +// CostCategoryRuleRuleAndOrCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleAndOrCostCategoryArgs, CostCategoryRuleRuleAndOrCostCategoryPtr and CostCategoryRuleRuleAndOrCostCategoryPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndOrCostCategoryPtrInput` via: // -// CostCategoryRuleRuleOrCostCategoryArgs{...} +// CostCategoryRuleRuleAndOrCostCategoryArgs{...} // // or: // // nil -type CostCategoryRuleRuleOrCostCategoryPtrInput interface { +type CostCategoryRuleRuleAndOrCostCategoryPtrInput interface { pulumi.Input - ToCostCategoryRuleRuleOrCostCategoryPtrOutput() CostCategoryRuleRuleOrCostCategoryPtrOutput - ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrCostCategoryPtrOutput + ToCostCategoryRuleRuleAndOrCostCategoryPtrOutput() CostCategoryRuleRuleAndOrCostCategoryPtrOutput + ToCostCategoryRuleRuleAndOrCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndOrCostCategoryPtrOutput } -type costCategoryRuleRuleOrCostCategoryPtrType CostCategoryRuleRuleOrCostCategoryArgs +type costCategoryRuleRuleAndOrCostCategoryPtrType CostCategoryRuleRuleAndOrCostCategoryArgs -func CostCategoryRuleRuleOrCostCategoryPtr(v *CostCategoryRuleRuleOrCostCategoryArgs) CostCategoryRuleRuleOrCostCategoryPtrInput { - return (*costCategoryRuleRuleOrCostCategoryPtrType)(v) +func CostCategoryRuleRuleAndOrCostCategoryPtr(v *CostCategoryRuleRuleAndOrCostCategoryArgs) CostCategoryRuleRuleAndOrCostCategoryPtrInput { + return (*costCategoryRuleRuleAndOrCostCategoryPtrType)(v) } -func (*costCategoryRuleRuleOrCostCategoryPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleOrCostCategory)(nil)).Elem() +func (*costCategoryRuleRuleAndOrCostCategoryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndOrCostCategory)(nil)).Elem() } -func (i *costCategoryRuleRuleOrCostCategoryPtrType) ToCostCategoryRuleRuleOrCostCategoryPtrOutput() CostCategoryRuleRuleOrCostCategoryPtrOutput { - return i.ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(context.Background()) +func (i *costCategoryRuleRuleAndOrCostCategoryPtrType) ToCostCategoryRuleRuleAndOrCostCategoryPtrOutput() CostCategoryRuleRuleAndOrCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleAndOrCostCategoryPtrOutputWithContext(context.Background()) } -func (i *costCategoryRuleRuleOrCostCategoryPtrType) ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrCostCategoryPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrCostCategoryPtrOutput) +func (i *costCategoryRuleRuleAndOrCostCategoryPtrType) ToCostCategoryRuleRuleAndOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndOrCostCategoryPtrOutput) } -type CostCategoryRuleRuleOrCostCategoryOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndOrCostCategoryOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleOrCostCategoryOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleOrCostCategory)(nil)).Elem() +func (CostCategoryRuleRuleAndOrCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndOrCostCategory)(nil)).Elem() } -func (o CostCategoryRuleRuleOrCostCategoryOutput) ToCostCategoryRuleRuleOrCostCategoryOutput() CostCategoryRuleRuleOrCostCategoryOutput { +func (o CostCategoryRuleRuleAndOrCostCategoryOutput) ToCostCategoryRuleRuleAndOrCostCategoryOutput() CostCategoryRuleRuleAndOrCostCategoryOutput { return o } -func (o CostCategoryRuleRuleOrCostCategoryOutput) ToCostCategoryRuleRuleOrCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrCostCategoryOutput { +func (o CostCategoryRuleRuleAndOrCostCategoryOutput) ToCostCategoryRuleRuleAndOrCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrCostCategoryOutput { return o } -func (o CostCategoryRuleRuleOrCostCategoryOutput) ToCostCategoryRuleRuleOrCostCategoryPtrOutput() CostCategoryRuleRuleOrCostCategoryPtrOutput { - return o.ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(context.Background()) +func (o CostCategoryRuleRuleAndOrCostCategoryOutput) ToCostCategoryRuleRuleAndOrCostCategoryPtrOutput() CostCategoryRuleRuleAndOrCostCategoryPtrOutput { + return o.ToCostCategoryRuleRuleAndOrCostCategoryPtrOutputWithContext(context.Background()) } -func (o CostCategoryRuleRuleOrCostCategoryOutput) ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrCostCategoryPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrCostCategory) *CostCategoryRuleRuleOrCostCategory { +func (o CostCategoryRuleRuleAndOrCostCategoryOutput) ToCostCategoryRuleRuleAndOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrCostCategoryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndOrCostCategory) *CostCategoryRuleRuleAndOrCostCategory { return &v - }).(CostCategoryRuleRuleOrCostCategoryPtrOutput) + }).(CostCategoryRuleRuleAndOrCostCategoryPtrOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleOrCostCategoryOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleOrCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o CostCategoryRuleRuleAndOrCostCategoryOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndOrCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleOrCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleOrCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndOrCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndOrCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleOrCostCategoryOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleOrCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndOrCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndOrCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleOrCostCategoryPtrOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndOrCostCategoryPtrOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleOrCostCategoryPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleOrCostCategory)(nil)).Elem() +func (CostCategoryRuleRuleAndOrCostCategoryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndOrCostCategory)(nil)).Elem() } -func (o CostCategoryRuleRuleOrCostCategoryPtrOutput) ToCostCategoryRuleRuleOrCostCategoryPtrOutput() CostCategoryRuleRuleOrCostCategoryPtrOutput { +func (o CostCategoryRuleRuleAndOrCostCategoryPtrOutput) ToCostCategoryRuleRuleAndOrCostCategoryPtrOutput() CostCategoryRuleRuleAndOrCostCategoryPtrOutput { return o } -func (o CostCategoryRuleRuleOrCostCategoryPtrOutput) ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrCostCategoryPtrOutput { +func (o CostCategoryRuleRuleAndOrCostCategoryPtrOutput) ToCostCategoryRuleRuleAndOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrCostCategoryPtrOutput { return o } -func (o CostCategoryRuleRuleOrCostCategoryPtrOutput) Elem() CostCategoryRuleRuleOrCostCategoryOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleOrCostCategory) CostCategoryRuleRuleOrCostCategory { +func (o CostCategoryRuleRuleAndOrCostCategoryPtrOutput) Elem() CostCategoryRuleRuleAndOrCostCategoryOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndOrCostCategory) CostCategoryRuleRuleAndOrCostCategory { if v != nil { return *v } - var ret CostCategoryRuleRuleOrCostCategory + var ret CostCategoryRuleRuleAndOrCostCategory return ret - }).(CostCategoryRuleRuleOrCostCategoryOutput) + }).(CostCategoryRuleRuleAndOrCostCategoryOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleOrCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleOrCostCategory) *string { +func (o CostCategoryRuleRuleAndOrCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndOrCostCategory) *string { if v == nil { return nil } @@ -5319,8 +5446,8 @@ func (o CostCategoryRuleRuleOrCostCategoryPtrOutput) Key() pulumi.StringPtrOutpu } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleOrCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleOrCostCategory) []string { +func (o CostCategoryRuleRuleAndOrCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndOrCostCategory) []string { if v == nil { return nil } @@ -5329,8 +5456,8 @@ func (o CostCategoryRuleRuleOrCostCategoryPtrOutput) MatchOptions() pulumi.Strin } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleOrCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleOrCostCategory) []string { +func (o CostCategoryRuleRuleAndOrCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndOrCostCategory) []string { if v == nil { return nil } @@ -5338,7 +5465,7 @@ func (o CostCategoryRuleRuleOrCostCategoryPtrOutput) Values() pulumi.StringArray }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleOrDimension struct { +type CostCategoryRuleRuleAndOrDimension struct { // Unique name of the Cost Category. Key *string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -5347,18 +5474,18 @@ type CostCategoryRuleRuleOrDimension struct { Values []string `pulumi:"values"` } -// CostCategoryRuleRuleOrDimensionInput is an input type that accepts CostCategoryRuleRuleOrDimensionArgs and CostCategoryRuleRuleOrDimensionOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleOrDimensionInput` via: +// CostCategoryRuleRuleAndOrDimensionInput is an input type that accepts CostCategoryRuleRuleAndOrDimensionArgs and CostCategoryRuleRuleAndOrDimensionOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndOrDimensionInput` via: // -// CostCategoryRuleRuleOrDimensionArgs{...} -type CostCategoryRuleRuleOrDimensionInput interface { +// CostCategoryRuleRuleAndOrDimensionArgs{...} +type CostCategoryRuleRuleAndOrDimensionInput interface { pulumi.Input - ToCostCategoryRuleRuleOrDimensionOutput() CostCategoryRuleRuleOrDimensionOutput - ToCostCategoryRuleRuleOrDimensionOutputWithContext(context.Context) CostCategoryRuleRuleOrDimensionOutput + ToCostCategoryRuleRuleAndOrDimensionOutput() CostCategoryRuleRuleAndOrDimensionOutput + ToCostCategoryRuleRuleAndOrDimensionOutputWithContext(context.Context) CostCategoryRuleRuleAndOrDimensionOutput } -type CostCategoryRuleRuleOrDimensionArgs struct { +type CostCategoryRuleRuleAndOrDimensionArgs struct { // Unique name of the Cost Category. Key pulumi.StringPtrInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -5367,125 +5494,125 @@ type CostCategoryRuleRuleOrDimensionArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (CostCategoryRuleRuleOrDimensionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleOrDimension)(nil)).Elem() +func (CostCategoryRuleRuleAndOrDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndOrDimension)(nil)).Elem() } -func (i CostCategoryRuleRuleOrDimensionArgs) ToCostCategoryRuleRuleOrDimensionOutput() CostCategoryRuleRuleOrDimensionOutput { - return i.ToCostCategoryRuleRuleOrDimensionOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndOrDimensionArgs) ToCostCategoryRuleRuleAndOrDimensionOutput() CostCategoryRuleRuleAndOrDimensionOutput { + return i.ToCostCategoryRuleRuleAndOrDimensionOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleOrDimensionArgs) ToCostCategoryRuleRuleOrDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrDimensionOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrDimensionOutput) +func (i CostCategoryRuleRuleAndOrDimensionArgs) ToCostCategoryRuleRuleAndOrDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndOrDimensionOutput) } -func (i CostCategoryRuleRuleOrDimensionArgs) ToCostCategoryRuleRuleOrDimensionPtrOutput() CostCategoryRuleRuleOrDimensionPtrOutput { - return i.ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndOrDimensionArgs) ToCostCategoryRuleRuleAndOrDimensionPtrOutput() CostCategoryRuleRuleAndOrDimensionPtrOutput { + return i.ToCostCategoryRuleRuleAndOrDimensionPtrOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleOrDimensionArgs) ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrDimensionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrDimensionOutput).ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(ctx) +func (i CostCategoryRuleRuleAndOrDimensionArgs) ToCostCategoryRuleRuleAndOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndOrDimensionOutput).ToCostCategoryRuleRuleAndOrDimensionPtrOutputWithContext(ctx) } -// CostCategoryRuleRuleOrDimensionPtrInput is an input type that accepts CostCategoryRuleRuleOrDimensionArgs, CostCategoryRuleRuleOrDimensionPtr and CostCategoryRuleRuleOrDimensionPtrOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleOrDimensionPtrInput` via: +// CostCategoryRuleRuleAndOrDimensionPtrInput is an input type that accepts CostCategoryRuleRuleAndOrDimensionArgs, CostCategoryRuleRuleAndOrDimensionPtr and CostCategoryRuleRuleAndOrDimensionPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndOrDimensionPtrInput` via: // -// CostCategoryRuleRuleOrDimensionArgs{...} +// CostCategoryRuleRuleAndOrDimensionArgs{...} // // or: // // nil -type CostCategoryRuleRuleOrDimensionPtrInput interface { +type CostCategoryRuleRuleAndOrDimensionPtrInput interface { pulumi.Input - ToCostCategoryRuleRuleOrDimensionPtrOutput() CostCategoryRuleRuleOrDimensionPtrOutput - ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrDimensionPtrOutput + ToCostCategoryRuleRuleAndOrDimensionPtrOutput() CostCategoryRuleRuleAndOrDimensionPtrOutput + ToCostCategoryRuleRuleAndOrDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndOrDimensionPtrOutput } -type costCategoryRuleRuleOrDimensionPtrType CostCategoryRuleRuleOrDimensionArgs +type costCategoryRuleRuleAndOrDimensionPtrType CostCategoryRuleRuleAndOrDimensionArgs -func CostCategoryRuleRuleOrDimensionPtr(v *CostCategoryRuleRuleOrDimensionArgs) CostCategoryRuleRuleOrDimensionPtrInput { - return (*costCategoryRuleRuleOrDimensionPtrType)(v) +func CostCategoryRuleRuleAndOrDimensionPtr(v *CostCategoryRuleRuleAndOrDimensionArgs) CostCategoryRuleRuleAndOrDimensionPtrInput { + return (*costCategoryRuleRuleAndOrDimensionPtrType)(v) } -func (*costCategoryRuleRuleOrDimensionPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleOrDimension)(nil)).Elem() +func (*costCategoryRuleRuleAndOrDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndOrDimension)(nil)).Elem() } -func (i *costCategoryRuleRuleOrDimensionPtrType) ToCostCategoryRuleRuleOrDimensionPtrOutput() CostCategoryRuleRuleOrDimensionPtrOutput { - return i.ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(context.Background()) +func (i *costCategoryRuleRuleAndOrDimensionPtrType) ToCostCategoryRuleRuleAndOrDimensionPtrOutput() CostCategoryRuleRuleAndOrDimensionPtrOutput { + return i.ToCostCategoryRuleRuleAndOrDimensionPtrOutputWithContext(context.Background()) } -func (i *costCategoryRuleRuleOrDimensionPtrType) ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrDimensionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrDimensionPtrOutput) +func (i *costCategoryRuleRuleAndOrDimensionPtrType) ToCostCategoryRuleRuleAndOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndOrDimensionPtrOutput) } -type CostCategoryRuleRuleOrDimensionOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndOrDimensionOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleOrDimensionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleOrDimension)(nil)).Elem() +func (CostCategoryRuleRuleAndOrDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndOrDimension)(nil)).Elem() } -func (o CostCategoryRuleRuleOrDimensionOutput) ToCostCategoryRuleRuleOrDimensionOutput() CostCategoryRuleRuleOrDimensionOutput { +func (o CostCategoryRuleRuleAndOrDimensionOutput) ToCostCategoryRuleRuleAndOrDimensionOutput() CostCategoryRuleRuleAndOrDimensionOutput { return o } -func (o CostCategoryRuleRuleOrDimensionOutput) ToCostCategoryRuleRuleOrDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrDimensionOutput { +func (o CostCategoryRuleRuleAndOrDimensionOutput) ToCostCategoryRuleRuleAndOrDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrDimensionOutput { return o } -func (o CostCategoryRuleRuleOrDimensionOutput) ToCostCategoryRuleRuleOrDimensionPtrOutput() CostCategoryRuleRuleOrDimensionPtrOutput { - return o.ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(context.Background()) +func (o CostCategoryRuleRuleAndOrDimensionOutput) ToCostCategoryRuleRuleAndOrDimensionPtrOutput() CostCategoryRuleRuleAndOrDimensionPtrOutput { + return o.ToCostCategoryRuleRuleAndOrDimensionPtrOutputWithContext(context.Background()) } -func (o CostCategoryRuleRuleOrDimensionOutput) ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrDimensionPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrDimension) *CostCategoryRuleRuleOrDimension { +func (o CostCategoryRuleRuleAndOrDimensionOutput) ToCostCategoryRuleRuleAndOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndOrDimension) *CostCategoryRuleRuleAndOrDimension { return &v - }).(CostCategoryRuleRuleOrDimensionPtrOutput) + }).(CostCategoryRuleRuleAndOrDimensionPtrOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleOrDimensionOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleOrDimension) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o CostCategoryRuleRuleAndOrDimensionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndOrDimension) *string { return v.Key }).(pulumi.StringPtrOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleOrDimensionOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleOrDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndOrDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndOrDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleOrDimensionOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleOrDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndOrDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndOrDimension) []string { return v.Values }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleOrDimensionPtrOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndOrDimensionPtrOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleOrDimensionPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleOrDimension)(nil)).Elem() +func (CostCategoryRuleRuleAndOrDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndOrDimension)(nil)).Elem() } -func (o CostCategoryRuleRuleOrDimensionPtrOutput) ToCostCategoryRuleRuleOrDimensionPtrOutput() CostCategoryRuleRuleOrDimensionPtrOutput { +func (o CostCategoryRuleRuleAndOrDimensionPtrOutput) ToCostCategoryRuleRuleAndOrDimensionPtrOutput() CostCategoryRuleRuleAndOrDimensionPtrOutput { return o } -func (o CostCategoryRuleRuleOrDimensionPtrOutput) ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrDimensionPtrOutput { +func (o CostCategoryRuleRuleAndOrDimensionPtrOutput) ToCostCategoryRuleRuleAndOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrDimensionPtrOutput { return o } -func (o CostCategoryRuleRuleOrDimensionPtrOutput) Elem() CostCategoryRuleRuleOrDimensionOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleOrDimension) CostCategoryRuleRuleOrDimension { +func (o CostCategoryRuleRuleAndOrDimensionPtrOutput) Elem() CostCategoryRuleRuleAndOrDimensionOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndOrDimension) CostCategoryRuleRuleAndOrDimension { if v != nil { return *v } - var ret CostCategoryRuleRuleOrDimension + var ret CostCategoryRuleRuleAndOrDimension return ret - }).(CostCategoryRuleRuleOrDimensionOutput) + }).(CostCategoryRuleRuleAndOrDimensionOutput) } // Unique name of the Cost Category. -func (o CostCategoryRuleRuleOrDimensionPtrOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleOrDimension) *string { +func (o CostCategoryRuleRuleAndOrDimensionPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndOrDimension) *string { if v == nil { return nil } @@ -5494,8 +5621,8 @@ func (o CostCategoryRuleRuleOrDimensionPtrOutput) Key() pulumi.StringPtrOutput { } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleOrDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleOrDimension) []string { +func (o CostCategoryRuleRuleAndOrDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndOrDimension) []string { if v == nil { return nil } @@ -5504,8 +5631,8 @@ func (o CostCategoryRuleRuleOrDimensionPtrOutput) MatchOptions() pulumi.StringAr } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleOrDimensionPtrOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleOrDimension) []string { +func (o CostCategoryRuleRuleAndOrDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndOrDimension) []string { if v == nil { return nil } @@ -5513,7 +5640,7 @@ func (o CostCategoryRuleRuleOrDimensionPtrOutput) Values() pulumi.StringArrayOut }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleOrTags struct { +type CostCategoryRuleRuleAndOrTags struct { // Key for the tag. Key *string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -5522,18 +5649,18 @@ type CostCategoryRuleRuleOrTags struct { Values []string `pulumi:"values"` } -// CostCategoryRuleRuleOrTagsInput is an input type that accepts CostCategoryRuleRuleOrTagsArgs and CostCategoryRuleRuleOrTagsOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleOrTagsInput` via: +// CostCategoryRuleRuleAndOrTagsInput is an input type that accepts CostCategoryRuleRuleAndOrTagsArgs and CostCategoryRuleRuleAndOrTagsOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndOrTagsInput` via: // -// CostCategoryRuleRuleOrTagsArgs{...} -type CostCategoryRuleRuleOrTagsInput interface { +// CostCategoryRuleRuleAndOrTagsArgs{...} +type CostCategoryRuleRuleAndOrTagsInput interface { pulumi.Input - ToCostCategoryRuleRuleOrTagsOutput() CostCategoryRuleRuleOrTagsOutput - ToCostCategoryRuleRuleOrTagsOutputWithContext(context.Context) CostCategoryRuleRuleOrTagsOutput + ToCostCategoryRuleRuleAndOrTagsOutput() CostCategoryRuleRuleAndOrTagsOutput + ToCostCategoryRuleRuleAndOrTagsOutputWithContext(context.Context) CostCategoryRuleRuleAndOrTagsOutput } -type CostCategoryRuleRuleOrTagsArgs struct { +type CostCategoryRuleRuleAndOrTagsArgs struct { // Key for the tag. Key pulumi.StringPtrInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -5542,125 +5669,125 @@ type CostCategoryRuleRuleOrTagsArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (CostCategoryRuleRuleOrTagsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleOrTags)(nil)).Elem() +func (CostCategoryRuleRuleAndOrTagsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndOrTags)(nil)).Elem() } -func (i CostCategoryRuleRuleOrTagsArgs) ToCostCategoryRuleRuleOrTagsOutput() CostCategoryRuleRuleOrTagsOutput { - return i.ToCostCategoryRuleRuleOrTagsOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndOrTagsArgs) ToCostCategoryRuleRuleAndOrTagsOutput() CostCategoryRuleRuleAndOrTagsOutput { + return i.ToCostCategoryRuleRuleAndOrTagsOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleOrTagsArgs) ToCostCategoryRuleRuleOrTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrTagsOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrTagsOutput) +func (i CostCategoryRuleRuleAndOrTagsArgs) ToCostCategoryRuleRuleAndOrTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrTagsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndOrTagsOutput) } -func (i CostCategoryRuleRuleOrTagsArgs) ToCostCategoryRuleRuleOrTagsPtrOutput() CostCategoryRuleRuleOrTagsPtrOutput { - return i.ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndOrTagsArgs) ToCostCategoryRuleRuleAndOrTagsPtrOutput() CostCategoryRuleRuleAndOrTagsPtrOutput { + return i.ToCostCategoryRuleRuleAndOrTagsPtrOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleOrTagsArgs) ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrTagsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrTagsOutput).ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(ctx) +func (i CostCategoryRuleRuleAndOrTagsArgs) ToCostCategoryRuleRuleAndOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndOrTagsOutput).ToCostCategoryRuleRuleAndOrTagsPtrOutputWithContext(ctx) } -// CostCategoryRuleRuleOrTagsPtrInput is an input type that accepts CostCategoryRuleRuleOrTagsArgs, CostCategoryRuleRuleOrTagsPtr and CostCategoryRuleRuleOrTagsPtrOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleOrTagsPtrInput` via: +// CostCategoryRuleRuleAndOrTagsPtrInput is an input type that accepts CostCategoryRuleRuleAndOrTagsArgs, CostCategoryRuleRuleAndOrTagsPtr and CostCategoryRuleRuleAndOrTagsPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndOrTagsPtrInput` via: // -// CostCategoryRuleRuleOrTagsArgs{...} +// CostCategoryRuleRuleAndOrTagsArgs{...} // // or: // // nil -type CostCategoryRuleRuleOrTagsPtrInput interface { +type CostCategoryRuleRuleAndOrTagsPtrInput interface { pulumi.Input - ToCostCategoryRuleRuleOrTagsPtrOutput() CostCategoryRuleRuleOrTagsPtrOutput - ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrTagsPtrOutput + ToCostCategoryRuleRuleAndOrTagsPtrOutput() CostCategoryRuleRuleAndOrTagsPtrOutput + ToCostCategoryRuleRuleAndOrTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndOrTagsPtrOutput } -type costCategoryRuleRuleOrTagsPtrType CostCategoryRuleRuleOrTagsArgs +type costCategoryRuleRuleAndOrTagsPtrType CostCategoryRuleRuleAndOrTagsArgs -func CostCategoryRuleRuleOrTagsPtr(v *CostCategoryRuleRuleOrTagsArgs) CostCategoryRuleRuleOrTagsPtrInput { - return (*costCategoryRuleRuleOrTagsPtrType)(v) +func CostCategoryRuleRuleAndOrTagsPtr(v *CostCategoryRuleRuleAndOrTagsArgs) CostCategoryRuleRuleAndOrTagsPtrInput { + return (*costCategoryRuleRuleAndOrTagsPtrType)(v) } -func (*costCategoryRuleRuleOrTagsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleOrTags)(nil)).Elem() +func (*costCategoryRuleRuleAndOrTagsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndOrTags)(nil)).Elem() } -func (i *costCategoryRuleRuleOrTagsPtrType) ToCostCategoryRuleRuleOrTagsPtrOutput() CostCategoryRuleRuleOrTagsPtrOutput { - return i.ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(context.Background()) +func (i *costCategoryRuleRuleAndOrTagsPtrType) ToCostCategoryRuleRuleAndOrTagsPtrOutput() CostCategoryRuleRuleAndOrTagsPtrOutput { + return i.ToCostCategoryRuleRuleAndOrTagsPtrOutputWithContext(context.Background()) } -func (i *costCategoryRuleRuleOrTagsPtrType) ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrTagsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrTagsPtrOutput) +func (i *costCategoryRuleRuleAndOrTagsPtrType) ToCostCategoryRuleRuleAndOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndOrTagsPtrOutput) } -type CostCategoryRuleRuleOrTagsOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndOrTagsOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleOrTagsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleOrTags)(nil)).Elem() +func (CostCategoryRuleRuleAndOrTagsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndOrTags)(nil)).Elem() } -func (o CostCategoryRuleRuleOrTagsOutput) ToCostCategoryRuleRuleOrTagsOutput() CostCategoryRuleRuleOrTagsOutput { +func (o CostCategoryRuleRuleAndOrTagsOutput) ToCostCategoryRuleRuleAndOrTagsOutput() CostCategoryRuleRuleAndOrTagsOutput { return o } -func (o CostCategoryRuleRuleOrTagsOutput) ToCostCategoryRuleRuleOrTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrTagsOutput { +func (o CostCategoryRuleRuleAndOrTagsOutput) ToCostCategoryRuleRuleAndOrTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrTagsOutput { return o } -func (o CostCategoryRuleRuleOrTagsOutput) ToCostCategoryRuleRuleOrTagsPtrOutput() CostCategoryRuleRuleOrTagsPtrOutput { - return o.ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(context.Background()) +func (o CostCategoryRuleRuleAndOrTagsOutput) ToCostCategoryRuleRuleAndOrTagsPtrOutput() CostCategoryRuleRuleAndOrTagsPtrOutput { + return o.ToCostCategoryRuleRuleAndOrTagsPtrOutputWithContext(context.Background()) } -func (o CostCategoryRuleRuleOrTagsOutput) ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrTagsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrTags) *CostCategoryRuleRuleOrTags { +func (o CostCategoryRuleRuleAndOrTagsOutput) ToCostCategoryRuleRuleAndOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrTagsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndOrTags) *CostCategoryRuleRuleAndOrTags { return &v - }).(CostCategoryRuleRuleOrTagsPtrOutput) + }).(CostCategoryRuleRuleAndOrTagsPtrOutput) } // Key for the tag. -func (o CostCategoryRuleRuleOrTagsOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleOrTags) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o CostCategoryRuleRuleAndOrTagsOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndOrTags) *string { return v.Key }).(pulumi.StringPtrOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleOrTagsOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleOrTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndOrTagsOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndOrTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleOrTagsOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleOrTags) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndOrTagsOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndOrTags) []string { return v.Values }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleOrTagsPtrOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndOrTagsPtrOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleOrTagsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleOrTags)(nil)).Elem() +func (CostCategoryRuleRuleAndOrTagsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndOrTags)(nil)).Elem() } -func (o CostCategoryRuleRuleOrTagsPtrOutput) ToCostCategoryRuleRuleOrTagsPtrOutput() CostCategoryRuleRuleOrTagsPtrOutput { +func (o CostCategoryRuleRuleAndOrTagsPtrOutput) ToCostCategoryRuleRuleAndOrTagsPtrOutput() CostCategoryRuleRuleAndOrTagsPtrOutput { return o } -func (o CostCategoryRuleRuleOrTagsPtrOutput) ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrTagsPtrOutput { +func (o CostCategoryRuleRuleAndOrTagsPtrOutput) ToCostCategoryRuleRuleAndOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndOrTagsPtrOutput { return o } -func (o CostCategoryRuleRuleOrTagsPtrOutput) Elem() CostCategoryRuleRuleOrTagsOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleOrTags) CostCategoryRuleRuleOrTags { +func (o CostCategoryRuleRuleAndOrTagsPtrOutput) Elem() CostCategoryRuleRuleAndOrTagsOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndOrTags) CostCategoryRuleRuleAndOrTags { if v != nil { return *v } - var ret CostCategoryRuleRuleOrTags + var ret CostCategoryRuleRuleAndOrTags return ret - }).(CostCategoryRuleRuleOrTagsOutput) + }).(CostCategoryRuleRuleAndOrTagsOutput) } // Key for the tag. -func (o CostCategoryRuleRuleOrTagsPtrOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleOrTags) *string { +func (o CostCategoryRuleRuleAndOrTagsPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndOrTags) *string { if v == nil { return nil } @@ -5669,8 +5796,8 @@ func (o CostCategoryRuleRuleOrTagsPtrOutput) Key() pulumi.StringPtrOutput { } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleOrTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleOrTags) []string { +func (o CostCategoryRuleRuleAndOrTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndOrTags) []string { if v == nil { return nil } @@ -5679,8 +5806,8 @@ func (o CostCategoryRuleRuleOrTagsPtrOutput) MatchOptions() pulumi.StringArrayOu } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleOrTagsPtrOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleOrTags) []string { +func (o CostCategoryRuleRuleAndOrTagsPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndOrTags) []string { if v == nil { return nil } @@ -5688,7 +5815,7 @@ func (o CostCategoryRuleRuleOrTagsPtrOutput) Values() pulumi.StringArrayOutput { }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleTags struct { +type CostCategoryRuleRuleAndTags struct { // Key for the tag. Key *string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -5697,18 +5824,18 @@ type CostCategoryRuleRuleTags struct { Values []string `pulumi:"values"` } -// CostCategoryRuleRuleTagsInput is an input type that accepts CostCategoryRuleRuleTagsArgs and CostCategoryRuleRuleTagsOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleTagsInput` via: +// CostCategoryRuleRuleAndTagsInput is an input type that accepts CostCategoryRuleRuleAndTagsArgs and CostCategoryRuleRuleAndTagsOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndTagsInput` via: // -// CostCategoryRuleRuleTagsArgs{...} -type CostCategoryRuleRuleTagsInput interface { +// CostCategoryRuleRuleAndTagsArgs{...} +type CostCategoryRuleRuleAndTagsInput interface { pulumi.Input - ToCostCategoryRuleRuleTagsOutput() CostCategoryRuleRuleTagsOutput - ToCostCategoryRuleRuleTagsOutputWithContext(context.Context) CostCategoryRuleRuleTagsOutput + ToCostCategoryRuleRuleAndTagsOutput() CostCategoryRuleRuleAndTagsOutput + ToCostCategoryRuleRuleAndTagsOutputWithContext(context.Context) CostCategoryRuleRuleAndTagsOutput } -type CostCategoryRuleRuleTagsArgs struct { +type CostCategoryRuleRuleAndTagsArgs struct { // Key for the tag. Key pulumi.StringPtrInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -5717,125 +5844,125 @@ type CostCategoryRuleRuleTagsArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (CostCategoryRuleRuleTagsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleTags)(nil)).Elem() +func (CostCategoryRuleRuleAndTagsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndTags)(nil)).Elem() } -func (i CostCategoryRuleRuleTagsArgs) ToCostCategoryRuleRuleTagsOutput() CostCategoryRuleRuleTagsOutput { - return i.ToCostCategoryRuleRuleTagsOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndTagsArgs) ToCostCategoryRuleRuleAndTagsOutput() CostCategoryRuleRuleAndTagsOutput { + return i.ToCostCategoryRuleRuleAndTagsOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleTagsArgs) ToCostCategoryRuleRuleTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleTagsOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleTagsOutput) +func (i CostCategoryRuleRuleAndTagsArgs) ToCostCategoryRuleRuleAndTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndTagsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndTagsOutput) } -func (i CostCategoryRuleRuleTagsArgs) ToCostCategoryRuleRuleTagsPtrOutput() CostCategoryRuleRuleTagsPtrOutput { - return i.ToCostCategoryRuleRuleTagsPtrOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleAndTagsArgs) ToCostCategoryRuleRuleAndTagsPtrOutput() CostCategoryRuleRuleAndTagsPtrOutput { + return i.ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(context.Background()) } -func (i CostCategoryRuleRuleTagsArgs) ToCostCategoryRuleRuleTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleTagsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleTagsOutput).ToCostCategoryRuleRuleTagsPtrOutputWithContext(ctx) +func (i CostCategoryRuleRuleAndTagsArgs) ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndTagsOutput).ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(ctx) } -// CostCategoryRuleRuleTagsPtrInput is an input type that accepts CostCategoryRuleRuleTagsArgs, CostCategoryRuleRuleTagsPtr and CostCategoryRuleRuleTagsPtrOutput values. -// You can construct a concrete instance of `CostCategoryRuleRuleTagsPtrInput` via: +// CostCategoryRuleRuleAndTagsPtrInput is an input type that accepts CostCategoryRuleRuleAndTagsArgs, CostCategoryRuleRuleAndTagsPtr and CostCategoryRuleRuleAndTagsPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleAndTagsPtrInput` via: // -// CostCategoryRuleRuleTagsArgs{...} +// CostCategoryRuleRuleAndTagsArgs{...} // // or: // // nil -type CostCategoryRuleRuleTagsPtrInput interface { +type CostCategoryRuleRuleAndTagsPtrInput interface { pulumi.Input - ToCostCategoryRuleRuleTagsPtrOutput() CostCategoryRuleRuleTagsPtrOutput - ToCostCategoryRuleRuleTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleTagsPtrOutput + ToCostCategoryRuleRuleAndTagsPtrOutput() CostCategoryRuleRuleAndTagsPtrOutput + ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleAndTagsPtrOutput } -type costCategoryRuleRuleTagsPtrType CostCategoryRuleRuleTagsArgs +type costCategoryRuleRuleAndTagsPtrType CostCategoryRuleRuleAndTagsArgs -func CostCategoryRuleRuleTagsPtr(v *CostCategoryRuleRuleTagsArgs) CostCategoryRuleRuleTagsPtrInput { - return (*costCategoryRuleRuleTagsPtrType)(v) +func CostCategoryRuleRuleAndTagsPtr(v *CostCategoryRuleRuleAndTagsArgs) CostCategoryRuleRuleAndTagsPtrInput { + return (*costCategoryRuleRuleAndTagsPtrType)(v) } -func (*costCategoryRuleRuleTagsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleTags)(nil)).Elem() +func (*costCategoryRuleRuleAndTagsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndTags)(nil)).Elem() } -func (i *costCategoryRuleRuleTagsPtrType) ToCostCategoryRuleRuleTagsPtrOutput() CostCategoryRuleRuleTagsPtrOutput { - return i.ToCostCategoryRuleRuleTagsPtrOutputWithContext(context.Background()) +func (i *costCategoryRuleRuleAndTagsPtrType) ToCostCategoryRuleRuleAndTagsPtrOutput() CostCategoryRuleRuleAndTagsPtrOutput { + return i.ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(context.Background()) } -func (i *costCategoryRuleRuleTagsPtrType) ToCostCategoryRuleRuleTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleTagsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleTagsPtrOutput) +func (i *costCategoryRuleRuleAndTagsPtrType) ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleAndTagsPtrOutput) } -type CostCategoryRuleRuleTagsOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndTagsOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleTagsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategoryRuleRuleTags)(nil)).Elem() +func (CostCategoryRuleRuleAndTagsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleAndTags)(nil)).Elem() } -func (o CostCategoryRuleRuleTagsOutput) ToCostCategoryRuleRuleTagsOutput() CostCategoryRuleRuleTagsOutput { +func (o CostCategoryRuleRuleAndTagsOutput) ToCostCategoryRuleRuleAndTagsOutput() CostCategoryRuleRuleAndTagsOutput { return o } -func (o CostCategoryRuleRuleTagsOutput) ToCostCategoryRuleRuleTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleTagsOutput { +func (o CostCategoryRuleRuleAndTagsOutput) ToCostCategoryRuleRuleAndTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndTagsOutput { return o } -func (o CostCategoryRuleRuleTagsOutput) ToCostCategoryRuleRuleTagsPtrOutput() CostCategoryRuleRuleTagsPtrOutput { - return o.ToCostCategoryRuleRuleTagsPtrOutputWithContext(context.Background()) +func (o CostCategoryRuleRuleAndTagsOutput) ToCostCategoryRuleRuleAndTagsPtrOutput() CostCategoryRuleRuleAndTagsPtrOutput { + return o.ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(context.Background()) } -func (o CostCategoryRuleRuleTagsOutput) ToCostCategoryRuleRuleTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleTagsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleTags) *CostCategoryRuleRuleTags { +func (o CostCategoryRuleRuleAndTagsOutput) ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndTagsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleAndTags) *CostCategoryRuleRuleAndTags { return &v - }).(CostCategoryRuleRuleTagsPtrOutput) + }).(CostCategoryRuleRuleAndTagsPtrOutput) } // Key for the tag. -func (o CostCategoryRuleRuleTagsOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v CostCategoryRuleRuleTags) *string { return v.Key }).(pulumi.StringPtrOutput) +func (o CostCategoryRuleRuleAndTagsOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndTags) *string { return v.Key }).(pulumi.StringPtrOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleTagsOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndTagsOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleTagsOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategoryRuleRuleTags) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o CostCategoryRuleRuleAndTagsOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleAndTags) []string { return v.Values }).(pulumi.StringArrayOutput) } -type CostCategoryRuleRuleTagsPtrOutput struct{ *pulumi.OutputState } +type CostCategoryRuleRuleAndTagsPtrOutput struct{ *pulumi.OutputState } -func (CostCategoryRuleRuleTagsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**CostCategoryRuleRuleTags)(nil)).Elem() +func (CostCategoryRuleRuleAndTagsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleAndTags)(nil)).Elem() } -func (o CostCategoryRuleRuleTagsPtrOutput) ToCostCategoryRuleRuleTagsPtrOutput() CostCategoryRuleRuleTagsPtrOutput { +func (o CostCategoryRuleRuleAndTagsPtrOutput) ToCostCategoryRuleRuleAndTagsPtrOutput() CostCategoryRuleRuleAndTagsPtrOutput { return o } -func (o CostCategoryRuleRuleTagsPtrOutput) ToCostCategoryRuleRuleTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleTagsPtrOutput { +func (o CostCategoryRuleRuleAndTagsPtrOutput) ToCostCategoryRuleRuleAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleAndTagsPtrOutput { return o } -func (o CostCategoryRuleRuleTagsPtrOutput) Elem() CostCategoryRuleRuleTagsOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleTags) CostCategoryRuleRuleTags { +func (o CostCategoryRuleRuleAndTagsPtrOutput) Elem() CostCategoryRuleRuleAndTagsOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndTags) CostCategoryRuleRuleAndTags { if v != nil { return *v } - var ret CostCategoryRuleRuleTags + var ret CostCategoryRuleRuleAndTags return ret - }).(CostCategoryRuleRuleTagsOutput) + }).(CostCategoryRuleRuleAndTagsOutput) } // Key for the tag. -func (o CostCategoryRuleRuleTagsPtrOutput) Key() pulumi.StringPtrOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleTags) *string { +func (o CostCategoryRuleRuleAndTagsPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndTags) *string { if v == nil { return nil } @@ -5844,8 +5971,8 @@ func (o CostCategoryRuleRuleTagsPtrOutput) Key() pulumi.StringPtrOutput { } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o CostCategoryRuleRuleTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleTags) []string { +func (o CostCategoryRuleRuleAndTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndTags) []string { if v == nil { return nil } @@ -5854,8 +5981,8 @@ func (o CostCategoryRuleRuleTagsPtrOutput) MatchOptions() pulumi.StringArrayOutp } // Specific value of the Cost Category. -func (o CostCategoryRuleRuleTagsPtrOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v *CostCategoryRuleRuleTags) []string { +func (o CostCategoryRuleRuleAndTagsPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleAndTags) []string { if v == nil { return nil } @@ -5863,724 +5990,10793 @@ func (o CostCategoryRuleRuleTagsPtrOutput) Values() pulumi.StringArrayOutput { }).(pulumi.StringArrayOutput) } -type CostCategorySplitChargeRule struct { - // Method that's used to define how to split your source costs across your targets. Valid values are `FIXED`, `PROPORTIONAL`, `EVEN` - Method string `pulumi:"method"` - // Configuration block for the parameters for a split charge method. This is only required for the `FIXED` method. See below. - Parameters []CostCategorySplitChargeRuleParameter `pulumi:"parameters"` - // Cost Category value that you want to split. - Source string `pulumi:"source"` - // Cost Category values that you want to split costs across. These values can't be used as a source in other split charge rules. - Targets []string `pulumi:"targets"` +type CostCategoryRuleRuleCostCategory struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` } -// CostCategorySplitChargeRuleInput is an input type that accepts CostCategorySplitChargeRuleArgs and CostCategorySplitChargeRuleOutput values. -// You can construct a concrete instance of `CostCategorySplitChargeRuleInput` via: +// CostCategoryRuleRuleCostCategoryInput is an input type that accepts CostCategoryRuleRuleCostCategoryArgs and CostCategoryRuleRuleCostCategoryOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleCostCategoryInput` via: // -// CostCategorySplitChargeRuleArgs{...} -type CostCategorySplitChargeRuleInput interface { +// CostCategoryRuleRuleCostCategoryArgs{...} +type CostCategoryRuleRuleCostCategoryInput interface { pulumi.Input - ToCostCategorySplitChargeRuleOutput() CostCategorySplitChargeRuleOutput - ToCostCategorySplitChargeRuleOutputWithContext(context.Context) CostCategorySplitChargeRuleOutput + ToCostCategoryRuleRuleCostCategoryOutput() CostCategoryRuleRuleCostCategoryOutput + ToCostCategoryRuleRuleCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleCostCategoryOutput } -type CostCategorySplitChargeRuleArgs struct { - // Method that's used to define how to split your source costs across your targets. Valid values are `FIXED`, `PROPORTIONAL`, `EVEN` - Method pulumi.StringInput `pulumi:"method"` - // Configuration block for the parameters for a split charge method. This is only required for the `FIXED` method. See below. - Parameters CostCategorySplitChargeRuleParameterArrayInput `pulumi:"parameters"` - // Cost Category value that you want to split. - Source pulumi.StringInput `pulumi:"source"` - // Cost Category values that you want to split costs across. These values can't be used as a source in other split charge rules. - Targets pulumi.StringArrayInput `pulumi:"targets"` +type CostCategoryRuleRuleCostCategoryArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` } -func (CostCategorySplitChargeRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategorySplitChargeRule)(nil)).Elem() +func (CostCategoryRuleRuleCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleCostCategory)(nil)).Elem() } -func (i CostCategorySplitChargeRuleArgs) ToCostCategorySplitChargeRuleOutput() CostCategorySplitChargeRuleOutput { - return i.ToCostCategorySplitChargeRuleOutputWithContext(context.Background()) +func (i CostCategoryRuleRuleCostCategoryArgs) ToCostCategoryRuleRuleCostCategoryOutput() CostCategoryRuleRuleCostCategoryOutput { + return i.ToCostCategoryRuleRuleCostCategoryOutputWithContext(context.Background()) } -func (i CostCategorySplitChargeRuleArgs) ToCostCategorySplitChargeRuleOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategorySplitChargeRuleOutput) +func (i CostCategoryRuleRuleCostCategoryArgs) ToCostCategoryRuleRuleCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleCostCategoryOutput) } -// CostCategorySplitChargeRuleArrayInput is an input type that accepts CostCategorySplitChargeRuleArray and CostCategorySplitChargeRuleArrayOutput values. -// You can construct a concrete instance of `CostCategorySplitChargeRuleArrayInput` via: +func (i CostCategoryRuleRuleCostCategoryArgs) ToCostCategoryRuleRuleCostCategoryPtrOutput() CostCategoryRuleRuleCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleCostCategoryArgs) ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleCostCategoryOutput).ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleCostCategoryArgs, CostCategoryRuleRuleCostCategoryPtr and CostCategoryRuleRuleCostCategoryPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleCostCategoryPtrInput` via: // -// CostCategorySplitChargeRuleArray{ CostCategorySplitChargeRuleArgs{...} } -type CostCategorySplitChargeRuleArrayInput interface { +// CostCategoryRuleRuleCostCategoryArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleCostCategoryPtrInput interface { pulumi.Input - ToCostCategorySplitChargeRuleArrayOutput() CostCategorySplitChargeRuleArrayOutput - ToCostCategorySplitChargeRuleArrayOutputWithContext(context.Context) CostCategorySplitChargeRuleArrayOutput + ToCostCategoryRuleRuleCostCategoryPtrOutput() CostCategoryRuleRuleCostCategoryPtrOutput + ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleCostCategoryPtrOutput } -type CostCategorySplitChargeRuleArray []CostCategorySplitChargeRuleInput +type costCategoryRuleRuleCostCategoryPtrType CostCategoryRuleRuleCostCategoryArgs -func (CostCategorySplitChargeRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]CostCategorySplitChargeRule)(nil)).Elem() +func CostCategoryRuleRuleCostCategoryPtr(v *CostCategoryRuleRuleCostCategoryArgs) CostCategoryRuleRuleCostCategoryPtrInput { + return (*costCategoryRuleRuleCostCategoryPtrType)(v) } -func (i CostCategorySplitChargeRuleArray) ToCostCategorySplitChargeRuleArrayOutput() CostCategorySplitChargeRuleArrayOutput { - return i.ToCostCategorySplitChargeRuleArrayOutputWithContext(context.Background()) +func (*costCategoryRuleRuleCostCategoryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleCostCategory)(nil)).Elem() } -func (i CostCategorySplitChargeRuleArray) ToCostCategorySplitChargeRuleArrayOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategorySplitChargeRuleArrayOutput) +func (i *costCategoryRuleRuleCostCategoryPtrType) ToCostCategoryRuleRuleCostCategoryPtrOutput() CostCategoryRuleRuleCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(context.Background()) } -type CostCategorySplitChargeRuleOutput struct{ *pulumi.OutputState } +func (i *costCategoryRuleRuleCostCategoryPtrType) ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleCostCategoryPtrOutput) +} -func (CostCategorySplitChargeRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategorySplitChargeRule)(nil)).Elem() +type CostCategoryRuleRuleCostCategoryOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleCostCategory)(nil)).Elem() } -func (o CostCategorySplitChargeRuleOutput) ToCostCategorySplitChargeRuleOutput() CostCategorySplitChargeRuleOutput { +func (o CostCategoryRuleRuleCostCategoryOutput) ToCostCategoryRuleRuleCostCategoryOutput() CostCategoryRuleRuleCostCategoryOutput { return o } -func (o CostCategorySplitChargeRuleOutput) ToCostCategorySplitChargeRuleOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleOutput { +func (o CostCategoryRuleRuleCostCategoryOutput) ToCostCategoryRuleRuleCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleCostCategoryOutput { return o } -// Method that's used to define how to split your source costs across your targets. Valid values are `FIXED`, `PROPORTIONAL`, `EVEN` -func (o CostCategorySplitChargeRuleOutput) Method() pulumi.StringOutput { - return o.ApplyT(func(v CostCategorySplitChargeRule) string { return v.Method }).(pulumi.StringOutput) +func (o CostCategoryRuleRuleCostCategoryOutput) ToCostCategoryRuleRuleCostCategoryPtrOutput() CostCategoryRuleRuleCostCategoryPtrOutput { + return o.ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(context.Background()) } -// Configuration block for the parameters for a split charge method. This is only required for the `FIXED` method. See below. -func (o CostCategorySplitChargeRuleOutput) Parameters() CostCategorySplitChargeRuleParameterArrayOutput { - return o.ApplyT(func(v CostCategorySplitChargeRule) []CostCategorySplitChargeRuleParameter { return v.Parameters }).(CostCategorySplitChargeRuleParameterArrayOutput) +func (o CostCategoryRuleRuleCostCategoryOutput) ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleCostCategoryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleCostCategory) *CostCategoryRuleRuleCostCategory { + return &v + }).(CostCategoryRuleRuleCostCategoryPtrOutput) } -// Cost Category value that you want to split. -func (o CostCategorySplitChargeRuleOutput) Source() pulumi.StringOutput { - return o.ApplyT(func(v CostCategorySplitChargeRule) string { return v.Source }).(pulumi.StringOutput) +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleCostCategoryOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) } -// Cost Category values that you want to split costs across. These values can't be used as a source in other split charge rules. -func (o CostCategorySplitChargeRuleOutput) Targets() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategorySplitChargeRule) []string { return v.Targets }).(pulumi.StringArrayOutput) +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleCostCategoryPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleCostCategoryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleCostCategoryPtrOutput) ToCostCategoryRuleRuleCostCategoryPtrOutput() CostCategoryRuleRuleCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleCostCategoryPtrOutput) ToCostCategoryRuleRuleCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleCostCategoryPtrOutput) Elem() CostCategoryRuleRuleCostCategoryOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleCostCategory) CostCategoryRuleRuleCostCategory { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleCostCategory + return ret + }).(CostCategoryRuleRuleCostCategoryOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleCostCategory) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleCostCategory) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleCostCategory) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleDimension struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleDimensionInput is an input type that accepts CostCategoryRuleRuleDimensionArgs and CostCategoryRuleRuleDimensionOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleDimensionInput` via: +// +// CostCategoryRuleRuleDimensionArgs{...} +type CostCategoryRuleRuleDimensionInput interface { + pulumi.Input + + ToCostCategoryRuleRuleDimensionOutput() CostCategoryRuleRuleDimensionOutput + ToCostCategoryRuleRuleDimensionOutputWithContext(context.Context) CostCategoryRuleRuleDimensionOutput +} + +type CostCategoryRuleRuleDimensionArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleDimension)(nil)).Elem() +} + +func (i CostCategoryRuleRuleDimensionArgs) ToCostCategoryRuleRuleDimensionOutput() CostCategoryRuleRuleDimensionOutput { + return i.ToCostCategoryRuleRuleDimensionOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleDimensionArgs) ToCostCategoryRuleRuleDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleDimensionOutput) +} + +func (i CostCategoryRuleRuleDimensionArgs) ToCostCategoryRuleRuleDimensionPtrOutput() CostCategoryRuleRuleDimensionPtrOutput { + return i.ToCostCategoryRuleRuleDimensionPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleDimensionArgs) ToCostCategoryRuleRuleDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleDimensionOutput).ToCostCategoryRuleRuleDimensionPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleDimensionPtrInput is an input type that accepts CostCategoryRuleRuleDimensionArgs, CostCategoryRuleRuleDimensionPtr and CostCategoryRuleRuleDimensionPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleDimensionPtrInput` via: +// +// CostCategoryRuleRuleDimensionArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleDimensionPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleDimensionPtrOutput() CostCategoryRuleRuleDimensionPtrOutput + ToCostCategoryRuleRuleDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleDimensionPtrOutput +} + +type costCategoryRuleRuleDimensionPtrType CostCategoryRuleRuleDimensionArgs + +func CostCategoryRuleRuleDimensionPtr(v *CostCategoryRuleRuleDimensionArgs) CostCategoryRuleRuleDimensionPtrInput { + return (*costCategoryRuleRuleDimensionPtrType)(v) +} + +func (*costCategoryRuleRuleDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleDimension)(nil)).Elem() +} + +func (i *costCategoryRuleRuleDimensionPtrType) ToCostCategoryRuleRuleDimensionPtrOutput() CostCategoryRuleRuleDimensionPtrOutput { + return i.ToCostCategoryRuleRuleDimensionPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleDimensionPtrType) ToCostCategoryRuleRuleDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleDimensionPtrOutput) +} + +type CostCategoryRuleRuleDimensionOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleDimensionOutput) ToCostCategoryRuleRuleDimensionOutput() CostCategoryRuleRuleDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleDimensionOutput) ToCostCategoryRuleRuleDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleDimensionOutput) ToCostCategoryRuleRuleDimensionPtrOutput() CostCategoryRuleRuleDimensionPtrOutput { + return o.ToCostCategoryRuleRuleDimensionPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleDimensionOutput) ToCostCategoryRuleRuleDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleDimension) *CostCategoryRuleRuleDimension { + return &v + }).(CostCategoryRuleRuleDimensionPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleDimensionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleDimension) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleDimensionPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleDimensionPtrOutput) ToCostCategoryRuleRuleDimensionPtrOutput() CostCategoryRuleRuleDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleDimensionPtrOutput) ToCostCategoryRuleRuleDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleDimensionPtrOutput) Elem() CostCategoryRuleRuleDimensionOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleDimension) CostCategoryRuleRuleDimension { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleDimension + return ret + }).(CostCategoryRuleRuleDimensionOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleDimensionPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleDimension) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleDimension) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleDimension) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNot struct { + Ands []CostCategoryRuleRuleNotAnd `pulumi:"ands"` + CostCategory *CostCategoryRuleRuleNotCostCategory `pulumi:"costCategory"` + Dimension *CostCategoryRuleRuleNotDimension `pulumi:"dimension"` + Not *CostCategoryRuleRuleNotNot `pulumi:"not"` + Ors []CostCategoryRuleRuleNotOr `pulumi:"ors"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags *CostCategoryRuleRuleNotTags `pulumi:"tags"` +} + +// CostCategoryRuleRuleNotInput is an input type that accepts CostCategoryRuleRuleNotArgs and CostCategoryRuleRuleNotOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotInput` via: +// +// CostCategoryRuleRuleNotArgs{...} +type CostCategoryRuleRuleNotInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotOutput() CostCategoryRuleRuleNotOutput + ToCostCategoryRuleRuleNotOutputWithContext(context.Context) CostCategoryRuleRuleNotOutput +} + +type CostCategoryRuleRuleNotArgs struct { + Ands CostCategoryRuleRuleNotAndArrayInput `pulumi:"ands"` + CostCategory CostCategoryRuleRuleNotCostCategoryPtrInput `pulumi:"costCategory"` + Dimension CostCategoryRuleRuleNotDimensionPtrInput `pulumi:"dimension"` + Not CostCategoryRuleRuleNotNotPtrInput `pulumi:"not"` + Ors CostCategoryRuleRuleNotOrArrayInput `pulumi:"ors"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags CostCategoryRuleRuleNotTagsPtrInput `pulumi:"tags"` +} + +func (CostCategoryRuleRuleNotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNot)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotArgs) ToCostCategoryRuleRuleNotOutput() CostCategoryRuleRuleNotOutput { + return i.ToCostCategoryRuleRuleNotOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotArgs) ToCostCategoryRuleRuleNotOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotOutput) +} + +func (i CostCategoryRuleRuleNotArgs) ToCostCategoryRuleRuleNotPtrOutput() CostCategoryRuleRuleNotPtrOutput { + return i.ToCostCategoryRuleRuleNotPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotArgs) ToCostCategoryRuleRuleNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotOutput).ToCostCategoryRuleRuleNotPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleNotPtrInput is an input type that accepts CostCategoryRuleRuleNotArgs, CostCategoryRuleRuleNotPtr and CostCategoryRuleRuleNotPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotPtrInput` via: +// +// CostCategoryRuleRuleNotArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleNotPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotPtrOutput() CostCategoryRuleRuleNotPtrOutput + ToCostCategoryRuleRuleNotPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotPtrOutput +} + +type costCategoryRuleRuleNotPtrType CostCategoryRuleRuleNotArgs + +func CostCategoryRuleRuleNotPtr(v *CostCategoryRuleRuleNotArgs) CostCategoryRuleRuleNotPtrInput { + return (*costCategoryRuleRuleNotPtrType)(v) +} + +func (*costCategoryRuleRuleNotPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNot)(nil)).Elem() +} + +func (i *costCategoryRuleRuleNotPtrType) ToCostCategoryRuleRuleNotPtrOutput() CostCategoryRuleRuleNotPtrOutput { + return i.ToCostCategoryRuleRuleNotPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleNotPtrType) ToCostCategoryRuleRuleNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotPtrOutput) +} + +type CostCategoryRuleRuleNotOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNot)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotOutput) ToCostCategoryRuleRuleNotOutput() CostCategoryRuleRuleNotOutput { + return o +} + +func (o CostCategoryRuleRuleNotOutput) ToCostCategoryRuleRuleNotOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOutput { + return o +} + +func (o CostCategoryRuleRuleNotOutput) ToCostCategoryRuleRuleNotPtrOutput() CostCategoryRuleRuleNotPtrOutput { + return o.ToCostCategoryRuleRuleNotPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleNotOutput) ToCostCategoryRuleRuleNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNot) *CostCategoryRuleRuleNot { + return &v + }).(CostCategoryRuleRuleNotPtrOutput) +} + +func (o CostCategoryRuleRuleNotOutput) Ands() CostCategoryRuleRuleNotAndArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNot) []CostCategoryRuleRuleNotAnd { return v.Ands }).(CostCategoryRuleRuleNotAndArrayOutput) +} + +func (o CostCategoryRuleRuleNotOutput) CostCategory() CostCategoryRuleRuleNotCostCategoryPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNot) *CostCategoryRuleRuleNotCostCategory { return v.CostCategory }).(CostCategoryRuleRuleNotCostCategoryPtrOutput) +} + +func (o CostCategoryRuleRuleNotOutput) Dimension() CostCategoryRuleRuleNotDimensionPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNot) *CostCategoryRuleRuleNotDimension { return v.Dimension }).(CostCategoryRuleRuleNotDimensionPtrOutput) +} + +func (o CostCategoryRuleRuleNotOutput) Not() CostCategoryRuleRuleNotNotPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNot) *CostCategoryRuleRuleNotNot { return v.Not }).(CostCategoryRuleRuleNotNotPtrOutput) +} + +func (o CostCategoryRuleRuleNotOutput) Ors() CostCategoryRuleRuleNotOrArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNot) []CostCategoryRuleRuleNotOr { return v.Ors }).(CostCategoryRuleRuleNotOrArrayOutput) +} + +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o CostCategoryRuleRuleNotOutput) Tags() CostCategoryRuleRuleNotTagsPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNot) *CostCategoryRuleRuleNotTags { return v.Tags }).(CostCategoryRuleRuleNotTagsPtrOutput) +} + +type CostCategoryRuleRuleNotPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNot)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotPtrOutput) ToCostCategoryRuleRuleNotPtrOutput() CostCategoryRuleRuleNotPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotPtrOutput) ToCostCategoryRuleRuleNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotPtrOutput) Elem() CostCategoryRuleRuleNotOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNot) CostCategoryRuleRuleNot { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleNot + return ret + }).(CostCategoryRuleRuleNotOutput) +} + +func (o CostCategoryRuleRuleNotPtrOutput) Ands() CostCategoryRuleRuleNotAndArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNot) []CostCategoryRuleRuleNotAnd { + if v == nil { + return nil + } + return v.Ands + }).(CostCategoryRuleRuleNotAndArrayOutput) +} + +func (o CostCategoryRuleRuleNotPtrOutput) CostCategory() CostCategoryRuleRuleNotCostCategoryPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNot) *CostCategoryRuleRuleNotCostCategory { + if v == nil { + return nil + } + return v.CostCategory + }).(CostCategoryRuleRuleNotCostCategoryPtrOutput) +} + +func (o CostCategoryRuleRuleNotPtrOutput) Dimension() CostCategoryRuleRuleNotDimensionPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNot) *CostCategoryRuleRuleNotDimension { + if v == nil { + return nil + } + return v.Dimension + }).(CostCategoryRuleRuleNotDimensionPtrOutput) +} + +func (o CostCategoryRuleRuleNotPtrOutput) Not() CostCategoryRuleRuleNotNotPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNot) *CostCategoryRuleRuleNotNot { + if v == nil { + return nil + } + return v.Not + }).(CostCategoryRuleRuleNotNotPtrOutput) +} + +func (o CostCategoryRuleRuleNotPtrOutput) Ors() CostCategoryRuleRuleNotOrArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNot) []CostCategoryRuleRuleNotOr { + if v == nil { + return nil + } + return v.Ors + }).(CostCategoryRuleRuleNotOrArrayOutput) +} + +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o CostCategoryRuleRuleNotPtrOutput) Tags() CostCategoryRuleRuleNotTagsPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNot) *CostCategoryRuleRuleNotTags { + if v == nil { + return nil + } + return v.Tags + }).(CostCategoryRuleRuleNotTagsPtrOutput) +} + +type CostCategoryRuleRuleNotAnd struct { + CostCategory *CostCategoryRuleRuleNotAndCostCategory `pulumi:"costCategory"` + Dimension *CostCategoryRuleRuleNotAndDimension `pulumi:"dimension"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags *CostCategoryRuleRuleNotAndTags `pulumi:"tags"` +} + +// CostCategoryRuleRuleNotAndInput is an input type that accepts CostCategoryRuleRuleNotAndArgs and CostCategoryRuleRuleNotAndOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotAndInput` via: +// +// CostCategoryRuleRuleNotAndArgs{...} +type CostCategoryRuleRuleNotAndInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotAndOutput() CostCategoryRuleRuleNotAndOutput + ToCostCategoryRuleRuleNotAndOutputWithContext(context.Context) CostCategoryRuleRuleNotAndOutput +} + +type CostCategoryRuleRuleNotAndArgs struct { + CostCategory CostCategoryRuleRuleNotAndCostCategoryPtrInput `pulumi:"costCategory"` + Dimension CostCategoryRuleRuleNotAndDimensionPtrInput `pulumi:"dimension"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags CostCategoryRuleRuleNotAndTagsPtrInput `pulumi:"tags"` +} + +func (CostCategoryRuleRuleNotAndArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotAnd)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotAndArgs) ToCostCategoryRuleRuleNotAndOutput() CostCategoryRuleRuleNotAndOutput { + return i.ToCostCategoryRuleRuleNotAndOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotAndArgs) ToCostCategoryRuleRuleNotAndOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotAndOutput) +} + +// CostCategoryRuleRuleNotAndArrayInput is an input type that accepts CostCategoryRuleRuleNotAndArray and CostCategoryRuleRuleNotAndArrayOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotAndArrayInput` via: +// +// CostCategoryRuleRuleNotAndArray{ CostCategoryRuleRuleNotAndArgs{...} } +type CostCategoryRuleRuleNotAndArrayInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotAndArrayOutput() CostCategoryRuleRuleNotAndArrayOutput + ToCostCategoryRuleRuleNotAndArrayOutputWithContext(context.Context) CostCategoryRuleRuleNotAndArrayOutput +} + +type CostCategoryRuleRuleNotAndArray []CostCategoryRuleRuleNotAndInput + +func (CostCategoryRuleRuleNotAndArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategoryRuleRuleNotAnd)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotAndArray) ToCostCategoryRuleRuleNotAndArrayOutput() CostCategoryRuleRuleNotAndArrayOutput { + return i.ToCostCategoryRuleRuleNotAndArrayOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotAndArray) ToCostCategoryRuleRuleNotAndArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotAndArrayOutput) +} + +type CostCategoryRuleRuleNotAndOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotAndOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotAnd)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotAndOutput) ToCostCategoryRuleRuleNotAndOutput() CostCategoryRuleRuleNotAndOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndOutput) ToCostCategoryRuleRuleNotAndOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndOutput) CostCategory() CostCategoryRuleRuleNotAndCostCategoryPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotAnd) *CostCategoryRuleRuleNotAndCostCategory { return v.CostCategory }).(CostCategoryRuleRuleNotAndCostCategoryPtrOutput) +} + +func (o CostCategoryRuleRuleNotAndOutput) Dimension() CostCategoryRuleRuleNotAndDimensionPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotAnd) *CostCategoryRuleRuleNotAndDimension { return v.Dimension }).(CostCategoryRuleRuleNotAndDimensionPtrOutput) +} + +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o CostCategoryRuleRuleNotAndOutput) Tags() CostCategoryRuleRuleNotAndTagsPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotAnd) *CostCategoryRuleRuleNotAndTags { return v.Tags }).(CostCategoryRuleRuleNotAndTagsPtrOutput) +} + +type CostCategoryRuleRuleNotAndArrayOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotAndArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategoryRuleRuleNotAnd)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotAndArrayOutput) ToCostCategoryRuleRuleNotAndArrayOutput() CostCategoryRuleRuleNotAndArrayOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndArrayOutput) ToCostCategoryRuleRuleNotAndArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndArrayOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndArrayOutput) Index(i pulumi.IntInput) CostCategoryRuleRuleNotAndOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CostCategoryRuleRuleNotAnd { + return vs[0].([]CostCategoryRuleRuleNotAnd)[vs[1].(int)] + }).(CostCategoryRuleRuleNotAndOutput) +} + +type CostCategoryRuleRuleNotAndCostCategory struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleNotAndCostCategoryInput is an input type that accepts CostCategoryRuleRuleNotAndCostCategoryArgs and CostCategoryRuleRuleNotAndCostCategoryOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotAndCostCategoryInput` via: +// +// CostCategoryRuleRuleNotAndCostCategoryArgs{...} +type CostCategoryRuleRuleNotAndCostCategoryInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotAndCostCategoryOutput() CostCategoryRuleRuleNotAndCostCategoryOutput + ToCostCategoryRuleRuleNotAndCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleNotAndCostCategoryOutput +} + +type CostCategoryRuleRuleNotAndCostCategoryArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleNotAndCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotAndCostCategory)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotAndCostCategoryArgs) ToCostCategoryRuleRuleNotAndCostCategoryOutput() CostCategoryRuleRuleNotAndCostCategoryOutput { + return i.ToCostCategoryRuleRuleNotAndCostCategoryOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotAndCostCategoryArgs) ToCostCategoryRuleRuleNotAndCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotAndCostCategoryOutput) +} + +func (i CostCategoryRuleRuleNotAndCostCategoryArgs) ToCostCategoryRuleRuleNotAndCostCategoryPtrOutput() CostCategoryRuleRuleNotAndCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleNotAndCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotAndCostCategoryArgs) ToCostCategoryRuleRuleNotAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotAndCostCategoryOutput).ToCostCategoryRuleRuleNotAndCostCategoryPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleNotAndCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleNotAndCostCategoryArgs, CostCategoryRuleRuleNotAndCostCategoryPtr and CostCategoryRuleRuleNotAndCostCategoryPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotAndCostCategoryPtrInput` via: +// +// CostCategoryRuleRuleNotAndCostCategoryArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleNotAndCostCategoryPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotAndCostCategoryPtrOutput() CostCategoryRuleRuleNotAndCostCategoryPtrOutput + ToCostCategoryRuleRuleNotAndCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotAndCostCategoryPtrOutput +} + +type costCategoryRuleRuleNotAndCostCategoryPtrType CostCategoryRuleRuleNotAndCostCategoryArgs + +func CostCategoryRuleRuleNotAndCostCategoryPtr(v *CostCategoryRuleRuleNotAndCostCategoryArgs) CostCategoryRuleRuleNotAndCostCategoryPtrInput { + return (*costCategoryRuleRuleNotAndCostCategoryPtrType)(v) +} + +func (*costCategoryRuleRuleNotAndCostCategoryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotAndCostCategory)(nil)).Elem() +} + +func (i *costCategoryRuleRuleNotAndCostCategoryPtrType) ToCostCategoryRuleRuleNotAndCostCategoryPtrOutput() CostCategoryRuleRuleNotAndCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleNotAndCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleNotAndCostCategoryPtrType) ToCostCategoryRuleRuleNotAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotAndCostCategoryPtrOutput) +} + +type CostCategoryRuleRuleNotAndCostCategoryOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotAndCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotAndCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotAndCostCategoryOutput) ToCostCategoryRuleRuleNotAndCostCategoryOutput() CostCategoryRuleRuleNotAndCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndCostCategoryOutput) ToCostCategoryRuleRuleNotAndCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndCostCategoryOutput) ToCostCategoryRuleRuleNotAndCostCategoryPtrOutput() CostCategoryRuleRuleNotAndCostCategoryPtrOutput { + return o.ToCostCategoryRuleRuleNotAndCostCategoryPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleNotAndCostCategoryOutput) ToCostCategoryRuleRuleNotAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndCostCategoryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotAndCostCategory) *CostCategoryRuleRuleNotAndCostCategory { + return &v + }).(CostCategoryRuleRuleNotAndCostCategoryPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotAndCostCategoryOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotAndCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotAndCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotAndCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotAndCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotAndCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotAndCostCategoryPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotAndCostCategoryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotAndCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotAndCostCategoryPtrOutput) ToCostCategoryRuleRuleNotAndCostCategoryPtrOutput() CostCategoryRuleRuleNotAndCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndCostCategoryPtrOutput) ToCostCategoryRuleRuleNotAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndCostCategoryPtrOutput) Elem() CostCategoryRuleRuleNotAndCostCategoryOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotAndCostCategory) CostCategoryRuleRuleNotAndCostCategory { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleNotAndCostCategory + return ret + }).(CostCategoryRuleRuleNotAndCostCategoryOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotAndCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotAndCostCategory) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotAndCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotAndCostCategory) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotAndCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotAndCostCategory) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotAndDimension struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleNotAndDimensionInput is an input type that accepts CostCategoryRuleRuleNotAndDimensionArgs and CostCategoryRuleRuleNotAndDimensionOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotAndDimensionInput` via: +// +// CostCategoryRuleRuleNotAndDimensionArgs{...} +type CostCategoryRuleRuleNotAndDimensionInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotAndDimensionOutput() CostCategoryRuleRuleNotAndDimensionOutput + ToCostCategoryRuleRuleNotAndDimensionOutputWithContext(context.Context) CostCategoryRuleRuleNotAndDimensionOutput +} + +type CostCategoryRuleRuleNotAndDimensionArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleNotAndDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotAndDimension)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotAndDimensionArgs) ToCostCategoryRuleRuleNotAndDimensionOutput() CostCategoryRuleRuleNotAndDimensionOutput { + return i.ToCostCategoryRuleRuleNotAndDimensionOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotAndDimensionArgs) ToCostCategoryRuleRuleNotAndDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotAndDimensionOutput) +} + +func (i CostCategoryRuleRuleNotAndDimensionArgs) ToCostCategoryRuleRuleNotAndDimensionPtrOutput() CostCategoryRuleRuleNotAndDimensionPtrOutput { + return i.ToCostCategoryRuleRuleNotAndDimensionPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotAndDimensionArgs) ToCostCategoryRuleRuleNotAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotAndDimensionOutput).ToCostCategoryRuleRuleNotAndDimensionPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleNotAndDimensionPtrInput is an input type that accepts CostCategoryRuleRuleNotAndDimensionArgs, CostCategoryRuleRuleNotAndDimensionPtr and CostCategoryRuleRuleNotAndDimensionPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotAndDimensionPtrInput` via: +// +// CostCategoryRuleRuleNotAndDimensionArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleNotAndDimensionPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotAndDimensionPtrOutput() CostCategoryRuleRuleNotAndDimensionPtrOutput + ToCostCategoryRuleRuleNotAndDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotAndDimensionPtrOutput +} + +type costCategoryRuleRuleNotAndDimensionPtrType CostCategoryRuleRuleNotAndDimensionArgs + +func CostCategoryRuleRuleNotAndDimensionPtr(v *CostCategoryRuleRuleNotAndDimensionArgs) CostCategoryRuleRuleNotAndDimensionPtrInput { + return (*costCategoryRuleRuleNotAndDimensionPtrType)(v) +} + +func (*costCategoryRuleRuleNotAndDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotAndDimension)(nil)).Elem() +} + +func (i *costCategoryRuleRuleNotAndDimensionPtrType) ToCostCategoryRuleRuleNotAndDimensionPtrOutput() CostCategoryRuleRuleNotAndDimensionPtrOutput { + return i.ToCostCategoryRuleRuleNotAndDimensionPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleNotAndDimensionPtrType) ToCostCategoryRuleRuleNotAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotAndDimensionPtrOutput) +} + +type CostCategoryRuleRuleNotAndDimensionOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotAndDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotAndDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotAndDimensionOutput) ToCostCategoryRuleRuleNotAndDimensionOutput() CostCategoryRuleRuleNotAndDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndDimensionOutput) ToCostCategoryRuleRuleNotAndDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndDimensionOutput) ToCostCategoryRuleRuleNotAndDimensionPtrOutput() CostCategoryRuleRuleNotAndDimensionPtrOutput { + return o.ToCostCategoryRuleRuleNotAndDimensionPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleNotAndDimensionOutput) ToCostCategoryRuleRuleNotAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotAndDimension) *CostCategoryRuleRuleNotAndDimension { + return &v + }).(CostCategoryRuleRuleNotAndDimensionPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotAndDimensionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotAndDimension) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotAndDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotAndDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotAndDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotAndDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotAndDimensionPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotAndDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotAndDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotAndDimensionPtrOutput) ToCostCategoryRuleRuleNotAndDimensionPtrOutput() CostCategoryRuleRuleNotAndDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndDimensionPtrOutput) ToCostCategoryRuleRuleNotAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndDimensionPtrOutput) Elem() CostCategoryRuleRuleNotAndDimensionOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotAndDimension) CostCategoryRuleRuleNotAndDimension { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleNotAndDimension + return ret + }).(CostCategoryRuleRuleNotAndDimensionOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotAndDimensionPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotAndDimension) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotAndDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotAndDimension) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotAndDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotAndDimension) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotAndTags struct { + // Key for the tag. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleNotAndTagsInput is an input type that accepts CostCategoryRuleRuleNotAndTagsArgs and CostCategoryRuleRuleNotAndTagsOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotAndTagsInput` via: +// +// CostCategoryRuleRuleNotAndTagsArgs{...} +type CostCategoryRuleRuleNotAndTagsInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotAndTagsOutput() CostCategoryRuleRuleNotAndTagsOutput + ToCostCategoryRuleRuleNotAndTagsOutputWithContext(context.Context) CostCategoryRuleRuleNotAndTagsOutput +} + +type CostCategoryRuleRuleNotAndTagsArgs struct { + // Key for the tag. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleNotAndTagsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotAndTags)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotAndTagsArgs) ToCostCategoryRuleRuleNotAndTagsOutput() CostCategoryRuleRuleNotAndTagsOutput { + return i.ToCostCategoryRuleRuleNotAndTagsOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotAndTagsArgs) ToCostCategoryRuleRuleNotAndTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndTagsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotAndTagsOutput) +} + +func (i CostCategoryRuleRuleNotAndTagsArgs) ToCostCategoryRuleRuleNotAndTagsPtrOutput() CostCategoryRuleRuleNotAndTagsPtrOutput { + return i.ToCostCategoryRuleRuleNotAndTagsPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotAndTagsArgs) ToCostCategoryRuleRuleNotAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotAndTagsOutput).ToCostCategoryRuleRuleNotAndTagsPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleNotAndTagsPtrInput is an input type that accepts CostCategoryRuleRuleNotAndTagsArgs, CostCategoryRuleRuleNotAndTagsPtr and CostCategoryRuleRuleNotAndTagsPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotAndTagsPtrInput` via: +// +// CostCategoryRuleRuleNotAndTagsArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleNotAndTagsPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotAndTagsPtrOutput() CostCategoryRuleRuleNotAndTagsPtrOutput + ToCostCategoryRuleRuleNotAndTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotAndTagsPtrOutput +} + +type costCategoryRuleRuleNotAndTagsPtrType CostCategoryRuleRuleNotAndTagsArgs + +func CostCategoryRuleRuleNotAndTagsPtr(v *CostCategoryRuleRuleNotAndTagsArgs) CostCategoryRuleRuleNotAndTagsPtrInput { + return (*costCategoryRuleRuleNotAndTagsPtrType)(v) +} + +func (*costCategoryRuleRuleNotAndTagsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotAndTags)(nil)).Elem() +} + +func (i *costCategoryRuleRuleNotAndTagsPtrType) ToCostCategoryRuleRuleNotAndTagsPtrOutput() CostCategoryRuleRuleNotAndTagsPtrOutput { + return i.ToCostCategoryRuleRuleNotAndTagsPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleNotAndTagsPtrType) ToCostCategoryRuleRuleNotAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotAndTagsPtrOutput) +} + +type CostCategoryRuleRuleNotAndTagsOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotAndTagsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotAndTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotAndTagsOutput) ToCostCategoryRuleRuleNotAndTagsOutput() CostCategoryRuleRuleNotAndTagsOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndTagsOutput) ToCostCategoryRuleRuleNotAndTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndTagsOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndTagsOutput) ToCostCategoryRuleRuleNotAndTagsPtrOutput() CostCategoryRuleRuleNotAndTagsPtrOutput { + return o.ToCostCategoryRuleRuleNotAndTagsPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleNotAndTagsOutput) ToCostCategoryRuleRuleNotAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndTagsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotAndTags) *CostCategoryRuleRuleNotAndTags { + return &v + }).(CostCategoryRuleRuleNotAndTagsPtrOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleNotAndTagsOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotAndTags) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotAndTagsOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotAndTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotAndTagsOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotAndTags) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotAndTagsPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotAndTagsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotAndTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotAndTagsPtrOutput) ToCostCategoryRuleRuleNotAndTagsPtrOutput() CostCategoryRuleRuleNotAndTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndTagsPtrOutput) ToCostCategoryRuleRuleNotAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotAndTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotAndTagsPtrOutput) Elem() CostCategoryRuleRuleNotAndTagsOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotAndTags) CostCategoryRuleRuleNotAndTags { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleNotAndTags + return ret + }).(CostCategoryRuleRuleNotAndTagsOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleNotAndTagsPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotAndTags) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotAndTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotAndTags) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotAndTagsPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotAndTags) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotCostCategory struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleNotCostCategoryInput is an input type that accepts CostCategoryRuleRuleNotCostCategoryArgs and CostCategoryRuleRuleNotCostCategoryOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotCostCategoryInput` via: +// +// CostCategoryRuleRuleNotCostCategoryArgs{...} +type CostCategoryRuleRuleNotCostCategoryInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotCostCategoryOutput() CostCategoryRuleRuleNotCostCategoryOutput + ToCostCategoryRuleRuleNotCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleNotCostCategoryOutput +} + +type CostCategoryRuleRuleNotCostCategoryArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleNotCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotCostCategory)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotCostCategoryArgs) ToCostCategoryRuleRuleNotCostCategoryOutput() CostCategoryRuleRuleNotCostCategoryOutput { + return i.ToCostCategoryRuleRuleNotCostCategoryOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotCostCategoryArgs) ToCostCategoryRuleRuleNotCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotCostCategoryOutput) +} + +func (i CostCategoryRuleRuleNotCostCategoryArgs) ToCostCategoryRuleRuleNotCostCategoryPtrOutput() CostCategoryRuleRuleNotCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotCostCategoryArgs) ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotCostCategoryOutput).ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleNotCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleNotCostCategoryArgs, CostCategoryRuleRuleNotCostCategoryPtr and CostCategoryRuleRuleNotCostCategoryPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotCostCategoryPtrInput` via: +// +// CostCategoryRuleRuleNotCostCategoryArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleNotCostCategoryPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotCostCategoryPtrOutput() CostCategoryRuleRuleNotCostCategoryPtrOutput + ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotCostCategoryPtrOutput +} + +type costCategoryRuleRuleNotCostCategoryPtrType CostCategoryRuleRuleNotCostCategoryArgs + +func CostCategoryRuleRuleNotCostCategoryPtr(v *CostCategoryRuleRuleNotCostCategoryArgs) CostCategoryRuleRuleNotCostCategoryPtrInput { + return (*costCategoryRuleRuleNotCostCategoryPtrType)(v) +} + +func (*costCategoryRuleRuleNotCostCategoryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotCostCategory)(nil)).Elem() +} + +func (i *costCategoryRuleRuleNotCostCategoryPtrType) ToCostCategoryRuleRuleNotCostCategoryPtrOutput() CostCategoryRuleRuleNotCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleNotCostCategoryPtrType) ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotCostCategoryPtrOutput) +} + +type CostCategoryRuleRuleNotCostCategoryOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotCostCategoryOutput) ToCostCategoryRuleRuleNotCostCategoryOutput() CostCategoryRuleRuleNotCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleNotCostCategoryOutput) ToCostCategoryRuleRuleNotCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleNotCostCategoryOutput) ToCostCategoryRuleRuleNotCostCategoryPtrOutput() CostCategoryRuleRuleNotCostCategoryPtrOutput { + return o.ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleNotCostCategoryOutput) ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotCostCategoryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotCostCategory) *CostCategoryRuleRuleNotCostCategory { + return &v + }).(CostCategoryRuleRuleNotCostCategoryPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotCostCategoryOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotCostCategoryPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotCostCategoryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotCostCategoryPtrOutput) ToCostCategoryRuleRuleNotCostCategoryPtrOutput() CostCategoryRuleRuleNotCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotCostCategoryPtrOutput) ToCostCategoryRuleRuleNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotCostCategoryPtrOutput) Elem() CostCategoryRuleRuleNotCostCategoryOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotCostCategory) CostCategoryRuleRuleNotCostCategory { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleNotCostCategory + return ret + }).(CostCategoryRuleRuleNotCostCategoryOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotCostCategory) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotCostCategory) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotCostCategory) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotDimension struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleNotDimensionInput is an input type that accepts CostCategoryRuleRuleNotDimensionArgs and CostCategoryRuleRuleNotDimensionOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotDimensionInput` via: +// +// CostCategoryRuleRuleNotDimensionArgs{...} +type CostCategoryRuleRuleNotDimensionInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotDimensionOutput() CostCategoryRuleRuleNotDimensionOutput + ToCostCategoryRuleRuleNotDimensionOutputWithContext(context.Context) CostCategoryRuleRuleNotDimensionOutput +} + +type CostCategoryRuleRuleNotDimensionArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleNotDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotDimension)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotDimensionArgs) ToCostCategoryRuleRuleNotDimensionOutput() CostCategoryRuleRuleNotDimensionOutput { + return i.ToCostCategoryRuleRuleNotDimensionOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotDimensionArgs) ToCostCategoryRuleRuleNotDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotDimensionOutput) +} + +func (i CostCategoryRuleRuleNotDimensionArgs) ToCostCategoryRuleRuleNotDimensionPtrOutput() CostCategoryRuleRuleNotDimensionPtrOutput { + return i.ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotDimensionArgs) ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotDimensionOutput).ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleNotDimensionPtrInput is an input type that accepts CostCategoryRuleRuleNotDimensionArgs, CostCategoryRuleRuleNotDimensionPtr and CostCategoryRuleRuleNotDimensionPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotDimensionPtrInput` via: +// +// CostCategoryRuleRuleNotDimensionArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleNotDimensionPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotDimensionPtrOutput() CostCategoryRuleRuleNotDimensionPtrOutput + ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotDimensionPtrOutput +} + +type costCategoryRuleRuleNotDimensionPtrType CostCategoryRuleRuleNotDimensionArgs + +func CostCategoryRuleRuleNotDimensionPtr(v *CostCategoryRuleRuleNotDimensionArgs) CostCategoryRuleRuleNotDimensionPtrInput { + return (*costCategoryRuleRuleNotDimensionPtrType)(v) +} + +func (*costCategoryRuleRuleNotDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotDimension)(nil)).Elem() +} + +func (i *costCategoryRuleRuleNotDimensionPtrType) ToCostCategoryRuleRuleNotDimensionPtrOutput() CostCategoryRuleRuleNotDimensionPtrOutput { + return i.ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleNotDimensionPtrType) ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotDimensionPtrOutput) +} + +type CostCategoryRuleRuleNotDimensionOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotDimensionOutput) ToCostCategoryRuleRuleNotDimensionOutput() CostCategoryRuleRuleNotDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleNotDimensionOutput) ToCostCategoryRuleRuleNotDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleNotDimensionOutput) ToCostCategoryRuleRuleNotDimensionPtrOutput() CostCategoryRuleRuleNotDimensionPtrOutput { + return o.ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleNotDimensionOutput) ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotDimension) *CostCategoryRuleRuleNotDimension { + return &v + }).(CostCategoryRuleRuleNotDimensionPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotDimensionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotDimension) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotDimensionPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotDimensionPtrOutput) ToCostCategoryRuleRuleNotDimensionPtrOutput() CostCategoryRuleRuleNotDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotDimensionPtrOutput) ToCostCategoryRuleRuleNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotDimensionPtrOutput) Elem() CostCategoryRuleRuleNotDimensionOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotDimension) CostCategoryRuleRuleNotDimension { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleNotDimension + return ret + }).(CostCategoryRuleRuleNotDimensionOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotDimensionPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotDimension) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotDimension) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotDimension) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotNot struct { + CostCategory *CostCategoryRuleRuleNotNotCostCategory `pulumi:"costCategory"` + Dimension *CostCategoryRuleRuleNotNotDimension `pulumi:"dimension"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags *CostCategoryRuleRuleNotNotTags `pulumi:"tags"` +} + +// CostCategoryRuleRuleNotNotInput is an input type that accepts CostCategoryRuleRuleNotNotArgs and CostCategoryRuleRuleNotNotOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotNotInput` via: +// +// CostCategoryRuleRuleNotNotArgs{...} +type CostCategoryRuleRuleNotNotInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotNotOutput() CostCategoryRuleRuleNotNotOutput + ToCostCategoryRuleRuleNotNotOutputWithContext(context.Context) CostCategoryRuleRuleNotNotOutput +} + +type CostCategoryRuleRuleNotNotArgs struct { + CostCategory CostCategoryRuleRuleNotNotCostCategoryPtrInput `pulumi:"costCategory"` + Dimension CostCategoryRuleRuleNotNotDimensionPtrInput `pulumi:"dimension"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags CostCategoryRuleRuleNotNotTagsPtrInput `pulumi:"tags"` +} + +func (CostCategoryRuleRuleNotNotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotNot)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotNotArgs) ToCostCategoryRuleRuleNotNotOutput() CostCategoryRuleRuleNotNotOutput { + return i.ToCostCategoryRuleRuleNotNotOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotNotArgs) ToCostCategoryRuleRuleNotNotOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotNotOutput) +} + +func (i CostCategoryRuleRuleNotNotArgs) ToCostCategoryRuleRuleNotNotPtrOutput() CostCategoryRuleRuleNotNotPtrOutput { + return i.ToCostCategoryRuleRuleNotNotPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotNotArgs) ToCostCategoryRuleRuleNotNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotNotOutput).ToCostCategoryRuleRuleNotNotPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleNotNotPtrInput is an input type that accepts CostCategoryRuleRuleNotNotArgs, CostCategoryRuleRuleNotNotPtr and CostCategoryRuleRuleNotNotPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotNotPtrInput` via: +// +// CostCategoryRuleRuleNotNotArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleNotNotPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotNotPtrOutput() CostCategoryRuleRuleNotNotPtrOutput + ToCostCategoryRuleRuleNotNotPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotNotPtrOutput +} + +type costCategoryRuleRuleNotNotPtrType CostCategoryRuleRuleNotNotArgs + +func CostCategoryRuleRuleNotNotPtr(v *CostCategoryRuleRuleNotNotArgs) CostCategoryRuleRuleNotNotPtrInput { + return (*costCategoryRuleRuleNotNotPtrType)(v) +} + +func (*costCategoryRuleRuleNotNotPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotNot)(nil)).Elem() +} + +func (i *costCategoryRuleRuleNotNotPtrType) ToCostCategoryRuleRuleNotNotPtrOutput() CostCategoryRuleRuleNotNotPtrOutput { + return i.ToCostCategoryRuleRuleNotNotPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleNotNotPtrType) ToCostCategoryRuleRuleNotNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotNotPtrOutput) +} + +type CostCategoryRuleRuleNotNotOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotNotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotNot)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotNotOutput) ToCostCategoryRuleRuleNotNotOutput() CostCategoryRuleRuleNotNotOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotOutput) ToCostCategoryRuleRuleNotNotOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotOutput) ToCostCategoryRuleRuleNotNotPtrOutput() CostCategoryRuleRuleNotNotPtrOutput { + return o.ToCostCategoryRuleRuleNotNotPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleNotNotOutput) ToCostCategoryRuleRuleNotNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotNot) *CostCategoryRuleRuleNotNot { + return &v + }).(CostCategoryRuleRuleNotNotPtrOutput) +} + +func (o CostCategoryRuleRuleNotNotOutput) CostCategory() CostCategoryRuleRuleNotNotCostCategoryPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotNot) *CostCategoryRuleRuleNotNotCostCategory { return v.CostCategory }).(CostCategoryRuleRuleNotNotCostCategoryPtrOutput) +} + +func (o CostCategoryRuleRuleNotNotOutput) Dimension() CostCategoryRuleRuleNotNotDimensionPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotNot) *CostCategoryRuleRuleNotNotDimension { return v.Dimension }).(CostCategoryRuleRuleNotNotDimensionPtrOutput) +} + +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o CostCategoryRuleRuleNotNotOutput) Tags() CostCategoryRuleRuleNotNotTagsPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotNot) *CostCategoryRuleRuleNotNotTags { return v.Tags }).(CostCategoryRuleRuleNotNotTagsPtrOutput) +} + +type CostCategoryRuleRuleNotNotPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotNotPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotNot)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotNotPtrOutput) ToCostCategoryRuleRuleNotNotPtrOutput() CostCategoryRuleRuleNotNotPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotPtrOutput) ToCostCategoryRuleRuleNotNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotPtrOutput) Elem() CostCategoryRuleRuleNotNotOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNot) CostCategoryRuleRuleNotNot { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleNotNot + return ret + }).(CostCategoryRuleRuleNotNotOutput) +} + +func (o CostCategoryRuleRuleNotNotPtrOutput) CostCategory() CostCategoryRuleRuleNotNotCostCategoryPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNot) *CostCategoryRuleRuleNotNotCostCategory { + if v == nil { + return nil + } + return v.CostCategory + }).(CostCategoryRuleRuleNotNotCostCategoryPtrOutput) +} + +func (o CostCategoryRuleRuleNotNotPtrOutput) Dimension() CostCategoryRuleRuleNotNotDimensionPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNot) *CostCategoryRuleRuleNotNotDimension { + if v == nil { + return nil + } + return v.Dimension + }).(CostCategoryRuleRuleNotNotDimensionPtrOutput) +} + +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o CostCategoryRuleRuleNotNotPtrOutput) Tags() CostCategoryRuleRuleNotNotTagsPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNot) *CostCategoryRuleRuleNotNotTags { + if v == nil { + return nil + } + return v.Tags + }).(CostCategoryRuleRuleNotNotTagsPtrOutput) +} + +type CostCategoryRuleRuleNotNotCostCategory struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleNotNotCostCategoryInput is an input type that accepts CostCategoryRuleRuleNotNotCostCategoryArgs and CostCategoryRuleRuleNotNotCostCategoryOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotNotCostCategoryInput` via: +// +// CostCategoryRuleRuleNotNotCostCategoryArgs{...} +type CostCategoryRuleRuleNotNotCostCategoryInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotNotCostCategoryOutput() CostCategoryRuleRuleNotNotCostCategoryOutput + ToCostCategoryRuleRuleNotNotCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleNotNotCostCategoryOutput +} + +type CostCategoryRuleRuleNotNotCostCategoryArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleNotNotCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotNotCostCategory)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotNotCostCategoryArgs) ToCostCategoryRuleRuleNotNotCostCategoryOutput() CostCategoryRuleRuleNotNotCostCategoryOutput { + return i.ToCostCategoryRuleRuleNotNotCostCategoryOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotNotCostCategoryArgs) ToCostCategoryRuleRuleNotNotCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotNotCostCategoryOutput) +} + +func (i CostCategoryRuleRuleNotNotCostCategoryArgs) ToCostCategoryRuleRuleNotNotCostCategoryPtrOutput() CostCategoryRuleRuleNotNotCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleNotNotCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotNotCostCategoryArgs) ToCostCategoryRuleRuleNotNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotNotCostCategoryOutput).ToCostCategoryRuleRuleNotNotCostCategoryPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleNotNotCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleNotNotCostCategoryArgs, CostCategoryRuleRuleNotNotCostCategoryPtr and CostCategoryRuleRuleNotNotCostCategoryPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotNotCostCategoryPtrInput` via: +// +// CostCategoryRuleRuleNotNotCostCategoryArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleNotNotCostCategoryPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotNotCostCategoryPtrOutput() CostCategoryRuleRuleNotNotCostCategoryPtrOutput + ToCostCategoryRuleRuleNotNotCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotNotCostCategoryPtrOutput +} + +type costCategoryRuleRuleNotNotCostCategoryPtrType CostCategoryRuleRuleNotNotCostCategoryArgs + +func CostCategoryRuleRuleNotNotCostCategoryPtr(v *CostCategoryRuleRuleNotNotCostCategoryArgs) CostCategoryRuleRuleNotNotCostCategoryPtrInput { + return (*costCategoryRuleRuleNotNotCostCategoryPtrType)(v) +} + +func (*costCategoryRuleRuleNotNotCostCategoryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotNotCostCategory)(nil)).Elem() +} + +func (i *costCategoryRuleRuleNotNotCostCategoryPtrType) ToCostCategoryRuleRuleNotNotCostCategoryPtrOutput() CostCategoryRuleRuleNotNotCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleNotNotCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleNotNotCostCategoryPtrType) ToCostCategoryRuleRuleNotNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotNotCostCategoryPtrOutput) +} + +type CostCategoryRuleRuleNotNotCostCategoryOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotNotCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotNotCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotNotCostCategoryOutput) ToCostCategoryRuleRuleNotNotCostCategoryOutput() CostCategoryRuleRuleNotNotCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotCostCategoryOutput) ToCostCategoryRuleRuleNotNotCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotCostCategoryOutput) ToCostCategoryRuleRuleNotNotCostCategoryPtrOutput() CostCategoryRuleRuleNotNotCostCategoryPtrOutput { + return o.ToCostCategoryRuleRuleNotNotCostCategoryPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleNotNotCostCategoryOutput) ToCostCategoryRuleRuleNotNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotCostCategoryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotNotCostCategory) *CostCategoryRuleRuleNotNotCostCategory { + return &v + }).(CostCategoryRuleRuleNotNotCostCategoryPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotNotCostCategoryOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotNotCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotNotCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotNotCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotNotCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotNotCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotNotCostCategoryPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotNotCostCategoryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotNotCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotNotCostCategoryPtrOutput) ToCostCategoryRuleRuleNotNotCostCategoryPtrOutput() CostCategoryRuleRuleNotNotCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotCostCategoryPtrOutput) ToCostCategoryRuleRuleNotNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotCostCategoryPtrOutput) Elem() CostCategoryRuleRuleNotNotCostCategoryOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNotCostCategory) CostCategoryRuleRuleNotNotCostCategory { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleNotNotCostCategory + return ret + }).(CostCategoryRuleRuleNotNotCostCategoryOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotNotCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNotCostCategory) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotNotCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNotCostCategory) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotNotCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNotCostCategory) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotNotDimension struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleNotNotDimensionInput is an input type that accepts CostCategoryRuleRuleNotNotDimensionArgs and CostCategoryRuleRuleNotNotDimensionOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotNotDimensionInput` via: +// +// CostCategoryRuleRuleNotNotDimensionArgs{...} +type CostCategoryRuleRuleNotNotDimensionInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotNotDimensionOutput() CostCategoryRuleRuleNotNotDimensionOutput + ToCostCategoryRuleRuleNotNotDimensionOutputWithContext(context.Context) CostCategoryRuleRuleNotNotDimensionOutput +} + +type CostCategoryRuleRuleNotNotDimensionArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleNotNotDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotNotDimension)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotNotDimensionArgs) ToCostCategoryRuleRuleNotNotDimensionOutput() CostCategoryRuleRuleNotNotDimensionOutput { + return i.ToCostCategoryRuleRuleNotNotDimensionOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotNotDimensionArgs) ToCostCategoryRuleRuleNotNotDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotNotDimensionOutput) +} + +func (i CostCategoryRuleRuleNotNotDimensionArgs) ToCostCategoryRuleRuleNotNotDimensionPtrOutput() CostCategoryRuleRuleNotNotDimensionPtrOutput { + return i.ToCostCategoryRuleRuleNotNotDimensionPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotNotDimensionArgs) ToCostCategoryRuleRuleNotNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotNotDimensionOutput).ToCostCategoryRuleRuleNotNotDimensionPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleNotNotDimensionPtrInput is an input type that accepts CostCategoryRuleRuleNotNotDimensionArgs, CostCategoryRuleRuleNotNotDimensionPtr and CostCategoryRuleRuleNotNotDimensionPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotNotDimensionPtrInput` via: +// +// CostCategoryRuleRuleNotNotDimensionArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleNotNotDimensionPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotNotDimensionPtrOutput() CostCategoryRuleRuleNotNotDimensionPtrOutput + ToCostCategoryRuleRuleNotNotDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotNotDimensionPtrOutput +} + +type costCategoryRuleRuleNotNotDimensionPtrType CostCategoryRuleRuleNotNotDimensionArgs + +func CostCategoryRuleRuleNotNotDimensionPtr(v *CostCategoryRuleRuleNotNotDimensionArgs) CostCategoryRuleRuleNotNotDimensionPtrInput { + return (*costCategoryRuleRuleNotNotDimensionPtrType)(v) +} + +func (*costCategoryRuleRuleNotNotDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotNotDimension)(nil)).Elem() +} + +func (i *costCategoryRuleRuleNotNotDimensionPtrType) ToCostCategoryRuleRuleNotNotDimensionPtrOutput() CostCategoryRuleRuleNotNotDimensionPtrOutput { + return i.ToCostCategoryRuleRuleNotNotDimensionPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleNotNotDimensionPtrType) ToCostCategoryRuleRuleNotNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotNotDimensionPtrOutput) +} + +type CostCategoryRuleRuleNotNotDimensionOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotNotDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotNotDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotNotDimensionOutput) ToCostCategoryRuleRuleNotNotDimensionOutput() CostCategoryRuleRuleNotNotDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotDimensionOutput) ToCostCategoryRuleRuleNotNotDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotDimensionOutput) ToCostCategoryRuleRuleNotNotDimensionPtrOutput() CostCategoryRuleRuleNotNotDimensionPtrOutput { + return o.ToCostCategoryRuleRuleNotNotDimensionPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleNotNotDimensionOutput) ToCostCategoryRuleRuleNotNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotNotDimension) *CostCategoryRuleRuleNotNotDimension { + return &v + }).(CostCategoryRuleRuleNotNotDimensionPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotNotDimensionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotNotDimension) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotNotDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotNotDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotNotDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotNotDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotNotDimensionPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotNotDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotNotDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotNotDimensionPtrOutput) ToCostCategoryRuleRuleNotNotDimensionPtrOutput() CostCategoryRuleRuleNotNotDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotDimensionPtrOutput) ToCostCategoryRuleRuleNotNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotDimensionPtrOutput) Elem() CostCategoryRuleRuleNotNotDimensionOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNotDimension) CostCategoryRuleRuleNotNotDimension { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleNotNotDimension + return ret + }).(CostCategoryRuleRuleNotNotDimensionOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotNotDimensionPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNotDimension) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotNotDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNotDimension) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotNotDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNotDimension) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotNotTags struct { + // Key for the tag. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleNotNotTagsInput is an input type that accepts CostCategoryRuleRuleNotNotTagsArgs and CostCategoryRuleRuleNotNotTagsOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotNotTagsInput` via: +// +// CostCategoryRuleRuleNotNotTagsArgs{...} +type CostCategoryRuleRuleNotNotTagsInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotNotTagsOutput() CostCategoryRuleRuleNotNotTagsOutput + ToCostCategoryRuleRuleNotNotTagsOutputWithContext(context.Context) CostCategoryRuleRuleNotNotTagsOutput +} + +type CostCategoryRuleRuleNotNotTagsArgs struct { + // Key for the tag. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleNotNotTagsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotNotTags)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotNotTagsArgs) ToCostCategoryRuleRuleNotNotTagsOutput() CostCategoryRuleRuleNotNotTagsOutput { + return i.ToCostCategoryRuleRuleNotNotTagsOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotNotTagsArgs) ToCostCategoryRuleRuleNotNotTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotTagsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotNotTagsOutput) +} + +func (i CostCategoryRuleRuleNotNotTagsArgs) ToCostCategoryRuleRuleNotNotTagsPtrOutput() CostCategoryRuleRuleNotNotTagsPtrOutput { + return i.ToCostCategoryRuleRuleNotNotTagsPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotNotTagsArgs) ToCostCategoryRuleRuleNotNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotNotTagsOutput).ToCostCategoryRuleRuleNotNotTagsPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleNotNotTagsPtrInput is an input type that accepts CostCategoryRuleRuleNotNotTagsArgs, CostCategoryRuleRuleNotNotTagsPtr and CostCategoryRuleRuleNotNotTagsPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotNotTagsPtrInput` via: +// +// CostCategoryRuleRuleNotNotTagsArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleNotNotTagsPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotNotTagsPtrOutput() CostCategoryRuleRuleNotNotTagsPtrOutput + ToCostCategoryRuleRuleNotNotTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotNotTagsPtrOutput +} + +type costCategoryRuleRuleNotNotTagsPtrType CostCategoryRuleRuleNotNotTagsArgs + +func CostCategoryRuleRuleNotNotTagsPtr(v *CostCategoryRuleRuleNotNotTagsArgs) CostCategoryRuleRuleNotNotTagsPtrInput { + return (*costCategoryRuleRuleNotNotTagsPtrType)(v) +} + +func (*costCategoryRuleRuleNotNotTagsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotNotTags)(nil)).Elem() +} + +func (i *costCategoryRuleRuleNotNotTagsPtrType) ToCostCategoryRuleRuleNotNotTagsPtrOutput() CostCategoryRuleRuleNotNotTagsPtrOutput { + return i.ToCostCategoryRuleRuleNotNotTagsPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleNotNotTagsPtrType) ToCostCategoryRuleRuleNotNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotNotTagsPtrOutput) +} + +type CostCategoryRuleRuleNotNotTagsOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotNotTagsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotNotTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotNotTagsOutput) ToCostCategoryRuleRuleNotNotTagsOutput() CostCategoryRuleRuleNotNotTagsOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotTagsOutput) ToCostCategoryRuleRuleNotNotTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotTagsOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotTagsOutput) ToCostCategoryRuleRuleNotNotTagsPtrOutput() CostCategoryRuleRuleNotNotTagsPtrOutput { + return o.ToCostCategoryRuleRuleNotNotTagsPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleNotNotTagsOutput) ToCostCategoryRuleRuleNotNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotTagsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotNotTags) *CostCategoryRuleRuleNotNotTags { + return &v + }).(CostCategoryRuleRuleNotNotTagsPtrOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleNotNotTagsOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotNotTags) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotNotTagsOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotNotTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotNotTagsOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotNotTags) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotNotTagsPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotNotTagsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotNotTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotNotTagsPtrOutput) ToCostCategoryRuleRuleNotNotTagsPtrOutput() CostCategoryRuleRuleNotNotTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotTagsPtrOutput) ToCostCategoryRuleRuleNotNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotNotTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotNotTagsPtrOutput) Elem() CostCategoryRuleRuleNotNotTagsOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNotTags) CostCategoryRuleRuleNotNotTags { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleNotNotTags + return ret + }).(CostCategoryRuleRuleNotNotTagsOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleNotNotTagsPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNotTags) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotNotTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNotTags) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotNotTagsPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotNotTags) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotOr struct { + CostCategory *CostCategoryRuleRuleNotOrCostCategory `pulumi:"costCategory"` + Dimension *CostCategoryRuleRuleNotOrDimension `pulumi:"dimension"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags *CostCategoryRuleRuleNotOrTags `pulumi:"tags"` +} + +// CostCategoryRuleRuleNotOrInput is an input type that accepts CostCategoryRuleRuleNotOrArgs and CostCategoryRuleRuleNotOrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotOrInput` via: +// +// CostCategoryRuleRuleNotOrArgs{...} +type CostCategoryRuleRuleNotOrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotOrOutput() CostCategoryRuleRuleNotOrOutput + ToCostCategoryRuleRuleNotOrOutputWithContext(context.Context) CostCategoryRuleRuleNotOrOutput +} + +type CostCategoryRuleRuleNotOrArgs struct { + CostCategory CostCategoryRuleRuleNotOrCostCategoryPtrInput `pulumi:"costCategory"` + Dimension CostCategoryRuleRuleNotOrDimensionPtrInput `pulumi:"dimension"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags CostCategoryRuleRuleNotOrTagsPtrInput `pulumi:"tags"` +} + +func (CostCategoryRuleRuleNotOrArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotOr)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotOrArgs) ToCostCategoryRuleRuleNotOrOutput() CostCategoryRuleRuleNotOrOutput { + return i.ToCostCategoryRuleRuleNotOrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotOrArgs) ToCostCategoryRuleRuleNotOrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotOrOutput) +} + +// CostCategoryRuleRuleNotOrArrayInput is an input type that accepts CostCategoryRuleRuleNotOrArray and CostCategoryRuleRuleNotOrArrayOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotOrArrayInput` via: +// +// CostCategoryRuleRuleNotOrArray{ CostCategoryRuleRuleNotOrArgs{...} } +type CostCategoryRuleRuleNotOrArrayInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotOrArrayOutput() CostCategoryRuleRuleNotOrArrayOutput + ToCostCategoryRuleRuleNotOrArrayOutputWithContext(context.Context) CostCategoryRuleRuleNotOrArrayOutput +} + +type CostCategoryRuleRuleNotOrArray []CostCategoryRuleRuleNotOrInput + +func (CostCategoryRuleRuleNotOrArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategoryRuleRuleNotOr)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotOrArray) ToCostCategoryRuleRuleNotOrArrayOutput() CostCategoryRuleRuleNotOrArrayOutput { + return i.ToCostCategoryRuleRuleNotOrArrayOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotOrArray) ToCostCategoryRuleRuleNotOrArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotOrArrayOutput) +} + +type CostCategoryRuleRuleNotOrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotOrOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotOr)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotOrOutput) ToCostCategoryRuleRuleNotOrOutput() CostCategoryRuleRuleNotOrOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrOutput) ToCostCategoryRuleRuleNotOrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrOutput) CostCategory() CostCategoryRuleRuleNotOrCostCategoryPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotOr) *CostCategoryRuleRuleNotOrCostCategory { return v.CostCategory }).(CostCategoryRuleRuleNotOrCostCategoryPtrOutput) +} + +func (o CostCategoryRuleRuleNotOrOutput) Dimension() CostCategoryRuleRuleNotOrDimensionPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotOr) *CostCategoryRuleRuleNotOrDimension { return v.Dimension }).(CostCategoryRuleRuleNotOrDimensionPtrOutput) +} + +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o CostCategoryRuleRuleNotOrOutput) Tags() CostCategoryRuleRuleNotOrTagsPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotOr) *CostCategoryRuleRuleNotOrTags { return v.Tags }).(CostCategoryRuleRuleNotOrTagsPtrOutput) +} + +type CostCategoryRuleRuleNotOrArrayOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotOrArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategoryRuleRuleNotOr)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotOrArrayOutput) ToCostCategoryRuleRuleNotOrArrayOutput() CostCategoryRuleRuleNotOrArrayOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrArrayOutput) ToCostCategoryRuleRuleNotOrArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrArrayOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrArrayOutput) Index(i pulumi.IntInput) CostCategoryRuleRuleNotOrOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CostCategoryRuleRuleNotOr { + return vs[0].([]CostCategoryRuleRuleNotOr)[vs[1].(int)] + }).(CostCategoryRuleRuleNotOrOutput) +} + +type CostCategoryRuleRuleNotOrCostCategory struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleNotOrCostCategoryInput is an input type that accepts CostCategoryRuleRuleNotOrCostCategoryArgs and CostCategoryRuleRuleNotOrCostCategoryOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotOrCostCategoryInput` via: +// +// CostCategoryRuleRuleNotOrCostCategoryArgs{...} +type CostCategoryRuleRuleNotOrCostCategoryInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotOrCostCategoryOutput() CostCategoryRuleRuleNotOrCostCategoryOutput + ToCostCategoryRuleRuleNotOrCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleNotOrCostCategoryOutput +} + +type CostCategoryRuleRuleNotOrCostCategoryArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleNotOrCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotOrCostCategory)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotOrCostCategoryArgs) ToCostCategoryRuleRuleNotOrCostCategoryOutput() CostCategoryRuleRuleNotOrCostCategoryOutput { + return i.ToCostCategoryRuleRuleNotOrCostCategoryOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotOrCostCategoryArgs) ToCostCategoryRuleRuleNotOrCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotOrCostCategoryOutput) +} + +func (i CostCategoryRuleRuleNotOrCostCategoryArgs) ToCostCategoryRuleRuleNotOrCostCategoryPtrOutput() CostCategoryRuleRuleNotOrCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleNotOrCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotOrCostCategoryArgs) ToCostCategoryRuleRuleNotOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotOrCostCategoryOutput).ToCostCategoryRuleRuleNotOrCostCategoryPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleNotOrCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleNotOrCostCategoryArgs, CostCategoryRuleRuleNotOrCostCategoryPtr and CostCategoryRuleRuleNotOrCostCategoryPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotOrCostCategoryPtrInput` via: +// +// CostCategoryRuleRuleNotOrCostCategoryArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleNotOrCostCategoryPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotOrCostCategoryPtrOutput() CostCategoryRuleRuleNotOrCostCategoryPtrOutput + ToCostCategoryRuleRuleNotOrCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotOrCostCategoryPtrOutput +} + +type costCategoryRuleRuleNotOrCostCategoryPtrType CostCategoryRuleRuleNotOrCostCategoryArgs + +func CostCategoryRuleRuleNotOrCostCategoryPtr(v *CostCategoryRuleRuleNotOrCostCategoryArgs) CostCategoryRuleRuleNotOrCostCategoryPtrInput { + return (*costCategoryRuleRuleNotOrCostCategoryPtrType)(v) +} + +func (*costCategoryRuleRuleNotOrCostCategoryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotOrCostCategory)(nil)).Elem() +} + +func (i *costCategoryRuleRuleNotOrCostCategoryPtrType) ToCostCategoryRuleRuleNotOrCostCategoryPtrOutput() CostCategoryRuleRuleNotOrCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleNotOrCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleNotOrCostCategoryPtrType) ToCostCategoryRuleRuleNotOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotOrCostCategoryPtrOutput) +} + +type CostCategoryRuleRuleNotOrCostCategoryOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotOrCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotOrCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotOrCostCategoryOutput) ToCostCategoryRuleRuleNotOrCostCategoryOutput() CostCategoryRuleRuleNotOrCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrCostCategoryOutput) ToCostCategoryRuleRuleNotOrCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrCostCategoryOutput) ToCostCategoryRuleRuleNotOrCostCategoryPtrOutput() CostCategoryRuleRuleNotOrCostCategoryPtrOutput { + return o.ToCostCategoryRuleRuleNotOrCostCategoryPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleNotOrCostCategoryOutput) ToCostCategoryRuleRuleNotOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrCostCategoryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotOrCostCategory) *CostCategoryRuleRuleNotOrCostCategory { + return &v + }).(CostCategoryRuleRuleNotOrCostCategoryPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotOrCostCategoryOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotOrCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotOrCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotOrCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotOrCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotOrCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotOrCostCategoryPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotOrCostCategoryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotOrCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotOrCostCategoryPtrOutput) ToCostCategoryRuleRuleNotOrCostCategoryPtrOutput() CostCategoryRuleRuleNotOrCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrCostCategoryPtrOutput) ToCostCategoryRuleRuleNotOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrCostCategoryPtrOutput) Elem() CostCategoryRuleRuleNotOrCostCategoryOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotOrCostCategory) CostCategoryRuleRuleNotOrCostCategory { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleNotOrCostCategory + return ret + }).(CostCategoryRuleRuleNotOrCostCategoryOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotOrCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotOrCostCategory) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotOrCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotOrCostCategory) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotOrCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotOrCostCategory) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotOrDimension struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleNotOrDimensionInput is an input type that accepts CostCategoryRuleRuleNotOrDimensionArgs and CostCategoryRuleRuleNotOrDimensionOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotOrDimensionInput` via: +// +// CostCategoryRuleRuleNotOrDimensionArgs{...} +type CostCategoryRuleRuleNotOrDimensionInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotOrDimensionOutput() CostCategoryRuleRuleNotOrDimensionOutput + ToCostCategoryRuleRuleNotOrDimensionOutputWithContext(context.Context) CostCategoryRuleRuleNotOrDimensionOutput +} + +type CostCategoryRuleRuleNotOrDimensionArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleNotOrDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotOrDimension)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotOrDimensionArgs) ToCostCategoryRuleRuleNotOrDimensionOutput() CostCategoryRuleRuleNotOrDimensionOutput { + return i.ToCostCategoryRuleRuleNotOrDimensionOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotOrDimensionArgs) ToCostCategoryRuleRuleNotOrDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotOrDimensionOutput) +} + +func (i CostCategoryRuleRuleNotOrDimensionArgs) ToCostCategoryRuleRuleNotOrDimensionPtrOutput() CostCategoryRuleRuleNotOrDimensionPtrOutput { + return i.ToCostCategoryRuleRuleNotOrDimensionPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotOrDimensionArgs) ToCostCategoryRuleRuleNotOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotOrDimensionOutput).ToCostCategoryRuleRuleNotOrDimensionPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleNotOrDimensionPtrInput is an input type that accepts CostCategoryRuleRuleNotOrDimensionArgs, CostCategoryRuleRuleNotOrDimensionPtr and CostCategoryRuleRuleNotOrDimensionPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotOrDimensionPtrInput` via: +// +// CostCategoryRuleRuleNotOrDimensionArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleNotOrDimensionPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotOrDimensionPtrOutput() CostCategoryRuleRuleNotOrDimensionPtrOutput + ToCostCategoryRuleRuleNotOrDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotOrDimensionPtrOutput +} + +type costCategoryRuleRuleNotOrDimensionPtrType CostCategoryRuleRuleNotOrDimensionArgs + +func CostCategoryRuleRuleNotOrDimensionPtr(v *CostCategoryRuleRuleNotOrDimensionArgs) CostCategoryRuleRuleNotOrDimensionPtrInput { + return (*costCategoryRuleRuleNotOrDimensionPtrType)(v) +} + +func (*costCategoryRuleRuleNotOrDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotOrDimension)(nil)).Elem() +} + +func (i *costCategoryRuleRuleNotOrDimensionPtrType) ToCostCategoryRuleRuleNotOrDimensionPtrOutput() CostCategoryRuleRuleNotOrDimensionPtrOutput { + return i.ToCostCategoryRuleRuleNotOrDimensionPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleNotOrDimensionPtrType) ToCostCategoryRuleRuleNotOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotOrDimensionPtrOutput) +} + +type CostCategoryRuleRuleNotOrDimensionOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotOrDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotOrDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotOrDimensionOutput) ToCostCategoryRuleRuleNotOrDimensionOutput() CostCategoryRuleRuleNotOrDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrDimensionOutput) ToCostCategoryRuleRuleNotOrDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrDimensionOutput) ToCostCategoryRuleRuleNotOrDimensionPtrOutput() CostCategoryRuleRuleNotOrDimensionPtrOutput { + return o.ToCostCategoryRuleRuleNotOrDimensionPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleNotOrDimensionOutput) ToCostCategoryRuleRuleNotOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotOrDimension) *CostCategoryRuleRuleNotOrDimension { + return &v + }).(CostCategoryRuleRuleNotOrDimensionPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotOrDimensionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotOrDimension) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotOrDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotOrDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotOrDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotOrDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotOrDimensionPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotOrDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotOrDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotOrDimensionPtrOutput) ToCostCategoryRuleRuleNotOrDimensionPtrOutput() CostCategoryRuleRuleNotOrDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrDimensionPtrOutput) ToCostCategoryRuleRuleNotOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrDimensionPtrOutput) Elem() CostCategoryRuleRuleNotOrDimensionOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotOrDimension) CostCategoryRuleRuleNotOrDimension { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleNotOrDimension + return ret + }).(CostCategoryRuleRuleNotOrDimensionOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleNotOrDimensionPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotOrDimension) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotOrDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotOrDimension) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotOrDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotOrDimension) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotOrTags struct { + // Key for the tag. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleNotOrTagsInput is an input type that accepts CostCategoryRuleRuleNotOrTagsArgs and CostCategoryRuleRuleNotOrTagsOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotOrTagsInput` via: +// +// CostCategoryRuleRuleNotOrTagsArgs{...} +type CostCategoryRuleRuleNotOrTagsInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotOrTagsOutput() CostCategoryRuleRuleNotOrTagsOutput + ToCostCategoryRuleRuleNotOrTagsOutputWithContext(context.Context) CostCategoryRuleRuleNotOrTagsOutput +} + +type CostCategoryRuleRuleNotOrTagsArgs struct { + // Key for the tag. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleNotOrTagsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotOrTags)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotOrTagsArgs) ToCostCategoryRuleRuleNotOrTagsOutput() CostCategoryRuleRuleNotOrTagsOutput { + return i.ToCostCategoryRuleRuleNotOrTagsOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotOrTagsArgs) ToCostCategoryRuleRuleNotOrTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrTagsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotOrTagsOutput) +} + +func (i CostCategoryRuleRuleNotOrTagsArgs) ToCostCategoryRuleRuleNotOrTagsPtrOutput() CostCategoryRuleRuleNotOrTagsPtrOutput { + return i.ToCostCategoryRuleRuleNotOrTagsPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotOrTagsArgs) ToCostCategoryRuleRuleNotOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotOrTagsOutput).ToCostCategoryRuleRuleNotOrTagsPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleNotOrTagsPtrInput is an input type that accepts CostCategoryRuleRuleNotOrTagsArgs, CostCategoryRuleRuleNotOrTagsPtr and CostCategoryRuleRuleNotOrTagsPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotOrTagsPtrInput` via: +// +// CostCategoryRuleRuleNotOrTagsArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleNotOrTagsPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotOrTagsPtrOutput() CostCategoryRuleRuleNotOrTagsPtrOutput + ToCostCategoryRuleRuleNotOrTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotOrTagsPtrOutput +} + +type costCategoryRuleRuleNotOrTagsPtrType CostCategoryRuleRuleNotOrTagsArgs + +func CostCategoryRuleRuleNotOrTagsPtr(v *CostCategoryRuleRuleNotOrTagsArgs) CostCategoryRuleRuleNotOrTagsPtrInput { + return (*costCategoryRuleRuleNotOrTagsPtrType)(v) +} + +func (*costCategoryRuleRuleNotOrTagsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotOrTags)(nil)).Elem() +} + +func (i *costCategoryRuleRuleNotOrTagsPtrType) ToCostCategoryRuleRuleNotOrTagsPtrOutput() CostCategoryRuleRuleNotOrTagsPtrOutput { + return i.ToCostCategoryRuleRuleNotOrTagsPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleNotOrTagsPtrType) ToCostCategoryRuleRuleNotOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotOrTagsPtrOutput) +} + +type CostCategoryRuleRuleNotOrTagsOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotOrTagsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotOrTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotOrTagsOutput) ToCostCategoryRuleRuleNotOrTagsOutput() CostCategoryRuleRuleNotOrTagsOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrTagsOutput) ToCostCategoryRuleRuleNotOrTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrTagsOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrTagsOutput) ToCostCategoryRuleRuleNotOrTagsPtrOutput() CostCategoryRuleRuleNotOrTagsPtrOutput { + return o.ToCostCategoryRuleRuleNotOrTagsPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleNotOrTagsOutput) ToCostCategoryRuleRuleNotOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrTagsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotOrTags) *CostCategoryRuleRuleNotOrTags { + return &v + }).(CostCategoryRuleRuleNotOrTagsPtrOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleNotOrTagsOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotOrTags) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotOrTagsOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotOrTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotOrTagsOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotOrTags) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotOrTagsPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotOrTagsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotOrTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotOrTagsPtrOutput) ToCostCategoryRuleRuleNotOrTagsPtrOutput() CostCategoryRuleRuleNotOrTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrTagsPtrOutput) ToCostCategoryRuleRuleNotOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotOrTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotOrTagsPtrOutput) Elem() CostCategoryRuleRuleNotOrTagsOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotOrTags) CostCategoryRuleRuleNotOrTags { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleNotOrTags + return ret + }).(CostCategoryRuleRuleNotOrTagsOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleNotOrTagsPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotOrTags) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotOrTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotOrTags) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotOrTagsPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotOrTags) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotTags struct { + // Key for the tag. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleNotTagsInput is an input type that accepts CostCategoryRuleRuleNotTagsArgs and CostCategoryRuleRuleNotTagsOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotTagsInput` via: +// +// CostCategoryRuleRuleNotTagsArgs{...} +type CostCategoryRuleRuleNotTagsInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotTagsOutput() CostCategoryRuleRuleNotTagsOutput + ToCostCategoryRuleRuleNotTagsOutputWithContext(context.Context) CostCategoryRuleRuleNotTagsOutput +} + +type CostCategoryRuleRuleNotTagsArgs struct { + // Key for the tag. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleNotTagsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotTags)(nil)).Elem() +} + +func (i CostCategoryRuleRuleNotTagsArgs) ToCostCategoryRuleRuleNotTagsOutput() CostCategoryRuleRuleNotTagsOutput { + return i.ToCostCategoryRuleRuleNotTagsOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotTagsArgs) ToCostCategoryRuleRuleNotTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotTagsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotTagsOutput) +} + +func (i CostCategoryRuleRuleNotTagsArgs) ToCostCategoryRuleRuleNotTagsPtrOutput() CostCategoryRuleRuleNotTagsPtrOutput { + return i.ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleNotTagsArgs) ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotTagsOutput).ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleNotTagsPtrInput is an input type that accepts CostCategoryRuleRuleNotTagsArgs, CostCategoryRuleRuleNotTagsPtr and CostCategoryRuleRuleNotTagsPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleNotTagsPtrInput` via: +// +// CostCategoryRuleRuleNotTagsArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleNotTagsPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleNotTagsPtrOutput() CostCategoryRuleRuleNotTagsPtrOutput + ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleNotTagsPtrOutput +} + +type costCategoryRuleRuleNotTagsPtrType CostCategoryRuleRuleNotTagsArgs + +func CostCategoryRuleRuleNotTagsPtr(v *CostCategoryRuleRuleNotTagsArgs) CostCategoryRuleRuleNotTagsPtrInput { + return (*costCategoryRuleRuleNotTagsPtrType)(v) +} + +func (*costCategoryRuleRuleNotTagsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotTags)(nil)).Elem() +} + +func (i *costCategoryRuleRuleNotTagsPtrType) ToCostCategoryRuleRuleNotTagsPtrOutput() CostCategoryRuleRuleNotTagsPtrOutput { + return i.ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleNotTagsPtrType) ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleNotTagsPtrOutput) +} + +type CostCategoryRuleRuleNotTagsOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotTagsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleNotTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotTagsOutput) ToCostCategoryRuleRuleNotTagsOutput() CostCategoryRuleRuleNotTagsOutput { + return o +} + +func (o CostCategoryRuleRuleNotTagsOutput) ToCostCategoryRuleRuleNotTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotTagsOutput { + return o +} + +func (o CostCategoryRuleRuleNotTagsOutput) ToCostCategoryRuleRuleNotTagsPtrOutput() CostCategoryRuleRuleNotTagsPtrOutput { + return o.ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleNotTagsOutput) ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotTagsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleNotTags) *CostCategoryRuleRuleNotTags { + return &v + }).(CostCategoryRuleRuleNotTagsPtrOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleNotTagsOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotTags) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotTagsOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotTagsOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleNotTags) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleNotTagsPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleNotTagsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleNotTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleNotTagsPtrOutput) ToCostCategoryRuleRuleNotTagsPtrOutput() CostCategoryRuleRuleNotTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotTagsPtrOutput) ToCostCategoryRuleRuleNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleNotTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleNotTagsPtrOutput) Elem() CostCategoryRuleRuleNotTagsOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotTags) CostCategoryRuleRuleNotTags { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleNotTags + return ret + }).(CostCategoryRuleRuleNotTagsOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleNotTagsPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotTags) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleNotTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotTags) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleNotTagsPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleNotTags) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOr struct { + Ands []CostCategoryRuleRuleOrAnd `pulumi:"ands"` + CostCategory *CostCategoryRuleRuleOrCostCategory `pulumi:"costCategory"` + Dimension *CostCategoryRuleRuleOrDimension `pulumi:"dimension"` + Not *CostCategoryRuleRuleOrNot `pulumi:"not"` + Ors []CostCategoryRuleRuleOrOr `pulumi:"ors"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags *CostCategoryRuleRuleOrTags `pulumi:"tags"` +} + +// CostCategoryRuleRuleOrInput is an input type that accepts CostCategoryRuleRuleOrArgs and CostCategoryRuleRuleOrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrInput` via: +// +// CostCategoryRuleRuleOrArgs{...} +type CostCategoryRuleRuleOrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrOutput() CostCategoryRuleRuleOrOutput + ToCostCategoryRuleRuleOrOutputWithContext(context.Context) CostCategoryRuleRuleOrOutput +} + +type CostCategoryRuleRuleOrArgs struct { + Ands CostCategoryRuleRuleOrAndArrayInput `pulumi:"ands"` + CostCategory CostCategoryRuleRuleOrCostCategoryPtrInput `pulumi:"costCategory"` + Dimension CostCategoryRuleRuleOrDimensionPtrInput `pulumi:"dimension"` + Not CostCategoryRuleRuleOrNotPtrInput `pulumi:"not"` + Ors CostCategoryRuleRuleOrOrArrayInput `pulumi:"ors"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags CostCategoryRuleRuleOrTagsPtrInput `pulumi:"tags"` +} + +func (CostCategoryRuleRuleOrArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOr)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrArgs) ToCostCategoryRuleRuleOrOutput() CostCategoryRuleRuleOrOutput { + return i.ToCostCategoryRuleRuleOrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrArgs) ToCostCategoryRuleRuleOrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrOutput) +} + +// CostCategoryRuleRuleOrArrayInput is an input type that accepts CostCategoryRuleRuleOrArray and CostCategoryRuleRuleOrArrayOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrArrayInput` via: +// +// CostCategoryRuleRuleOrArray{ CostCategoryRuleRuleOrArgs{...} } +type CostCategoryRuleRuleOrArrayInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrArrayOutput() CostCategoryRuleRuleOrArrayOutput + ToCostCategoryRuleRuleOrArrayOutputWithContext(context.Context) CostCategoryRuleRuleOrArrayOutput +} + +type CostCategoryRuleRuleOrArray []CostCategoryRuleRuleOrInput + +func (CostCategoryRuleRuleOrArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategoryRuleRuleOr)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrArray) ToCostCategoryRuleRuleOrArrayOutput() CostCategoryRuleRuleOrArrayOutput { + return i.ToCostCategoryRuleRuleOrArrayOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrArray) ToCostCategoryRuleRuleOrArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrArrayOutput) +} + +type CostCategoryRuleRuleOrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOr)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrOutput) ToCostCategoryRuleRuleOrOutput() CostCategoryRuleRuleOrOutput { + return o +} + +func (o CostCategoryRuleRuleOrOutput) ToCostCategoryRuleRuleOrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOutput { + return o +} + +func (o CostCategoryRuleRuleOrOutput) Ands() CostCategoryRuleRuleOrAndArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOr) []CostCategoryRuleRuleOrAnd { return v.Ands }).(CostCategoryRuleRuleOrAndArrayOutput) +} + +func (o CostCategoryRuleRuleOrOutput) CostCategory() CostCategoryRuleRuleOrCostCategoryPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOr) *CostCategoryRuleRuleOrCostCategory { return v.CostCategory }).(CostCategoryRuleRuleOrCostCategoryPtrOutput) +} + +func (o CostCategoryRuleRuleOrOutput) Dimension() CostCategoryRuleRuleOrDimensionPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOr) *CostCategoryRuleRuleOrDimension { return v.Dimension }).(CostCategoryRuleRuleOrDimensionPtrOutput) +} + +func (o CostCategoryRuleRuleOrOutput) Not() CostCategoryRuleRuleOrNotPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOr) *CostCategoryRuleRuleOrNot { return v.Not }).(CostCategoryRuleRuleOrNotPtrOutput) +} + +func (o CostCategoryRuleRuleOrOutput) Ors() CostCategoryRuleRuleOrOrArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOr) []CostCategoryRuleRuleOrOr { return v.Ors }).(CostCategoryRuleRuleOrOrArrayOutput) +} + +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o CostCategoryRuleRuleOrOutput) Tags() CostCategoryRuleRuleOrTagsPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOr) *CostCategoryRuleRuleOrTags { return v.Tags }).(CostCategoryRuleRuleOrTagsPtrOutput) +} + +type CostCategoryRuleRuleOrArrayOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategoryRuleRuleOr)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrArrayOutput) ToCostCategoryRuleRuleOrArrayOutput() CostCategoryRuleRuleOrArrayOutput { + return o +} + +func (o CostCategoryRuleRuleOrArrayOutput) ToCostCategoryRuleRuleOrArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrArrayOutput { + return o +} + +func (o CostCategoryRuleRuleOrArrayOutput) Index(i pulumi.IntInput) CostCategoryRuleRuleOrOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CostCategoryRuleRuleOr { + return vs[0].([]CostCategoryRuleRuleOr)[vs[1].(int)] + }).(CostCategoryRuleRuleOrOutput) +} + +type CostCategoryRuleRuleOrAnd struct { + CostCategory *CostCategoryRuleRuleOrAndCostCategory `pulumi:"costCategory"` + Dimension *CostCategoryRuleRuleOrAndDimension `pulumi:"dimension"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags *CostCategoryRuleRuleOrAndTags `pulumi:"tags"` +} + +// CostCategoryRuleRuleOrAndInput is an input type that accepts CostCategoryRuleRuleOrAndArgs and CostCategoryRuleRuleOrAndOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrAndInput` via: +// +// CostCategoryRuleRuleOrAndArgs{...} +type CostCategoryRuleRuleOrAndInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrAndOutput() CostCategoryRuleRuleOrAndOutput + ToCostCategoryRuleRuleOrAndOutputWithContext(context.Context) CostCategoryRuleRuleOrAndOutput +} + +type CostCategoryRuleRuleOrAndArgs struct { + CostCategory CostCategoryRuleRuleOrAndCostCategoryPtrInput `pulumi:"costCategory"` + Dimension CostCategoryRuleRuleOrAndDimensionPtrInput `pulumi:"dimension"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags CostCategoryRuleRuleOrAndTagsPtrInput `pulumi:"tags"` +} + +func (CostCategoryRuleRuleOrAndArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrAnd)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrAndArgs) ToCostCategoryRuleRuleOrAndOutput() CostCategoryRuleRuleOrAndOutput { + return i.ToCostCategoryRuleRuleOrAndOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrAndArgs) ToCostCategoryRuleRuleOrAndOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrAndOutput) +} + +// CostCategoryRuleRuleOrAndArrayInput is an input type that accepts CostCategoryRuleRuleOrAndArray and CostCategoryRuleRuleOrAndArrayOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrAndArrayInput` via: +// +// CostCategoryRuleRuleOrAndArray{ CostCategoryRuleRuleOrAndArgs{...} } +type CostCategoryRuleRuleOrAndArrayInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrAndArrayOutput() CostCategoryRuleRuleOrAndArrayOutput + ToCostCategoryRuleRuleOrAndArrayOutputWithContext(context.Context) CostCategoryRuleRuleOrAndArrayOutput +} + +type CostCategoryRuleRuleOrAndArray []CostCategoryRuleRuleOrAndInput + +func (CostCategoryRuleRuleOrAndArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategoryRuleRuleOrAnd)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrAndArray) ToCostCategoryRuleRuleOrAndArrayOutput() CostCategoryRuleRuleOrAndArrayOutput { + return i.ToCostCategoryRuleRuleOrAndArrayOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrAndArray) ToCostCategoryRuleRuleOrAndArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrAndArrayOutput) +} + +type CostCategoryRuleRuleOrAndOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrAndOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrAnd)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrAndOutput) ToCostCategoryRuleRuleOrAndOutput() CostCategoryRuleRuleOrAndOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndOutput) ToCostCategoryRuleRuleOrAndOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndOutput) CostCategory() CostCategoryRuleRuleOrAndCostCategoryPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrAnd) *CostCategoryRuleRuleOrAndCostCategory { return v.CostCategory }).(CostCategoryRuleRuleOrAndCostCategoryPtrOutput) +} + +func (o CostCategoryRuleRuleOrAndOutput) Dimension() CostCategoryRuleRuleOrAndDimensionPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrAnd) *CostCategoryRuleRuleOrAndDimension { return v.Dimension }).(CostCategoryRuleRuleOrAndDimensionPtrOutput) +} + +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o CostCategoryRuleRuleOrAndOutput) Tags() CostCategoryRuleRuleOrAndTagsPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrAnd) *CostCategoryRuleRuleOrAndTags { return v.Tags }).(CostCategoryRuleRuleOrAndTagsPtrOutput) +} + +type CostCategoryRuleRuleOrAndArrayOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrAndArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategoryRuleRuleOrAnd)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrAndArrayOutput) ToCostCategoryRuleRuleOrAndArrayOutput() CostCategoryRuleRuleOrAndArrayOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndArrayOutput) ToCostCategoryRuleRuleOrAndArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndArrayOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndArrayOutput) Index(i pulumi.IntInput) CostCategoryRuleRuleOrAndOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CostCategoryRuleRuleOrAnd { + return vs[0].([]CostCategoryRuleRuleOrAnd)[vs[1].(int)] + }).(CostCategoryRuleRuleOrAndOutput) +} + +type CostCategoryRuleRuleOrAndCostCategory struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleOrAndCostCategoryInput is an input type that accepts CostCategoryRuleRuleOrAndCostCategoryArgs and CostCategoryRuleRuleOrAndCostCategoryOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrAndCostCategoryInput` via: +// +// CostCategoryRuleRuleOrAndCostCategoryArgs{...} +type CostCategoryRuleRuleOrAndCostCategoryInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrAndCostCategoryOutput() CostCategoryRuleRuleOrAndCostCategoryOutput + ToCostCategoryRuleRuleOrAndCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleOrAndCostCategoryOutput +} + +type CostCategoryRuleRuleOrAndCostCategoryArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleOrAndCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrAndCostCategory)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrAndCostCategoryArgs) ToCostCategoryRuleRuleOrAndCostCategoryOutput() CostCategoryRuleRuleOrAndCostCategoryOutput { + return i.ToCostCategoryRuleRuleOrAndCostCategoryOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrAndCostCategoryArgs) ToCostCategoryRuleRuleOrAndCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrAndCostCategoryOutput) +} + +func (i CostCategoryRuleRuleOrAndCostCategoryArgs) ToCostCategoryRuleRuleOrAndCostCategoryPtrOutput() CostCategoryRuleRuleOrAndCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleOrAndCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrAndCostCategoryArgs) ToCostCategoryRuleRuleOrAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrAndCostCategoryOutput).ToCostCategoryRuleRuleOrAndCostCategoryPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleOrAndCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleOrAndCostCategoryArgs, CostCategoryRuleRuleOrAndCostCategoryPtr and CostCategoryRuleRuleOrAndCostCategoryPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrAndCostCategoryPtrInput` via: +// +// CostCategoryRuleRuleOrAndCostCategoryArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleOrAndCostCategoryPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrAndCostCategoryPtrOutput() CostCategoryRuleRuleOrAndCostCategoryPtrOutput + ToCostCategoryRuleRuleOrAndCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrAndCostCategoryPtrOutput +} + +type costCategoryRuleRuleOrAndCostCategoryPtrType CostCategoryRuleRuleOrAndCostCategoryArgs + +func CostCategoryRuleRuleOrAndCostCategoryPtr(v *CostCategoryRuleRuleOrAndCostCategoryArgs) CostCategoryRuleRuleOrAndCostCategoryPtrInput { + return (*costCategoryRuleRuleOrAndCostCategoryPtrType)(v) +} + +func (*costCategoryRuleRuleOrAndCostCategoryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrAndCostCategory)(nil)).Elem() +} + +func (i *costCategoryRuleRuleOrAndCostCategoryPtrType) ToCostCategoryRuleRuleOrAndCostCategoryPtrOutput() CostCategoryRuleRuleOrAndCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleOrAndCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleOrAndCostCategoryPtrType) ToCostCategoryRuleRuleOrAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrAndCostCategoryPtrOutput) +} + +type CostCategoryRuleRuleOrAndCostCategoryOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrAndCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrAndCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrAndCostCategoryOutput) ToCostCategoryRuleRuleOrAndCostCategoryOutput() CostCategoryRuleRuleOrAndCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndCostCategoryOutput) ToCostCategoryRuleRuleOrAndCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndCostCategoryOutput) ToCostCategoryRuleRuleOrAndCostCategoryPtrOutput() CostCategoryRuleRuleOrAndCostCategoryPtrOutput { + return o.ToCostCategoryRuleRuleOrAndCostCategoryPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleOrAndCostCategoryOutput) ToCostCategoryRuleRuleOrAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndCostCategoryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrAndCostCategory) *CostCategoryRuleRuleOrAndCostCategory { + return &v + }).(CostCategoryRuleRuleOrAndCostCategoryPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrAndCostCategoryOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrAndCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrAndCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrAndCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrAndCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrAndCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrAndCostCategoryPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrAndCostCategoryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrAndCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrAndCostCategoryPtrOutput) ToCostCategoryRuleRuleOrAndCostCategoryPtrOutput() CostCategoryRuleRuleOrAndCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndCostCategoryPtrOutput) ToCostCategoryRuleRuleOrAndCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndCostCategoryPtrOutput) Elem() CostCategoryRuleRuleOrAndCostCategoryOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrAndCostCategory) CostCategoryRuleRuleOrAndCostCategory { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleOrAndCostCategory + return ret + }).(CostCategoryRuleRuleOrAndCostCategoryOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrAndCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrAndCostCategory) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrAndCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrAndCostCategory) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrAndCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrAndCostCategory) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrAndDimension struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleOrAndDimensionInput is an input type that accepts CostCategoryRuleRuleOrAndDimensionArgs and CostCategoryRuleRuleOrAndDimensionOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrAndDimensionInput` via: +// +// CostCategoryRuleRuleOrAndDimensionArgs{...} +type CostCategoryRuleRuleOrAndDimensionInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrAndDimensionOutput() CostCategoryRuleRuleOrAndDimensionOutput + ToCostCategoryRuleRuleOrAndDimensionOutputWithContext(context.Context) CostCategoryRuleRuleOrAndDimensionOutput +} + +type CostCategoryRuleRuleOrAndDimensionArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleOrAndDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrAndDimension)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrAndDimensionArgs) ToCostCategoryRuleRuleOrAndDimensionOutput() CostCategoryRuleRuleOrAndDimensionOutput { + return i.ToCostCategoryRuleRuleOrAndDimensionOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrAndDimensionArgs) ToCostCategoryRuleRuleOrAndDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrAndDimensionOutput) +} + +func (i CostCategoryRuleRuleOrAndDimensionArgs) ToCostCategoryRuleRuleOrAndDimensionPtrOutput() CostCategoryRuleRuleOrAndDimensionPtrOutput { + return i.ToCostCategoryRuleRuleOrAndDimensionPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrAndDimensionArgs) ToCostCategoryRuleRuleOrAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrAndDimensionOutput).ToCostCategoryRuleRuleOrAndDimensionPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleOrAndDimensionPtrInput is an input type that accepts CostCategoryRuleRuleOrAndDimensionArgs, CostCategoryRuleRuleOrAndDimensionPtr and CostCategoryRuleRuleOrAndDimensionPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrAndDimensionPtrInput` via: +// +// CostCategoryRuleRuleOrAndDimensionArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleOrAndDimensionPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrAndDimensionPtrOutput() CostCategoryRuleRuleOrAndDimensionPtrOutput + ToCostCategoryRuleRuleOrAndDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrAndDimensionPtrOutput +} + +type costCategoryRuleRuleOrAndDimensionPtrType CostCategoryRuleRuleOrAndDimensionArgs + +func CostCategoryRuleRuleOrAndDimensionPtr(v *CostCategoryRuleRuleOrAndDimensionArgs) CostCategoryRuleRuleOrAndDimensionPtrInput { + return (*costCategoryRuleRuleOrAndDimensionPtrType)(v) +} + +func (*costCategoryRuleRuleOrAndDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrAndDimension)(nil)).Elem() +} + +func (i *costCategoryRuleRuleOrAndDimensionPtrType) ToCostCategoryRuleRuleOrAndDimensionPtrOutput() CostCategoryRuleRuleOrAndDimensionPtrOutput { + return i.ToCostCategoryRuleRuleOrAndDimensionPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleOrAndDimensionPtrType) ToCostCategoryRuleRuleOrAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrAndDimensionPtrOutput) +} + +type CostCategoryRuleRuleOrAndDimensionOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrAndDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrAndDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrAndDimensionOutput) ToCostCategoryRuleRuleOrAndDimensionOutput() CostCategoryRuleRuleOrAndDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndDimensionOutput) ToCostCategoryRuleRuleOrAndDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndDimensionOutput) ToCostCategoryRuleRuleOrAndDimensionPtrOutput() CostCategoryRuleRuleOrAndDimensionPtrOutput { + return o.ToCostCategoryRuleRuleOrAndDimensionPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleOrAndDimensionOutput) ToCostCategoryRuleRuleOrAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrAndDimension) *CostCategoryRuleRuleOrAndDimension { + return &v + }).(CostCategoryRuleRuleOrAndDimensionPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrAndDimensionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrAndDimension) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrAndDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrAndDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrAndDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrAndDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrAndDimensionPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrAndDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrAndDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrAndDimensionPtrOutput) ToCostCategoryRuleRuleOrAndDimensionPtrOutput() CostCategoryRuleRuleOrAndDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndDimensionPtrOutput) ToCostCategoryRuleRuleOrAndDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndDimensionPtrOutput) Elem() CostCategoryRuleRuleOrAndDimensionOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrAndDimension) CostCategoryRuleRuleOrAndDimension { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleOrAndDimension + return ret + }).(CostCategoryRuleRuleOrAndDimensionOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrAndDimensionPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrAndDimension) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrAndDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrAndDimension) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrAndDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrAndDimension) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrAndTags struct { + // Key for the tag. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleOrAndTagsInput is an input type that accepts CostCategoryRuleRuleOrAndTagsArgs and CostCategoryRuleRuleOrAndTagsOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrAndTagsInput` via: +// +// CostCategoryRuleRuleOrAndTagsArgs{...} +type CostCategoryRuleRuleOrAndTagsInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrAndTagsOutput() CostCategoryRuleRuleOrAndTagsOutput + ToCostCategoryRuleRuleOrAndTagsOutputWithContext(context.Context) CostCategoryRuleRuleOrAndTagsOutput +} + +type CostCategoryRuleRuleOrAndTagsArgs struct { + // Key for the tag. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleOrAndTagsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrAndTags)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrAndTagsArgs) ToCostCategoryRuleRuleOrAndTagsOutput() CostCategoryRuleRuleOrAndTagsOutput { + return i.ToCostCategoryRuleRuleOrAndTagsOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrAndTagsArgs) ToCostCategoryRuleRuleOrAndTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndTagsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrAndTagsOutput) +} + +func (i CostCategoryRuleRuleOrAndTagsArgs) ToCostCategoryRuleRuleOrAndTagsPtrOutput() CostCategoryRuleRuleOrAndTagsPtrOutput { + return i.ToCostCategoryRuleRuleOrAndTagsPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrAndTagsArgs) ToCostCategoryRuleRuleOrAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrAndTagsOutput).ToCostCategoryRuleRuleOrAndTagsPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleOrAndTagsPtrInput is an input type that accepts CostCategoryRuleRuleOrAndTagsArgs, CostCategoryRuleRuleOrAndTagsPtr and CostCategoryRuleRuleOrAndTagsPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrAndTagsPtrInput` via: +// +// CostCategoryRuleRuleOrAndTagsArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleOrAndTagsPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrAndTagsPtrOutput() CostCategoryRuleRuleOrAndTagsPtrOutput + ToCostCategoryRuleRuleOrAndTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrAndTagsPtrOutput +} + +type costCategoryRuleRuleOrAndTagsPtrType CostCategoryRuleRuleOrAndTagsArgs + +func CostCategoryRuleRuleOrAndTagsPtr(v *CostCategoryRuleRuleOrAndTagsArgs) CostCategoryRuleRuleOrAndTagsPtrInput { + return (*costCategoryRuleRuleOrAndTagsPtrType)(v) +} + +func (*costCategoryRuleRuleOrAndTagsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrAndTags)(nil)).Elem() +} + +func (i *costCategoryRuleRuleOrAndTagsPtrType) ToCostCategoryRuleRuleOrAndTagsPtrOutput() CostCategoryRuleRuleOrAndTagsPtrOutput { + return i.ToCostCategoryRuleRuleOrAndTagsPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleOrAndTagsPtrType) ToCostCategoryRuleRuleOrAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrAndTagsPtrOutput) +} + +type CostCategoryRuleRuleOrAndTagsOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrAndTagsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrAndTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrAndTagsOutput) ToCostCategoryRuleRuleOrAndTagsOutput() CostCategoryRuleRuleOrAndTagsOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndTagsOutput) ToCostCategoryRuleRuleOrAndTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndTagsOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndTagsOutput) ToCostCategoryRuleRuleOrAndTagsPtrOutput() CostCategoryRuleRuleOrAndTagsPtrOutput { + return o.ToCostCategoryRuleRuleOrAndTagsPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleOrAndTagsOutput) ToCostCategoryRuleRuleOrAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndTagsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrAndTags) *CostCategoryRuleRuleOrAndTags { + return &v + }).(CostCategoryRuleRuleOrAndTagsPtrOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleOrAndTagsOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrAndTags) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrAndTagsOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrAndTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrAndTagsOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrAndTags) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrAndTagsPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrAndTagsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrAndTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrAndTagsPtrOutput) ToCostCategoryRuleRuleOrAndTagsPtrOutput() CostCategoryRuleRuleOrAndTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndTagsPtrOutput) ToCostCategoryRuleRuleOrAndTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrAndTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrAndTagsPtrOutput) Elem() CostCategoryRuleRuleOrAndTagsOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrAndTags) CostCategoryRuleRuleOrAndTags { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleOrAndTags + return ret + }).(CostCategoryRuleRuleOrAndTagsOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleOrAndTagsPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrAndTags) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrAndTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrAndTags) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrAndTagsPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrAndTags) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrCostCategory struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleOrCostCategoryInput is an input type that accepts CostCategoryRuleRuleOrCostCategoryArgs and CostCategoryRuleRuleOrCostCategoryOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrCostCategoryInput` via: +// +// CostCategoryRuleRuleOrCostCategoryArgs{...} +type CostCategoryRuleRuleOrCostCategoryInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrCostCategoryOutput() CostCategoryRuleRuleOrCostCategoryOutput + ToCostCategoryRuleRuleOrCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleOrCostCategoryOutput +} + +type CostCategoryRuleRuleOrCostCategoryArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleOrCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrCostCategory)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrCostCategoryArgs) ToCostCategoryRuleRuleOrCostCategoryOutput() CostCategoryRuleRuleOrCostCategoryOutput { + return i.ToCostCategoryRuleRuleOrCostCategoryOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrCostCategoryArgs) ToCostCategoryRuleRuleOrCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrCostCategoryOutput) +} + +func (i CostCategoryRuleRuleOrCostCategoryArgs) ToCostCategoryRuleRuleOrCostCategoryPtrOutput() CostCategoryRuleRuleOrCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrCostCategoryArgs) ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrCostCategoryOutput).ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleOrCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleOrCostCategoryArgs, CostCategoryRuleRuleOrCostCategoryPtr and CostCategoryRuleRuleOrCostCategoryPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrCostCategoryPtrInput` via: +// +// CostCategoryRuleRuleOrCostCategoryArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleOrCostCategoryPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrCostCategoryPtrOutput() CostCategoryRuleRuleOrCostCategoryPtrOutput + ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrCostCategoryPtrOutput +} + +type costCategoryRuleRuleOrCostCategoryPtrType CostCategoryRuleRuleOrCostCategoryArgs + +func CostCategoryRuleRuleOrCostCategoryPtr(v *CostCategoryRuleRuleOrCostCategoryArgs) CostCategoryRuleRuleOrCostCategoryPtrInput { + return (*costCategoryRuleRuleOrCostCategoryPtrType)(v) +} + +func (*costCategoryRuleRuleOrCostCategoryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrCostCategory)(nil)).Elem() +} + +func (i *costCategoryRuleRuleOrCostCategoryPtrType) ToCostCategoryRuleRuleOrCostCategoryPtrOutput() CostCategoryRuleRuleOrCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleOrCostCategoryPtrType) ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrCostCategoryPtrOutput) +} + +type CostCategoryRuleRuleOrCostCategoryOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrCostCategoryOutput) ToCostCategoryRuleRuleOrCostCategoryOutput() CostCategoryRuleRuleOrCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleOrCostCategoryOutput) ToCostCategoryRuleRuleOrCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleOrCostCategoryOutput) ToCostCategoryRuleRuleOrCostCategoryPtrOutput() CostCategoryRuleRuleOrCostCategoryPtrOutput { + return o.ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleOrCostCategoryOutput) ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrCostCategoryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrCostCategory) *CostCategoryRuleRuleOrCostCategory { + return &v + }).(CostCategoryRuleRuleOrCostCategoryPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrCostCategoryOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrCostCategoryPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrCostCategoryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrCostCategoryPtrOutput) ToCostCategoryRuleRuleOrCostCategoryPtrOutput() CostCategoryRuleRuleOrCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrCostCategoryPtrOutput) ToCostCategoryRuleRuleOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrCostCategoryPtrOutput) Elem() CostCategoryRuleRuleOrCostCategoryOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrCostCategory) CostCategoryRuleRuleOrCostCategory { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleOrCostCategory + return ret + }).(CostCategoryRuleRuleOrCostCategoryOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrCostCategory) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrCostCategory) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrCostCategory) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrDimension struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleOrDimensionInput is an input type that accepts CostCategoryRuleRuleOrDimensionArgs and CostCategoryRuleRuleOrDimensionOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrDimensionInput` via: +// +// CostCategoryRuleRuleOrDimensionArgs{...} +type CostCategoryRuleRuleOrDimensionInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrDimensionOutput() CostCategoryRuleRuleOrDimensionOutput + ToCostCategoryRuleRuleOrDimensionOutputWithContext(context.Context) CostCategoryRuleRuleOrDimensionOutput +} + +type CostCategoryRuleRuleOrDimensionArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleOrDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrDimension)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrDimensionArgs) ToCostCategoryRuleRuleOrDimensionOutput() CostCategoryRuleRuleOrDimensionOutput { + return i.ToCostCategoryRuleRuleOrDimensionOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrDimensionArgs) ToCostCategoryRuleRuleOrDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrDimensionOutput) +} + +func (i CostCategoryRuleRuleOrDimensionArgs) ToCostCategoryRuleRuleOrDimensionPtrOutput() CostCategoryRuleRuleOrDimensionPtrOutput { + return i.ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrDimensionArgs) ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrDimensionOutput).ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleOrDimensionPtrInput is an input type that accepts CostCategoryRuleRuleOrDimensionArgs, CostCategoryRuleRuleOrDimensionPtr and CostCategoryRuleRuleOrDimensionPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrDimensionPtrInput` via: +// +// CostCategoryRuleRuleOrDimensionArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleOrDimensionPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrDimensionPtrOutput() CostCategoryRuleRuleOrDimensionPtrOutput + ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrDimensionPtrOutput +} + +type costCategoryRuleRuleOrDimensionPtrType CostCategoryRuleRuleOrDimensionArgs + +func CostCategoryRuleRuleOrDimensionPtr(v *CostCategoryRuleRuleOrDimensionArgs) CostCategoryRuleRuleOrDimensionPtrInput { + return (*costCategoryRuleRuleOrDimensionPtrType)(v) +} + +func (*costCategoryRuleRuleOrDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrDimension)(nil)).Elem() +} + +func (i *costCategoryRuleRuleOrDimensionPtrType) ToCostCategoryRuleRuleOrDimensionPtrOutput() CostCategoryRuleRuleOrDimensionPtrOutput { + return i.ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleOrDimensionPtrType) ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrDimensionPtrOutput) +} + +type CostCategoryRuleRuleOrDimensionOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrDimensionOutput) ToCostCategoryRuleRuleOrDimensionOutput() CostCategoryRuleRuleOrDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleOrDimensionOutput) ToCostCategoryRuleRuleOrDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleOrDimensionOutput) ToCostCategoryRuleRuleOrDimensionPtrOutput() CostCategoryRuleRuleOrDimensionPtrOutput { + return o.ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleOrDimensionOutput) ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrDimension) *CostCategoryRuleRuleOrDimension { + return &v + }).(CostCategoryRuleRuleOrDimensionPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrDimensionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrDimension) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrDimensionPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrDimensionPtrOutput) ToCostCategoryRuleRuleOrDimensionPtrOutput() CostCategoryRuleRuleOrDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrDimensionPtrOutput) ToCostCategoryRuleRuleOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrDimensionPtrOutput) Elem() CostCategoryRuleRuleOrDimensionOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrDimension) CostCategoryRuleRuleOrDimension { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleOrDimension + return ret + }).(CostCategoryRuleRuleOrDimensionOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrDimensionPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrDimension) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrDimension) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrDimension) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrNot struct { + CostCategory *CostCategoryRuleRuleOrNotCostCategory `pulumi:"costCategory"` + Dimension *CostCategoryRuleRuleOrNotDimension `pulumi:"dimension"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags *CostCategoryRuleRuleOrNotTags `pulumi:"tags"` +} + +// CostCategoryRuleRuleOrNotInput is an input type that accepts CostCategoryRuleRuleOrNotArgs and CostCategoryRuleRuleOrNotOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrNotInput` via: +// +// CostCategoryRuleRuleOrNotArgs{...} +type CostCategoryRuleRuleOrNotInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrNotOutput() CostCategoryRuleRuleOrNotOutput + ToCostCategoryRuleRuleOrNotOutputWithContext(context.Context) CostCategoryRuleRuleOrNotOutput +} + +type CostCategoryRuleRuleOrNotArgs struct { + CostCategory CostCategoryRuleRuleOrNotCostCategoryPtrInput `pulumi:"costCategory"` + Dimension CostCategoryRuleRuleOrNotDimensionPtrInput `pulumi:"dimension"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags CostCategoryRuleRuleOrNotTagsPtrInput `pulumi:"tags"` +} + +func (CostCategoryRuleRuleOrNotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrNot)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrNotArgs) ToCostCategoryRuleRuleOrNotOutput() CostCategoryRuleRuleOrNotOutput { + return i.ToCostCategoryRuleRuleOrNotOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrNotArgs) ToCostCategoryRuleRuleOrNotOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrNotOutput) +} + +func (i CostCategoryRuleRuleOrNotArgs) ToCostCategoryRuleRuleOrNotPtrOutput() CostCategoryRuleRuleOrNotPtrOutput { + return i.ToCostCategoryRuleRuleOrNotPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrNotArgs) ToCostCategoryRuleRuleOrNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrNotOutput).ToCostCategoryRuleRuleOrNotPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleOrNotPtrInput is an input type that accepts CostCategoryRuleRuleOrNotArgs, CostCategoryRuleRuleOrNotPtr and CostCategoryRuleRuleOrNotPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrNotPtrInput` via: +// +// CostCategoryRuleRuleOrNotArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleOrNotPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrNotPtrOutput() CostCategoryRuleRuleOrNotPtrOutput + ToCostCategoryRuleRuleOrNotPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrNotPtrOutput +} + +type costCategoryRuleRuleOrNotPtrType CostCategoryRuleRuleOrNotArgs + +func CostCategoryRuleRuleOrNotPtr(v *CostCategoryRuleRuleOrNotArgs) CostCategoryRuleRuleOrNotPtrInput { + return (*costCategoryRuleRuleOrNotPtrType)(v) +} + +func (*costCategoryRuleRuleOrNotPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrNot)(nil)).Elem() +} + +func (i *costCategoryRuleRuleOrNotPtrType) ToCostCategoryRuleRuleOrNotPtrOutput() CostCategoryRuleRuleOrNotPtrOutput { + return i.ToCostCategoryRuleRuleOrNotPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleOrNotPtrType) ToCostCategoryRuleRuleOrNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrNotPtrOutput) +} + +type CostCategoryRuleRuleOrNotOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrNotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrNot)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrNotOutput) ToCostCategoryRuleRuleOrNotOutput() CostCategoryRuleRuleOrNotOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotOutput) ToCostCategoryRuleRuleOrNotOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotOutput) ToCostCategoryRuleRuleOrNotPtrOutput() CostCategoryRuleRuleOrNotPtrOutput { + return o.ToCostCategoryRuleRuleOrNotPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleOrNotOutput) ToCostCategoryRuleRuleOrNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrNot) *CostCategoryRuleRuleOrNot { + return &v + }).(CostCategoryRuleRuleOrNotPtrOutput) +} + +func (o CostCategoryRuleRuleOrNotOutput) CostCategory() CostCategoryRuleRuleOrNotCostCategoryPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrNot) *CostCategoryRuleRuleOrNotCostCategory { return v.CostCategory }).(CostCategoryRuleRuleOrNotCostCategoryPtrOutput) +} + +func (o CostCategoryRuleRuleOrNotOutput) Dimension() CostCategoryRuleRuleOrNotDimensionPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrNot) *CostCategoryRuleRuleOrNotDimension { return v.Dimension }).(CostCategoryRuleRuleOrNotDimensionPtrOutput) +} + +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o CostCategoryRuleRuleOrNotOutput) Tags() CostCategoryRuleRuleOrNotTagsPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrNot) *CostCategoryRuleRuleOrNotTags { return v.Tags }).(CostCategoryRuleRuleOrNotTagsPtrOutput) +} + +type CostCategoryRuleRuleOrNotPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrNotPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrNot)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrNotPtrOutput) ToCostCategoryRuleRuleOrNotPtrOutput() CostCategoryRuleRuleOrNotPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotPtrOutput) ToCostCategoryRuleRuleOrNotPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotPtrOutput) Elem() CostCategoryRuleRuleOrNotOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNot) CostCategoryRuleRuleOrNot { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleOrNot + return ret + }).(CostCategoryRuleRuleOrNotOutput) +} + +func (o CostCategoryRuleRuleOrNotPtrOutput) CostCategory() CostCategoryRuleRuleOrNotCostCategoryPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNot) *CostCategoryRuleRuleOrNotCostCategory { + if v == nil { + return nil + } + return v.CostCategory + }).(CostCategoryRuleRuleOrNotCostCategoryPtrOutput) +} + +func (o CostCategoryRuleRuleOrNotPtrOutput) Dimension() CostCategoryRuleRuleOrNotDimensionPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNot) *CostCategoryRuleRuleOrNotDimension { + if v == nil { + return nil + } + return v.Dimension + }).(CostCategoryRuleRuleOrNotDimensionPtrOutput) +} + +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o CostCategoryRuleRuleOrNotPtrOutput) Tags() CostCategoryRuleRuleOrNotTagsPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNot) *CostCategoryRuleRuleOrNotTags { + if v == nil { + return nil + } + return v.Tags + }).(CostCategoryRuleRuleOrNotTagsPtrOutput) +} + +type CostCategoryRuleRuleOrNotCostCategory struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleOrNotCostCategoryInput is an input type that accepts CostCategoryRuleRuleOrNotCostCategoryArgs and CostCategoryRuleRuleOrNotCostCategoryOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrNotCostCategoryInput` via: +// +// CostCategoryRuleRuleOrNotCostCategoryArgs{...} +type CostCategoryRuleRuleOrNotCostCategoryInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrNotCostCategoryOutput() CostCategoryRuleRuleOrNotCostCategoryOutput + ToCostCategoryRuleRuleOrNotCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleOrNotCostCategoryOutput +} + +type CostCategoryRuleRuleOrNotCostCategoryArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleOrNotCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrNotCostCategory)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrNotCostCategoryArgs) ToCostCategoryRuleRuleOrNotCostCategoryOutput() CostCategoryRuleRuleOrNotCostCategoryOutput { + return i.ToCostCategoryRuleRuleOrNotCostCategoryOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrNotCostCategoryArgs) ToCostCategoryRuleRuleOrNotCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrNotCostCategoryOutput) +} + +func (i CostCategoryRuleRuleOrNotCostCategoryArgs) ToCostCategoryRuleRuleOrNotCostCategoryPtrOutput() CostCategoryRuleRuleOrNotCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleOrNotCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrNotCostCategoryArgs) ToCostCategoryRuleRuleOrNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrNotCostCategoryOutput).ToCostCategoryRuleRuleOrNotCostCategoryPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleOrNotCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleOrNotCostCategoryArgs, CostCategoryRuleRuleOrNotCostCategoryPtr and CostCategoryRuleRuleOrNotCostCategoryPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrNotCostCategoryPtrInput` via: +// +// CostCategoryRuleRuleOrNotCostCategoryArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleOrNotCostCategoryPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrNotCostCategoryPtrOutput() CostCategoryRuleRuleOrNotCostCategoryPtrOutput + ToCostCategoryRuleRuleOrNotCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrNotCostCategoryPtrOutput +} + +type costCategoryRuleRuleOrNotCostCategoryPtrType CostCategoryRuleRuleOrNotCostCategoryArgs + +func CostCategoryRuleRuleOrNotCostCategoryPtr(v *CostCategoryRuleRuleOrNotCostCategoryArgs) CostCategoryRuleRuleOrNotCostCategoryPtrInput { + return (*costCategoryRuleRuleOrNotCostCategoryPtrType)(v) +} + +func (*costCategoryRuleRuleOrNotCostCategoryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrNotCostCategory)(nil)).Elem() +} + +func (i *costCategoryRuleRuleOrNotCostCategoryPtrType) ToCostCategoryRuleRuleOrNotCostCategoryPtrOutput() CostCategoryRuleRuleOrNotCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleOrNotCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleOrNotCostCategoryPtrType) ToCostCategoryRuleRuleOrNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrNotCostCategoryPtrOutput) +} + +type CostCategoryRuleRuleOrNotCostCategoryOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrNotCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrNotCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrNotCostCategoryOutput) ToCostCategoryRuleRuleOrNotCostCategoryOutput() CostCategoryRuleRuleOrNotCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotCostCategoryOutput) ToCostCategoryRuleRuleOrNotCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotCostCategoryOutput) ToCostCategoryRuleRuleOrNotCostCategoryPtrOutput() CostCategoryRuleRuleOrNotCostCategoryPtrOutput { + return o.ToCostCategoryRuleRuleOrNotCostCategoryPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleOrNotCostCategoryOutput) ToCostCategoryRuleRuleOrNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotCostCategoryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrNotCostCategory) *CostCategoryRuleRuleOrNotCostCategory { + return &v + }).(CostCategoryRuleRuleOrNotCostCategoryPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrNotCostCategoryOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrNotCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrNotCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrNotCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrNotCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrNotCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrNotCostCategoryPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrNotCostCategoryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrNotCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrNotCostCategoryPtrOutput) ToCostCategoryRuleRuleOrNotCostCategoryPtrOutput() CostCategoryRuleRuleOrNotCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotCostCategoryPtrOutput) ToCostCategoryRuleRuleOrNotCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotCostCategoryPtrOutput) Elem() CostCategoryRuleRuleOrNotCostCategoryOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNotCostCategory) CostCategoryRuleRuleOrNotCostCategory { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleOrNotCostCategory + return ret + }).(CostCategoryRuleRuleOrNotCostCategoryOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrNotCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNotCostCategory) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrNotCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNotCostCategory) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrNotCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNotCostCategory) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrNotDimension struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleOrNotDimensionInput is an input type that accepts CostCategoryRuleRuleOrNotDimensionArgs and CostCategoryRuleRuleOrNotDimensionOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrNotDimensionInput` via: +// +// CostCategoryRuleRuleOrNotDimensionArgs{...} +type CostCategoryRuleRuleOrNotDimensionInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrNotDimensionOutput() CostCategoryRuleRuleOrNotDimensionOutput + ToCostCategoryRuleRuleOrNotDimensionOutputWithContext(context.Context) CostCategoryRuleRuleOrNotDimensionOutput +} + +type CostCategoryRuleRuleOrNotDimensionArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleOrNotDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrNotDimension)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrNotDimensionArgs) ToCostCategoryRuleRuleOrNotDimensionOutput() CostCategoryRuleRuleOrNotDimensionOutput { + return i.ToCostCategoryRuleRuleOrNotDimensionOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrNotDimensionArgs) ToCostCategoryRuleRuleOrNotDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrNotDimensionOutput) +} + +func (i CostCategoryRuleRuleOrNotDimensionArgs) ToCostCategoryRuleRuleOrNotDimensionPtrOutput() CostCategoryRuleRuleOrNotDimensionPtrOutput { + return i.ToCostCategoryRuleRuleOrNotDimensionPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrNotDimensionArgs) ToCostCategoryRuleRuleOrNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrNotDimensionOutput).ToCostCategoryRuleRuleOrNotDimensionPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleOrNotDimensionPtrInput is an input type that accepts CostCategoryRuleRuleOrNotDimensionArgs, CostCategoryRuleRuleOrNotDimensionPtr and CostCategoryRuleRuleOrNotDimensionPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrNotDimensionPtrInput` via: +// +// CostCategoryRuleRuleOrNotDimensionArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleOrNotDimensionPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrNotDimensionPtrOutput() CostCategoryRuleRuleOrNotDimensionPtrOutput + ToCostCategoryRuleRuleOrNotDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrNotDimensionPtrOutput +} + +type costCategoryRuleRuleOrNotDimensionPtrType CostCategoryRuleRuleOrNotDimensionArgs + +func CostCategoryRuleRuleOrNotDimensionPtr(v *CostCategoryRuleRuleOrNotDimensionArgs) CostCategoryRuleRuleOrNotDimensionPtrInput { + return (*costCategoryRuleRuleOrNotDimensionPtrType)(v) +} + +func (*costCategoryRuleRuleOrNotDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrNotDimension)(nil)).Elem() +} + +func (i *costCategoryRuleRuleOrNotDimensionPtrType) ToCostCategoryRuleRuleOrNotDimensionPtrOutput() CostCategoryRuleRuleOrNotDimensionPtrOutput { + return i.ToCostCategoryRuleRuleOrNotDimensionPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleOrNotDimensionPtrType) ToCostCategoryRuleRuleOrNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrNotDimensionPtrOutput) +} + +type CostCategoryRuleRuleOrNotDimensionOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrNotDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrNotDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrNotDimensionOutput) ToCostCategoryRuleRuleOrNotDimensionOutput() CostCategoryRuleRuleOrNotDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotDimensionOutput) ToCostCategoryRuleRuleOrNotDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotDimensionOutput) ToCostCategoryRuleRuleOrNotDimensionPtrOutput() CostCategoryRuleRuleOrNotDimensionPtrOutput { + return o.ToCostCategoryRuleRuleOrNotDimensionPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleOrNotDimensionOutput) ToCostCategoryRuleRuleOrNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrNotDimension) *CostCategoryRuleRuleOrNotDimension { + return &v + }).(CostCategoryRuleRuleOrNotDimensionPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrNotDimensionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrNotDimension) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrNotDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrNotDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrNotDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrNotDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrNotDimensionPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrNotDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrNotDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrNotDimensionPtrOutput) ToCostCategoryRuleRuleOrNotDimensionPtrOutput() CostCategoryRuleRuleOrNotDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotDimensionPtrOutput) ToCostCategoryRuleRuleOrNotDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotDimensionPtrOutput) Elem() CostCategoryRuleRuleOrNotDimensionOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNotDimension) CostCategoryRuleRuleOrNotDimension { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleOrNotDimension + return ret + }).(CostCategoryRuleRuleOrNotDimensionOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrNotDimensionPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNotDimension) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrNotDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNotDimension) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrNotDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNotDimension) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrNotTags struct { + // Key for the tag. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleOrNotTagsInput is an input type that accepts CostCategoryRuleRuleOrNotTagsArgs and CostCategoryRuleRuleOrNotTagsOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrNotTagsInput` via: +// +// CostCategoryRuleRuleOrNotTagsArgs{...} +type CostCategoryRuleRuleOrNotTagsInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrNotTagsOutput() CostCategoryRuleRuleOrNotTagsOutput + ToCostCategoryRuleRuleOrNotTagsOutputWithContext(context.Context) CostCategoryRuleRuleOrNotTagsOutput +} + +type CostCategoryRuleRuleOrNotTagsArgs struct { + // Key for the tag. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleOrNotTagsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrNotTags)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrNotTagsArgs) ToCostCategoryRuleRuleOrNotTagsOutput() CostCategoryRuleRuleOrNotTagsOutput { + return i.ToCostCategoryRuleRuleOrNotTagsOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrNotTagsArgs) ToCostCategoryRuleRuleOrNotTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotTagsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrNotTagsOutput) +} + +func (i CostCategoryRuleRuleOrNotTagsArgs) ToCostCategoryRuleRuleOrNotTagsPtrOutput() CostCategoryRuleRuleOrNotTagsPtrOutput { + return i.ToCostCategoryRuleRuleOrNotTagsPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrNotTagsArgs) ToCostCategoryRuleRuleOrNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrNotTagsOutput).ToCostCategoryRuleRuleOrNotTagsPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleOrNotTagsPtrInput is an input type that accepts CostCategoryRuleRuleOrNotTagsArgs, CostCategoryRuleRuleOrNotTagsPtr and CostCategoryRuleRuleOrNotTagsPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrNotTagsPtrInput` via: +// +// CostCategoryRuleRuleOrNotTagsArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleOrNotTagsPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrNotTagsPtrOutput() CostCategoryRuleRuleOrNotTagsPtrOutput + ToCostCategoryRuleRuleOrNotTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrNotTagsPtrOutput +} + +type costCategoryRuleRuleOrNotTagsPtrType CostCategoryRuleRuleOrNotTagsArgs + +func CostCategoryRuleRuleOrNotTagsPtr(v *CostCategoryRuleRuleOrNotTagsArgs) CostCategoryRuleRuleOrNotTagsPtrInput { + return (*costCategoryRuleRuleOrNotTagsPtrType)(v) +} + +func (*costCategoryRuleRuleOrNotTagsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrNotTags)(nil)).Elem() +} + +func (i *costCategoryRuleRuleOrNotTagsPtrType) ToCostCategoryRuleRuleOrNotTagsPtrOutput() CostCategoryRuleRuleOrNotTagsPtrOutput { + return i.ToCostCategoryRuleRuleOrNotTagsPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleOrNotTagsPtrType) ToCostCategoryRuleRuleOrNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrNotTagsPtrOutput) +} + +type CostCategoryRuleRuleOrNotTagsOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrNotTagsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrNotTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrNotTagsOutput) ToCostCategoryRuleRuleOrNotTagsOutput() CostCategoryRuleRuleOrNotTagsOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotTagsOutput) ToCostCategoryRuleRuleOrNotTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotTagsOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotTagsOutput) ToCostCategoryRuleRuleOrNotTagsPtrOutput() CostCategoryRuleRuleOrNotTagsPtrOutput { + return o.ToCostCategoryRuleRuleOrNotTagsPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleOrNotTagsOutput) ToCostCategoryRuleRuleOrNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotTagsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrNotTags) *CostCategoryRuleRuleOrNotTags { + return &v + }).(CostCategoryRuleRuleOrNotTagsPtrOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleOrNotTagsOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrNotTags) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrNotTagsOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrNotTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrNotTagsOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrNotTags) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrNotTagsPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrNotTagsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrNotTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrNotTagsPtrOutput) ToCostCategoryRuleRuleOrNotTagsPtrOutput() CostCategoryRuleRuleOrNotTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotTagsPtrOutput) ToCostCategoryRuleRuleOrNotTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrNotTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrNotTagsPtrOutput) Elem() CostCategoryRuleRuleOrNotTagsOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNotTags) CostCategoryRuleRuleOrNotTags { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleOrNotTags + return ret + }).(CostCategoryRuleRuleOrNotTagsOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleOrNotTagsPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNotTags) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrNotTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNotTags) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrNotTagsPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrNotTags) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrOr struct { + CostCategory *CostCategoryRuleRuleOrOrCostCategory `pulumi:"costCategory"` + Dimension *CostCategoryRuleRuleOrOrDimension `pulumi:"dimension"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags *CostCategoryRuleRuleOrOrTags `pulumi:"tags"` +} + +// CostCategoryRuleRuleOrOrInput is an input type that accepts CostCategoryRuleRuleOrOrArgs and CostCategoryRuleRuleOrOrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrOrInput` via: +// +// CostCategoryRuleRuleOrOrArgs{...} +type CostCategoryRuleRuleOrOrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrOrOutput() CostCategoryRuleRuleOrOrOutput + ToCostCategoryRuleRuleOrOrOutputWithContext(context.Context) CostCategoryRuleRuleOrOrOutput +} + +type CostCategoryRuleRuleOrOrArgs struct { + CostCategory CostCategoryRuleRuleOrOrCostCategoryPtrInput `pulumi:"costCategory"` + Dimension CostCategoryRuleRuleOrOrDimensionPtrInput `pulumi:"dimension"` + // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags CostCategoryRuleRuleOrOrTagsPtrInput `pulumi:"tags"` +} + +func (CostCategoryRuleRuleOrOrArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrOr)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrOrArgs) ToCostCategoryRuleRuleOrOrOutput() CostCategoryRuleRuleOrOrOutput { + return i.ToCostCategoryRuleRuleOrOrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrOrArgs) ToCostCategoryRuleRuleOrOrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrOrOutput) +} + +// CostCategoryRuleRuleOrOrArrayInput is an input type that accepts CostCategoryRuleRuleOrOrArray and CostCategoryRuleRuleOrOrArrayOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrOrArrayInput` via: +// +// CostCategoryRuleRuleOrOrArray{ CostCategoryRuleRuleOrOrArgs{...} } +type CostCategoryRuleRuleOrOrArrayInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrOrArrayOutput() CostCategoryRuleRuleOrOrArrayOutput + ToCostCategoryRuleRuleOrOrArrayOutputWithContext(context.Context) CostCategoryRuleRuleOrOrArrayOutput +} + +type CostCategoryRuleRuleOrOrArray []CostCategoryRuleRuleOrOrInput + +func (CostCategoryRuleRuleOrOrArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategoryRuleRuleOrOr)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrOrArray) ToCostCategoryRuleRuleOrOrArrayOutput() CostCategoryRuleRuleOrOrArrayOutput { + return i.ToCostCategoryRuleRuleOrOrArrayOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrOrArray) ToCostCategoryRuleRuleOrOrArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrOrArrayOutput) +} + +type CostCategoryRuleRuleOrOrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrOrOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrOr)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrOrOutput) ToCostCategoryRuleRuleOrOrOutput() CostCategoryRuleRuleOrOrOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrOutput) ToCostCategoryRuleRuleOrOrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrOutput) CostCategory() CostCategoryRuleRuleOrOrCostCategoryPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrOr) *CostCategoryRuleRuleOrOrCostCategory { return v.CostCategory }).(CostCategoryRuleRuleOrOrCostCategoryPtrOutput) +} + +func (o CostCategoryRuleRuleOrOrOutput) Dimension() CostCategoryRuleRuleOrOrDimensionPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrOr) *CostCategoryRuleRuleOrOrDimension { return v.Dimension }).(CostCategoryRuleRuleOrOrDimensionPtrOutput) +} + +// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o CostCategoryRuleRuleOrOrOutput) Tags() CostCategoryRuleRuleOrOrTagsPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrOr) *CostCategoryRuleRuleOrOrTags { return v.Tags }).(CostCategoryRuleRuleOrOrTagsPtrOutput) +} + +type CostCategoryRuleRuleOrOrArrayOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrOrArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategoryRuleRuleOrOr)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrOrArrayOutput) ToCostCategoryRuleRuleOrOrArrayOutput() CostCategoryRuleRuleOrOrArrayOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrArrayOutput) ToCostCategoryRuleRuleOrOrArrayOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrArrayOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrArrayOutput) Index(i pulumi.IntInput) CostCategoryRuleRuleOrOrOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CostCategoryRuleRuleOrOr { + return vs[0].([]CostCategoryRuleRuleOrOr)[vs[1].(int)] + }).(CostCategoryRuleRuleOrOrOutput) +} + +type CostCategoryRuleRuleOrOrCostCategory struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleOrOrCostCategoryInput is an input type that accepts CostCategoryRuleRuleOrOrCostCategoryArgs and CostCategoryRuleRuleOrOrCostCategoryOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrOrCostCategoryInput` via: +// +// CostCategoryRuleRuleOrOrCostCategoryArgs{...} +type CostCategoryRuleRuleOrOrCostCategoryInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrOrCostCategoryOutput() CostCategoryRuleRuleOrOrCostCategoryOutput + ToCostCategoryRuleRuleOrOrCostCategoryOutputWithContext(context.Context) CostCategoryRuleRuleOrOrCostCategoryOutput +} + +type CostCategoryRuleRuleOrOrCostCategoryArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleOrOrCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrOrCostCategory)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrOrCostCategoryArgs) ToCostCategoryRuleRuleOrOrCostCategoryOutput() CostCategoryRuleRuleOrOrCostCategoryOutput { + return i.ToCostCategoryRuleRuleOrOrCostCategoryOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrOrCostCategoryArgs) ToCostCategoryRuleRuleOrOrCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrOrCostCategoryOutput) +} + +func (i CostCategoryRuleRuleOrOrCostCategoryArgs) ToCostCategoryRuleRuleOrOrCostCategoryPtrOutput() CostCategoryRuleRuleOrOrCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleOrOrCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrOrCostCategoryArgs) ToCostCategoryRuleRuleOrOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrOrCostCategoryOutput).ToCostCategoryRuleRuleOrOrCostCategoryPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleOrOrCostCategoryPtrInput is an input type that accepts CostCategoryRuleRuleOrOrCostCategoryArgs, CostCategoryRuleRuleOrOrCostCategoryPtr and CostCategoryRuleRuleOrOrCostCategoryPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrOrCostCategoryPtrInput` via: +// +// CostCategoryRuleRuleOrOrCostCategoryArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleOrOrCostCategoryPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrOrCostCategoryPtrOutput() CostCategoryRuleRuleOrOrCostCategoryPtrOutput + ToCostCategoryRuleRuleOrOrCostCategoryPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrOrCostCategoryPtrOutput +} + +type costCategoryRuleRuleOrOrCostCategoryPtrType CostCategoryRuleRuleOrOrCostCategoryArgs + +func CostCategoryRuleRuleOrOrCostCategoryPtr(v *CostCategoryRuleRuleOrOrCostCategoryArgs) CostCategoryRuleRuleOrOrCostCategoryPtrInput { + return (*costCategoryRuleRuleOrOrCostCategoryPtrType)(v) +} + +func (*costCategoryRuleRuleOrOrCostCategoryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrOrCostCategory)(nil)).Elem() +} + +func (i *costCategoryRuleRuleOrOrCostCategoryPtrType) ToCostCategoryRuleRuleOrOrCostCategoryPtrOutput() CostCategoryRuleRuleOrOrCostCategoryPtrOutput { + return i.ToCostCategoryRuleRuleOrOrCostCategoryPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleOrOrCostCategoryPtrType) ToCostCategoryRuleRuleOrOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrCostCategoryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrOrCostCategoryPtrOutput) +} + +type CostCategoryRuleRuleOrOrCostCategoryOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrOrCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrOrCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrOrCostCategoryOutput) ToCostCategoryRuleRuleOrOrCostCategoryOutput() CostCategoryRuleRuleOrOrCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrCostCategoryOutput) ToCostCategoryRuleRuleOrOrCostCategoryOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrCostCategoryOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrCostCategoryOutput) ToCostCategoryRuleRuleOrOrCostCategoryPtrOutput() CostCategoryRuleRuleOrOrCostCategoryPtrOutput { + return o.ToCostCategoryRuleRuleOrOrCostCategoryPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleOrOrCostCategoryOutput) ToCostCategoryRuleRuleOrOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrCostCategoryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrOrCostCategory) *CostCategoryRuleRuleOrOrCostCategory { + return &v + }).(CostCategoryRuleRuleOrOrCostCategoryPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrOrCostCategoryOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrOrCostCategory) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrOrCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrOrCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrOrCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrOrCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrOrCostCategoryPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrOrCostCategoryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrOrCostCategory)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrOrCostCategoryPtrOutput) ToCostCategoryRuleRuleOrOrCostCategoryPtrOutput() CostCategoryRuleRuleOrOrCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrCostCategoryPtrOutput) ToCostCategoryRuleRuleOrOrCostCategoryPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrCostCategoryPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrCostCategoryPtrOutput) Elem() CostCategoryRuleRuleOrOrCostCategoryOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrOrCostCategory) CostCategoryRuleRuleOrOrCostCategory { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleOrOrCostCategory + return ret + }).(CostCategoryRuleRuleOrOrCostCategoryOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrOrCostCategoryPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrOrCostCategory) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrOrCostCategoryPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrOrCostCategory) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrOrCostCategoryPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrOrCostCategory) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrOrDimension struct { + // Unique name of the Cost Category. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleOrOrDimensionInput is an input type that accepts CostCategoryRuleRuleOrOrDimensionArgs and CostCategoryRuleRuleOrOrDimensionOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrOrDimensionInput` via: +// +// CostCategoryRuleRuleOrOrDimensionArgs{...} +type CostCategoryRuleRuleOrOrDimensionInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrOrDimensionOutput() CostCategoryRuleRuleOrOrDimensionOutput + ToCostCategoryRuleRuleOrOrDimensionOutputWithContext(context.Context) CostCategoryRuleRuleOrOrDimensionOutput +} + +type CostCategoryRuleRuleOrOrDimensionArgs struct { + // Unique name of the Cost Category. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleOrOrDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrOrDimension)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrOrDimensionArgs) ToCostCategoryRuleRuleOrOrDimensionOutput() CostCategoryRuleRuleOrOrDimensionOutput { + return i.ToCostCategoryRuleRuleOrOrDimensionOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrOrDimensionArgs) ToCostCategoryRuleRuleOrOrDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrOrDimensionOutput) +} + +func (i CostCategoryRuleRuleOrOrDimensionArgs) ToCostCategoryRuleRuleOrOrDimensionPtrOutput() CostCategoryRuleRuleOrOrDimensionPtrOutput { + return i.ToCostCategoryRuleRuleOrOrDimensionPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrOrDimensionArgs) ToCostCategoryRuleRuleOrOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrOrDimensionOutput).ToCostCategoryRuleRuleOrOrDimensionPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleOrOrDimensionPtrInput is an input type that accepts CostCategoryRuleRuleOrOrDimensionArgs, CostCategoryRuleRuleOrOrDimensionPtr and CostCategoryRuleRuleOrOrDimensionPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrOrDimensionPtrInput` via: +// +// CostCategoryRuleRuleOrOrDimensionArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleOrOrDimensionPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrOrDimensionPtrOutput() CostCategoryRuleRuleOrOrDimensionPtrOutput + ToCostCategoryRuleRuleOrOrDimensionPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrOrDimensionPtrOutput +} + +type costCategoryRuleRuleOrOrDimensionPtrType CostCategoryRuleRuleOrOrDimensionArgs + +func CostCategoryRuleRuleOrOrDimensionPtr(v *CostCategoryRuleRuleOrOrDimensionArgs) CostCategoryRuleRuleOrOrDimensionPtrInput { + return (*costCategoryRuleRuleOrOrDimensionPtrType)(v) +} + +func (*costCategoryRuleRuleOrOrDimensionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrOrDimension)(nil)).Elem() +} + +func (i *costCategoryRuleRuleOrOrDimensionPtrType) ToCostCategoryRuleRuleOrOrDimensionPtrOutput() CostCategoryRuleRuleOrOrDimensionPtrOutput { + return i.ToCostCategoryRuleRuleOrOrDimensionPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleOrOrDimensionPtrType) ToCostCategoryRuleRuleOrOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrDimensionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrOrDimensionPtrOutput) +} + +type CostCategoryRuleRuleOrOrDimensionOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrOrDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrOrDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrOrDimensionOutput) ToCostCategoryRuleRuleOrOrDimensionOutput() CostCategoryRuleRuleOrOrDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrDimensionOutput) ToCostCategoryRuleRuleOrOrDimensionOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrDimensionOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrDimensionOutput) ToCostCategoryRuleRuleOrOrDimensionPtrOutput() CostCategoryRuleRuleOrOrDimensionPtrOutput { + return o.ToCostCategoryRuleRuleOrOrDimensionPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleOrOrDimensionOutput) ToCostCategoryRuleRuleOrOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrDimensionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrOrDimension) *CostCategoryRuleRuleOrOrDimension { + return &v + }).(CostCategoryRuleRuleOrOrDimensionPtrOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrOrDimensionOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrOrDimension) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrOrDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrOrDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrOrDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrOrDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrOrDimensionPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrOrDimensionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrOrDimension)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrOrDimensionPtrOutput) ToCostCategoryRuleRuleOrOrDimensionPtrOutput() CostCategoryRuleRuleOrOrDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrDimensionPtrOutput) ToCostCategoryRuleRuleOrOrDimensionPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrDimensionPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrDimensionPtrOutput) Elem() CostCategoryRuleRuleOrOrDimensionOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrOrDimension) CostCategoryRuleRuleOrOrDimension { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleOrOrDimension + return ret + }).(CostCategoryRuleRuleOrOrDimensionOutput) +} + +// Unique name of the Cost Category. +func (o CostCategoryRuleRuleOrOrDimensionPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrOrDimension) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrOrDimensionPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrOrDimension) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrOrDimensionPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrOrDimension) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrOrTags struct { + // Key for the tag. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleOrOrTagsInput is an input type that accepts CostCategoryRuleRuleOrOrTagsArgs and CostCategoryRuleRuleOrOrTagsOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrOrTagsInput` via: +// +// CostCategoryRuleRuleOrOrTagsArgs{...} +type CostCategoryRuleRuleOrOrTagsInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrOrTagsOutput() CostCategoryRuleRuleOrOrTagsOutput + ToCostCategoryRuleRuleOrOrTagsOutputWithContext(context.Context) CostCategoryRuleRuleOrOrTagsOutput +} + +type CostCategoryRuleRuleOrOrTagsArgs struct { + // Key for the tag. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleOrOrTagsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrOrTags)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrOrTagsArgs) ToCostCategoryRuleRuleOrOrTagsOutput() CostCategoryRuleRuleOrOrTagsOutput { + return i.ToCostCategoryRuleRuleOrOrTagsOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrOrTagsArgs) ToCostCategoryRuleRuleOrOrTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrTagsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrOrTagsOutput) +} + +func (i CostCategoryRuleRuleOrOrTagsArgs) ToCostCategoryRuleRuleOrOrTagsPtrOutput() CostCategoryRuleRuleOrOrTagsPtrOutput { + return i.ToCostCategoryRuleRuleOrOrTagsPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrOrTagsArgs) ToCostCategoryRuleRuleOrOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrOrTagsOutput).ToCostCategoryRuleRuleOrOrTagsPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleOrOrTagsPtrInput is an input type that accepts CostCategoryRuleRuleOrOrTagsArgs, CostCategoryRuleRuleOrOrTagsPtr and CostCategoryRuleRuleOrOrTagsPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrOrTagsPtrInput` via: +// +// CostCategoryRuleRuleOrOrTagsArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleOrOrTagsPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrOrTagsPtrOutput() CostCategoryRuleRuleOrOrTagsPtrOutput + ToCostCategoryRuleRuleOrOrTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrOrTagsPtrOutput +} + +type costCategoryRuleRuleOrOrTagsPtrType CostCategoryRuleRuleOrOrTagsArgs + +func CostCategoryRuleRuleOrOrTagsPtr(v *CostCategoryRuleRuleOrOrTagsArgs) CostCategoryRuleRuleOrOrTagsPtrInput { + return (*costCategoryRuleRuleOrOrTagsPtrType)(v) +} + +func (*costCategoryRuleRuleOrOrTagsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrOrTags)(nil)).Elem() +} + +func (i *costCategoryRuleRuleOrOrTagsPtrType) ToCostCategoryRuleRuleOrOrTagsPtrOutput() CostCategoryRuleRuleOrOrTagsPtrOutput { + return i.ToCostCategoryRuleRuleOrOrTagsPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleOrOrTagsPtrType) ToCostCategoryRuleRuleOrOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrOrTagsPtrOutput) +} + +type CostCategoryRuleRuleOrOrTagsOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrOrTagsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrOrTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrOrTagsOutput) ToCostCategoryRuleRuleOrOrTagsOutput() CostCategoryRuleRuleOrOrTagsOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrTagsOutput) ToCostCategoryRuleRuleOrOrTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrTagsOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrTagsOutput) ToCostCategoryRuleRuleOrOrTagsPtrOutput() CostCategoryRuleRuleOrOrTagsPtrOutput { + return o.ToCostCategoryRuleRuleOrOrTagsPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleOrOrTagsOutput) ToCostCategoryRuleRuleOrOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrTagsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrOrTags) *CostCategoryRuleRuleOrOrTags { + return &v + }).(CostCategoryRuleRuleOrOrTagsPtrOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleOrOrTagsOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrOrTags) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrOrTagsOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrOrTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrOrTagsOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrOrTags) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrOrTagsPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrOrTagsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrOrTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrOrTagsPtrOutput) ToCostCategoryRuleRuleOrOrTagsPtrOutput() CostCategoryRuleRuleOrOrTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrTagsPtrOutput) ToCostCategoryRuleRuleOrOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrOrTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrOrTagsPtrOutput) Elem() CostCategoryRuleRuleOrOrTagsOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrOrTags) CostCategoryRuleRuleOrOrTags { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleOrOrTags + return ret + }).(CostCategoryRuleRuleOrOrTagsOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleOrOrTagsPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrOrTags) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrOrTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrOrTags) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrOrTagsPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrOrTags) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrTags struct { + // Key for the tag. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleOrTagsInput is an input type that accepts CostCategoryRuleRuleOrTagsArgs and CostCategoryRuleRuleOrTagsOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrTagsInput` via: +// +// CostCategoryRuleRuleOrTagsArgs{...} +type CostCategoryRuleRuleOrTagsInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrTagsOutput() CostCategoryRuleRuleOrTagsOutput + ToCostCategoryRuleRuleOrTagsOutputWithContext(context.Context) CostCategoryRuleRuleOrTagsOutput +} + +type CostCategoryRuleRuleOrTagsArgs struct { + // Key for the tag. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleOrTagsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrTags)(nil)).Elem() +} + +func (i CostCategoryRuleRuleOrTagsArgs) ToCostCategoryRuleRuleOrTagsOutput() CostCategoryRuleRuleOrTagsOutput { + return i.ToCostCategoryRuleRuleOrTagsOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrTagsArgs) ToCostCategoryRuleRuleOrTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrTagsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrTagsOutput) +} + +func (i CostCategoryRuleRuleOrTagsArgs) ToCostCategoryRuleRuleOrTagsPtrOutput() CostCategoryRuleRuleOrTagsPtrOutput { + return i.ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleOrTagsArgs) ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrTagsOutput).ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleOrTagsPtrInput is an input type that accepts CostCategoryRuleRuleOrTagsArgs, CostCategoryRuleRuleOrTagsPtr and CostCategoryRuleRuleOrTagsPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleOrTagsPtrInput` via: +// +// CostCategoryRuleRuleOrTagsArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleOrTagsPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleOrTagsPtrOutput() CostCategoryRuleRuleOrTagsPtrOutput + ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleOrTagsPtrOutput +} + +type costCategoryRuleRuleOrTagsPtrType CostCategoryRuleRuleOrTagsArgs + +func CostCategoryRuleRuleOrTagsPtr(v *CostCategoryRuleRuleOrTagsArgs) CostCategoryRuleRuleOrTagsPtrInput { + return (*costCategoryRuleRuleOrTagsPtrType)(v) +} + +func (*costCategoryRuleRuleOrTagsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrTags)(nil)).Elem() +} + +func (i *costCategoryRuleRuleOrTagsPtrType) ToCostCategoryRuleRuleOrTagsPtrOutput() CostCategoryRuleRuleOrTagsPtrOutput { + return i.ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleOrTagsPtrType) ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleOrTagsPtrOutput) +} + +type CostCategoryRuleRuleOrTagsOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrTagsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleOrTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrTagsOutput) ToCostCategoryRuleRuleOrTagsOutput() CostCategoryRuleRuleOrTagsOutput { + return o +} + +func (o CostCategoryRuleRuleOrTagsOutput) ToCostCategoryRuleRuleOrTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrTagsOutput { + return o +} + +func (o CostCategoryRuleRuleOrTagsOutput) ToCostCategoryRuleRuleOrTagsPtrOutput() CostCategoryRuleRuleOrTagsPtrOutput { + return o.ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleOrTagsOutput) ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrTagsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleOrTags) *CostCategoryRuleRuleOrTags { + return &v + }).(CostCategoryRuleRuleOrTagsPtrOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleOrTagsOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrTags) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrTagsOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrTagsOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleOrTags) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleOrTagsPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleOrTagsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleOrTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleOrTagsPtrOutput) ToCostCategoryRuleRuleOrTagsPtrOutput() CostCategoryRuleRuleOrTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrTagsPtrOutput) ToCostCategoryRuleRuleOrTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleOrTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleOrTagsPtrOutput) Elem() CostCategoryRuleRuleOrTagsOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrTags) CostCategoryRuleRuleOrTags { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleOrTags + return ret + }).(CostCategoryRuleRuleOrTagsOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleOrTagsPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrTags) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleOrTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrTags) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleOrTagsPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleOrTags) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleTags struct { + // Key for the tag. + Key *string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values []string `pulumi:"values"` +} + +// CostCategoryRuleRuleTagsInput is an input type that accepts CostCategoryRuleRuleTagsArgs and CostCategoryRuleRuleTagsOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleTagsInput` via: +// +// CostCategoryRuleRuleTagsArgs{...} +type CostCategoryRuleRuleTagsInput interface { + pulumi.Input + + ToCostCategoryRuleRuleTagsOutput() CostCategoryRuleRuleTagsOutput + ToCostCategoryRuleRuleTagsOutputWithContext(context.Context) CostCategoryRuleRuleTagsOutput +} + +type CostCategoryRuleRuleTagsArgs struct { + // Key for the tag. + Key pulumi.StringPtrInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Specific value of the Cost Category. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategoryRuleRuleTagsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleTags)(nil)).Elem() +} + +func (i CostCategoryRuleRuleTagsArgs) ToCostCategoryRuleRuleTagsOutput() CostCategoryRuleRuleTagsOutput { + return i.ToCostCategoryRuleRuleTagsOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleTagsArgs) ToCostCategoryRuleRuleTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleTagsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleTagsOutput) +} + +func (i CostCategoryRuleRuleTagsArgs) ToCostCategoryRuleRuleTagsPtrOutput() CostCategoryRuleRuleTagsPtrOutput { + return i.ToCostCategoryRuleRuleTagsPtrOutputWithContext(context.Background()) +} + +func (i CostCategoryRuleRuleTagsArgs) ToCostCategoryRuleRuleTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleTagsOutput).ToCostCategoryRuleRuleTagsPtrOutputWithContext(ctx) +} + +// CostCategoryRuleRuleTagsPtrInput is an input type that accepts CostCategoryRuleRuleTagsArgs, CostCategoryRuleRuleTagsPtr and CostCategoryRuleRuleTagsPtrOutput values. +// You can construct a concrete instance of `CostCategoryRuleRuleTagsPtrInput` via: +// +// CostCategoryRuleRuleTagsArgs{...} +// +// or: +// +// nil +type CostCategoryRuleRuleTagsPtrInput interface { + pulumi.Input + + ToCostCategoryRuleRuleTagsPtrOutput() CostCategoryRuleRuleTagsPtrOutput + ToCostCategoryRuleRuleTagsPtrOutputWithContext(context.Context) CostCategoryRuleRuleTagsPtrOutput +} + +type costCategoryRuleRuleTagsPtrType CostCategoryRuleRuleTagsArgs + +func CostCategoryRuleRuleTagsPtr(v *CostCategoryRuleRuleTagsArgs) CostCategoryRuleRuleTagsPtrInput { + return (*costCategoryRuleRuleTagsPtrType)(v) +} + +func (*costCategoryRuleRuleTagsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleTags)(nil)).Elem() +} + +func (i *costCategoryRuleRuleTagsPtrType) ToCostCategoryRuleRuleTagsPtrOutput() CostCategoryRuleRuleTagsPtrOutput { + return i.ToCostCategoryRuleRuleTagsPtrOutputWithContext(context.Background()) +} + +func (i *costCategoryRuleRuleTagsPtrType) ToCostCategoryRuleRuleTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleTagsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategoryRuleRuleTagsPtrOutput) +} + +type CostCategoryRuleRuleTagsOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleTagsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategoryRuleRuleTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleTagsOutput) ToCostCategoryRuleRuleTagsOutput() CostCategoryRuleRuleTagsOutput { + return o +} + +func (o CostCategoryRuleRuleTagsOutput) ToCostCategoryRuleRuleTagsOutputWithContext(ctx context.Context) CostCategoryRuleRuleTagsOutput { + return o +} + +func (o CostCategoryRuleRuleTagsOutput) ToCostCategoryRuleRuleTagsPtrOutput() CostCategoryRuleRuleTagsPtrOutput { + return o.ToCostCategoryRuleRuleTagsPtrOutputWithContext(context.Background()) +} + +func (o CostCategoryRuleRuleTagsOutput) ToCostCategoryRuleRuleTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleTagsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CostCategoryRuleRuleTags) *CostCategoryRuleRuleTags { + return &v + }).(CostCategoryRuleRuleTagsPtrOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleTagsOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategoryRuleRuleTags) *string { return v.Key }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleTagsOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleTags) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleTagsOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategoryRuleRuleTags) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategoryRuleRuleTagsPtrOutput struct{ *pulumi.OutputState } + +func (CostCategoryRuleRuleTagsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CostCategoryRuleRuleTags)(nil)).Elem() +} + +func (o CostCategoryRuleRuleTagsPtrOutput) ToCostCategoryRuleRuleTagsPtrOutput() CostCategoryRuleRuleTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleTagsPtrOutput) ToCostCategoryRuleRuleTagsPtrOutputWithContext(ctx context.Context) CostCategoryRuleRuleTagsPtrOutput { + return o +} + +func (o CostCategoryRuleRuleTagsPtrOutput) Elem() CostCategoryRuleRuleTagsOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleTags) CostCategoryRuleRuleTags { + if v != nil { + return *v + } + var ret CostCategoryRuleRuleTags + return ret + }).(CostCategoryRuleRuleTagsOutput) +} + +// Key for the tag. +func (o CostCategoryRuleRuleTagsPtrOutput) Key() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleTags) *string { + if v == nil { + return nil + } + return v.Key + }).(pulumi.StringPtrOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o CostCategoryRuleRuleTagsPtrOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleTags) []string { + if v == nil { + return nil + } + return v.MatchOptions + }).(pulumi.StringArrayOutput) +} + +// Specific value of the Cost Category. +func (o CostCategoryRuleRuleTagsPtrOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CostCategoryRuleRuleTags) []string { + if v == nil { + return nil + } + return v.Values + }).(pulumi.StringArrayOutput) +} + +type CostCategorySplitChargeRule struct { + // Method that's used to define how to split your source costs across your targets. Valid values are `FIXED`, `PROPORTIONAL`, `EVEN` + Method string `pulumi:"method"` + // Configuration block for the parameters for a split charge method. This is only required for the `FIXED` method. See below. + Parameters []CostCategorySplitChargeRuleParameter `pulumi:"parameters"` + // Cost Category value that you want to split. + Source string `pulumi:"source"` + // Cost Category values that you want to split costs across. These values can't be used as a source in other split charge rules. + Targets []string `pulumi:"targets"` +} + +// CostCategorySplitChargeRuleInput is an input type that accepts CostCategorySplitChargeRuleArgs and CostCategorySplitChargeRuleOutput values. +// You can construct a concrete instance of `CostCategorySplitChargeRuleInput` via: +// +// CostCategorySplitChargeRuleArgs{...} +type CostCategorySplitChargeRuleInput interface { + pulumi.Input + + ToCostCategorySplitChargeRuleOutput() CostCategorySplitChargeRuleOutput + ToCostCategorySplitChargeRuleOutputWithContext(context.Context) CostCategorySplitChargeRuleOutput +} + +type CostCategorySplitChargeRuleArgs struct { + // Method that's used to define how to split your source costs across your targets. Valid values are `FIXED`, `PROPORTIONAL`, `EVEN` + Method pulumi.StringInput `pulumi:"method"` + // Configuration block for the parameters for a split charge method. This is only required for the `FIXED` method. See below. + Parameters CostCategorySplitChargeRuleParameterArrayInput `pulumi:"parameters"` + // Cost Category value that you want to split. + Source pulumi.StringInput `pulumi:"source"` + // Cost Category values that you want to split costs across. These values can't be used as a source in other split charge rules. + Targets pulumi.StringArrayInput `pulumi:"targets"` +} + +func (CostCategorySplitChargeRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategorySplitChargeRule)(nil)).Elem() +} + +func (i CostCategorySplitChargeRuleArgs) ToCostCategorySplitChargeRuleOutput() CostCategorySplitChargeRuleOutput { + return i.ToCostCategorySplitChargeRuleOutputWithContext(context.Background()) +} + +func (i CostCategorySplitChargeRuleArgs) ToCostCategorySplitChargeRuleOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategorySplitChargeRuleOutput) +} + +// CostCategorySplitChargeRuleArrayInput is an input type that accepts CostCategorySplitChargeRuleArray and CostCategorySplitChargeRuleArrayOutput values. +// You can construct a concrete instance of `CostCategorySplitChargeRuleArrayInput` via: +// +// CostCategorySplitChargeRuleArray{ CostCategorySplitChargeRuleArgs{...} } +type CostCategorySplitChargeRuleArrayInput interface { + pulumi.Input + + ToCostCategorySplitChargeRuleArrayOutput() CostCategorySplitChargeRuleArrayOutput + ToCostCategorySplitChargeRuleArrayOutputWithContext(context.Context) CostCategorySplitChargeRuleArrayOutput +} + +type CostCategorySplitChargeRuleArray []CostCategorySplitChargeRuleInput + +func (CostCategorySplitChargeRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategorySplitChargeRule)(nil)).Elem() +} + +func (i CostCategorySplitChargeRuleArray) ToCostCategorySplitChargeRuleArrayOutput() CostCategorySplitChargeRuleArrayOutput { + return i.ToCostCategorySplitChargeRuleArrayOutputWithContext(context.Background()) +} + +func (i CostCategorySplitChargeRuleArray) ToCostCategorySplitChargeRuleArrayOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategorySplitChargeRuleArrayOutput) +} + +type CostCategorySplitChargeRuleOutput struct{ *pulumi.OutputState } + +func (CostCategorySplitChargeRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategorySplitChargeRule)(nil)).Elem() +} + +func (o CostCategorySplitChargeRuleOutput) ToCostCategorySplitChargeRuleOutput() CostCategorySplitChargeRuleOutput { + return o +} + +func (o CostCategorySplitChargeRuleOutput) ToCostCategorySplitChargeRuleOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleOutput { + return o +} + +// Method that's used to define how to split your source costs across your targets. Valid values are `FIXED`, `PROPORTIONAL`, `EVEN` +func (o CostCategorySplitChargeRuleOutput) Method() pulumi.StringOutput { + return o.ApplyT(func(v CostCategorySplitChargeRule) string { return v.Method }).(pulumi.StringOutput) +} + +// Configuration block for the parameters for a split charge method. This is only required for the `FIXED` method. See below. +func (o CostCategorySplitChargeRuleOutput) Parameters() CostCategorySplitChargeRuleParameterArrayOutput { + return o.ApplyT(func(v CostCategorySplitChargeRule) []CostCategorySplitChargeRuleParameter { return v.Parameters }).(CostCategorySplitChargeRuleParameterArrayOutput) +} + +// Cost Category value that you want to split. +func (o CostCategorySplitChargeRuleOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v CostCategorySplitChargeRule) string { return v.Source }).(pulumi.StringOutput) +} + +// Cost Category values that you want to split costs across. These values can't be used as a source in other split charge rules. +func (o CostCategorySplitChargeRuleOutput) Targets() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategorySplitChargeRule) []string { return v.Targets }).(pulumi.StringArrayOutput) } type CostCategorySplitChargeRuleArrayOutput struct{ *pulumi.OutputState } -func (CostCategorySplitChargeRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]CostCategorySplitChargeRule)(nil)).Elem() +func (CostCategorySplitChargeRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategorySplitChargeRule)(nil)).Elem() +} + +func (o CostCategorySplitChargeRuleArrayOutput) ToCostCategorySplitChargeRuleArrayOutput() CostCategorySplitChargeRuleArrayOutput { + return o +} + +func (o CostCategorySplitChargeRuleArrayOutput) ToCostCategorySplitChargeRuleArrayOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleArrayOutput { + return o +} + +func (o CostCategorySplitChargeRuleArrayOutput) Index(i pulumi.IntInput) CostCategorySplitChargeRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CostCategorySplitChargeRule { + return vs[0].([]CostCategorySplitChargeRule)[vs[1].(int)] + }).(CostCategorySplitChargeRuleOutput) +} + +type CostCategorySplitChargeRuleParameter struct { + // Parameter type. + Type *string `pulumi:"type"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// CostCategorySplitChargeRuleParameterInput is an input type that accepts CostCategorySplitChargeRuleParameterArgs and CostCategorySplitChargeRuleParameterOutput values. +// You can construct a concrete instance of `CostCategorySplitChargeRuleParameterInput` via: +// +// CostCategorySplitChargeRuleParameterArgs{...} +type CostCategorySplitChargeRuleParameterInput interface { + pulumi.Input + + ToCostCategorySplitChargeRuleParameterOutput() CostCategorySplitChargeRuleParameterOutput + ToCostCategorySplitChargeRuleParameterOutputWithContext(context.Context) CostCategorySplitChargeRuleParameterOutput +} + +type CostCategorySplitChargeRuleParameterArgs struct { + // Parameter type. + Type pulumi.StringPtrInput `pulumi:"type"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (CostCategorySplitChargeRuleParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategorySplitChargeRuleParameter)(nil)).Elem() +} + +func (i CostCategorySplitChargeRuleParameterArgs) ToCostCategorySplitChargeRuleParameterOutput() CostCategorySplitChargeRuleParameterOutput { + return i.ToCostCategorySplitChargeRuleParameterOutputWithContext(context.Background()) +} + +func (i CostCategorySplitChargeRuleParameterArgs) ToCostCategorySplitChargeRuleParameterOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategorySplitChargeRuleParameterOutput) +} + +// CostCategorySplitChargeRuleParameterArrayInput is an input type that accepts CostCategorySplitChargeRuleParameterArray and CostCategorySplitChargeRuleParameterArrayOutput values. +// You can construct a concrete instance of `CostCategorySplitChargeRuleParameterArrayInput` via: +// +// CostCategorySplitChargeRuleParameterArray{ CostCategorySplitChargeRuleParameterArgs{...} } +type CostCategorySplitChargeRuleParameterArrayInput interface { + pulumi.Input + + ToCostCategorySplitChargeRuleParameterArrayOutput() CostCategorySplitChargeRuleParameterArrayOutput + ToCostCategorySplitChargeRuleParameterArrayOutputWithContext(context.Context) CostCategorySplitChargeRuleParameterArrayOutput +} + +type CostCategorySplitChargeRuleParameterArray []CostCategorySplitChargeRuleParameterInput + +func (CostCategorySplitChargeRuleParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategorySplitChargeRuleParameter)(nil)).Elem() +} + +func (i CostCategorySplitChargeRuleParameterArray) ToCostCategorySplitChargeRuleParameterArrayOutput() CostCategorySplitChargeRuleParameterArrayOutput { + return i.ToCostCategorySplitChargeRuleParameterArrayOutputWithContext(context.Background()) +} + +func (i CostCategorySplitChargeRuleParameterArray) ToCostCategorySplitChargeRuleParameterArrayOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CostCategorySplitChargeRuleParameterArrayOutput) +} + +type CostCategorySplitChargeRuleParameterOutput struct{ *pulumi.OutputState } + +func (CostCategorySplitChargeRuleParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CostCategorySplitChargeRuleParameter)(nil)).Elem() +} + +func (o CostCategorySplitChargeRuleParameterOutput) ToCostCategorySplitChargeRuleParameterOutput() CostCategorySplitChargeRuleParameterOutput { + return o +} + +func (o CostCategorySplitChargeRuleParameterOutput) ToCostCategorySplitChargeRuleParameterOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleParameterOutput { + return o +} + +// Parameter type. +func (o CostCategorySplitChargeRuleParameterOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v CostCategorySplitChargeRuleParameter) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +// Parameter values. +func (o CostCategorySplitChargeRuleParameterOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v CostCategorySplitChargeRuleParameter) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type CostCategorySplitChargeRuleParameterArrayOutput struct{ *pulumi.OutputState } + +func (CostCategorySplitChargeRuleParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CostCategorySplitChargeRuleParameter)(nil)).Elem() +} + +func (o CostCategorySplitChargeRuleParameterArrayOutput) ToCostCategorySplitChargeRuleParameterArrayOutput() CostCategorySplitChargeRuleParameterArrayOutput { + return o +} + +func (o CostCategorySplitChargeRuleParameterArrayOutput) ToCostCategorySplitChargeRuleParameterArrayOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleParameterArrayOutput { + return o +} + +func (o CostCategorySplitChargeRuleParameterArrayOutput) Index(i pulumi.IntInput) CostCategorySplitChargeRuleParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CostCategorySplitChargeRuleParameter { + return vs[0].([]CostCategorySplitChargeRuleParameter)[vs[1].(int)] + }).(CostCategorySplitChargeRuleParameterOutput) +} + +type GetCostCategoryRule struct { + // Configuration block for the value the line item is categorized as if the line item contains the matched dimension. See below. + InheritedValues []GetCostCategoryRuleInheritedValue `pulumi:"inheritedValues"` + // Configuration block for the `Expression` object used to categorize costs. See below. + Rules []GetCostCategoryRuleRule `pulumi:"rules"` + // Parameter type. + Type string `pulumi:"type"` + // Default value for the cost category. + Value string `pulumi:"value"` +} + +// GetCostCategoryRuleInput is an input type that accepts GetCostCategoryRuleArgs and GetCostCategoryRuleOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleInput` via: +// +// GetCostCategoryRuleArgs{...} +type GetCostCategoryRuleInput interface { + pulumi.Input + + ToGetCostCategoryRuleOutput() GetCostCategoryRuleOutput + ToGetCostCategoryRuleOutputWithContext(context.Context) GetCostCategoryRuleOutput +} + +type GetCostCategoryRuleArgs struct { + // Configuration block for the value the line item is categorized as if the line item contains the matched dimension. See below. + InheritedValues GetCostCategoryRuleInheritedValueArrayInput `pulumi:"inheritedValues"` + // Configuration block for the `Expression` object used to categorize costs. See below. + Rules GetCostCategoryRuleRuleArrayInput `pulumi:"rules"` + // Parameter type. + Type pulumi.StringInput `pulumi:"type"` + // Default value for the cost category. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetCostCategoryRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRule)(nil)).Elem() +} + +func (i GetCostCategoryRuleArgs) ToGetCostCategoryRuleOutput() GetCostCategoryRuleOutput { + return i.ToGetCostCategoryRuleOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleArgs) ToGetCostCategoryRuleOutputWithContext(ctx context.Context) GetCostCategoryRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleOutput) +} + +// GetCostCategoryRuleArrayInput is an input type that accepts GetCostCategoryRuleArray and GetCostCategoryRuleArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleArrayInput` via: +// +// GetCostCategoryRuleArray{ GetCostCategoryRuleArgs{...} } +type GetCostCategoryRuleArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleArrayOutput() GetCostCategoryRuleArrayOutput + ToGetCostCategoryRuleArrayOutputWithContext(context.Context) GetCostCategoryRuleArrayOutput +} + +type GetCostCategoryRuleArray []GetCostCategoryRuleInput + +func (GetCostCategoryRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRule)(nil)).Elem() +} + +func (i GetCostCategoryRuleArray) ToGetCostCategoryRuleArrayOutput() GetCostCategoryRuleArrayOutput { + return i.ToGetCostCategoryRuleArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleArray) ToGetCostCategoryRuleArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleArrayOutput) +} + +type GetCostCategoryRuleOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRule)(nil)).Elem() +} + +func (o GetCostCategoryRuleOutput) ToGetCostCategoryRuleOutput() GetCostCategoryRuleOutput { + return o +} + +func (o GetCostCategoryRuleOutput) ToGetCostCategoryRuleOutputWithContext(ctx context.Context) GetCostCategoryRuleOutput { + return o +} + +// Configuration block for the value the line item is categorized as if the line item contains the matched dimension. See below. +func (o GetCostCategoryRuleOutput) InheritedValues() GetCostCategoryRuleInheritedValueArrayOutput { + return o.ApplyT(func(v GetCostCategoryRule) []GetCostCategoryRuleInheritedValue { return v.InheritedValues }).(GetCostCategoryRuleInheritedValueArrayOutput) +} + +// Configuration block for the `Expression` object used to categorize costs. See below. +func (o GetCostCategoryRuleOutput) Rules() GetCostCategoryRuleRuleArrayOutput { + return o.ApplyT(func(v GetCostCategoryRule) []GetCostCategoryRuleRule { return v.Rules }).(GetCostCategoryRuleRuleArrayOutput) +} + +// Parameter type. +func (o GetCostCategoryRuleOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRule) string { return v.Type }).(pulumi.StringOutput) +} + +// Default value for the cost category. +func (o GetCostCategoryRuleOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRule) string { return v.Value }).(pulumi.StringOutput) +} + +type GetCostCategoryRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRule)(nil)).Elem() +} + +func (o GetCostCategoryRuleArrayOutput) ToGetCostCategoryRuleArrayOutput() GetCostCategoryRuleArrayOutput { + return o +} + +func (o GetCostCategoryRuleArrayOutput) ToGetCostCategoryRuleArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleArrayOutput { + return o +} + +func (o GetCostCategoryRuleArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRule { + return vs[0].([]GetCostCategoryRule)[vs[1].(int)] + }).(GetCostCategoryRuleOutput) +} + +type GetCostCategoryRuleInheritedValue struct { + // Key to extract cost category values. + DimensionKey string `pulumi:"dimensionKey"` + // Name of the dimension that's used to group costs. If you specify `LINKED_ACCOUNT_NAME`, the cost category value is based on account name. If you specify `TAG`, the cost category value will be based on the value of the specified tag key. Valid values are `LINKED_ACCOUNT_NAME`, `TAG` + DimensionName string `pulumi:"dimensionName"` +} + +// GetCostCategoryRuleInheritedValueInput is an input type that accepts GetCostCategoryRuleInheritedValueArgs and GetCostCategoryRuleInheritedValueOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleInheritedValueInput` via: +// +// GetCostCategoryRuleInheritedValueArgs{...} +type GetCostCategoryRuleInheritedValueInput interface { + pulumi.Input + + ToGetCostCategoryRuleInheritedValueOutput() GetCostCategoryRuleInheritedValueOutput + ToGetCostCategoryRuleInheritedValueOutputWithContext(context.Context) GetCostCategoryRuleInheritedValueOutput +} + +type GetCostCategoryRuleInheritedValueArgs struct { + // Key to extract cost category values. + DimensionKey pulumi.StringInput `pulumi:"dimensionKey"` + // Name of the dimension that's used to group costs. If you specify `LINKED_ACCOUNT_NAME`, the cost category value is based on account name. If you specify `TAG`, the cost category value will be based on the value of the specified tag key. Valid values are `LINKED_ACCOUNT_NAME`, `TAG` + DimensionName pulumi.StringInput `pulumi:"dimensionName"` +} + +func (GetCostCategoryRuleInheritedValueArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleInheritedValue)(nil)).Elem() +} + +func (i GetCostCategoryRuleInheritedValueArgs) ToGetCostCategoryRuleInheritedValueOutput() GetCostCategoryRuleInheritedValueOutput { + return i.ToGetCostCategoryRuleInheritedValueOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleInheritedValueArgs) ToGetCostCategoryRuleInheritedValueOutputWithContext(ctx context.Context) GetCostCategoryRuleInheritedValueOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleInheritedValueOutput) +} + +// GetCostCategoryRuleInheritedValueArrayInput is an input type that accepts GetCostCategoryRuleInheritedValueArray and GetCostCategoryRuleInheritedValueArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleInheritedValueArrayInput` via: +// +// GetCostCategoryRuleInheritedValueArray{ GetCostCategoryRuleInheritedValueArgs{...} } +type GetCostCategoryRuleInheritedValueArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleInheritedValueArrayOutput() GetCostCategoryRuleInheritedValueArrayOutput + ToGetCostCategoryRuleInheritedValueArrayOutputWithContext(context.Context) GetCostCategoryRuleInheritedValueArrayOutput +} + +type GetCostCategoryRuleInheritedValueArray []GetCostCategoryRuleInheritedValueInput + +func (GetCostCategoryRuleInheritedValueArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleInheritedValue)(nil)).Elem() +} + +func (i GetCostCategoryRuleInheritedValueArray) ToGetCostCategoryRuleInheritedValueArrayOutput() GetCostCategoryRuleInheritedValueArrayOutput { + return i.ToGetCostCategoryRuleInheritedValueArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleInheritedValueArray) ToGetCostCategoryRuleInheritedValueArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleInheritedValueArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleInheritedValueArrayOutput) +} + +type GetCostCategoryRuleInheritedValueOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleInheritedValueOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleInheritedValue)(nil)).Elem() +} + +func (o GetCostCategoryRuleInheritedValueOutput) ToGetCostCategoryRuleInheritedValueOutput() GetCostCategoryRuleInheritedValueOutput { + return o +} + +func (o GetCostCategoryRuleInheritedValueOutput) ToGetCostCategoryRuleInheritedValueOutputWithContext(ctx context.Context) GetCostCategoryRuleInheritedValueOutput { + return o +} + +// Key to extract cost category values. +func (o GetCostCategoryRuleInheritedValueOutput) DimensionKey() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleInheritedValue) string { return v.DimensionKey }).(pulumi.StringOutput) +} + +// Name of the dimension that's used to group costs. If you specify `LINKED_ACCOUNT_NAME`, the cost category value is based on account name. If you specify `TAG`, the cost category value will be based on the value of the specified tag key. Valid values are `LINKED_ACCOUNT_NAME`, `TAG` +func (o GetCostCategoryRuleInheritedValueOutput) DimensionName() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleInheritedValue) string { return v.DimensionName }).(pulumi.StringOutput) +} + +type GetCostCategoryRuleInheritedValueArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleInheritedValueArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleInheritedValue)(nil)).Elem() +} + +func (o GetCostCategoryRuleInheritedValueArrayOutput) ToGetCostCategoryRuleInheritedValueArrayOutput() GetCostCategoryRuleInheritedValueArrayOutput { + return o +} + +func (o GetCostCategoryRuleInheritedValueArrayOutput) ToGetCostCategoryRuleInheritedValueArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleInheritedValueArrayOutput { + return o +} + +func (o GetCostCategoryRuleInheritedValueArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleInheritedValueOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleInheritedValue { + return vs[0].([]GetCostCategoryRuleInheritedValue)[vs[1].(int)] + }).(GetCostCategoryRuleInheritedValueOutput) +} + +type GetCostCategoryRuleRule struct { + // Return results that match both `Dimension` objects. + Ands []GetCostCategoryRuleRuleAnd `pulumi:"ands"` + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories []GetCostCategoryRuleRuleCostCategory `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions []GetCostCategoryRuleRuleDimension `pulumi:"dimensions"` + // Return results that do not match the `Dimension` object. + Nots []GetCostCategoryRuleRuleNot `pulumi:"nots"` + // Return results that match either `Dimension` object. + Ors []GetCostCategoryRuleRuleOr `pulumi:"ors"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags []GetCostCategoryRuleRuleTag `pulumi:"tags"` +} + +// GetCostCategoryRuleRuleInput is an input type that accepts GetCostCategoryRuleRuleArgs and GetCostCategoryRuleRuleOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleInput` via: +// +// GetCostCategoryRuleRuleArgs{...} +type GetCostCategoryRuleRuleInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleOutput() GetCostCategoryRuleRuleOutput + ToGetCostCategoryRuleRuleOutputWithContext(context.Context) GetCostCategoryRuleRuleOutput +} + +type GetCostCategoryRuleRuleArgs struct { + // Return results that match both `Dimension` objects. + Ands GetCostCategoryRuleRuleAndArrayInput `pulumi:"ands"` + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories GetCostCategoryRuleRuleCostCategoryArrayInput `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions GetCostCategoryRuleRuleDimensionArrayInput `pulumi:"dimensions"` + // Return results that do not match the `Dimension` object. + Nots GetCostCategoryRuleRuleNotArrayInput `pulumi:"nots"` + // Return results that match either `Dimension` object. + Ors GetCostCategoryRuleRuleOrArrayInput `pulumi:"ors"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags GetCostCategoryRuleRuleTagArrayInput `pulumi:"tags"` +} + +func (GetCostCategoryRuleRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRule)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleArgs) ToGetCostCategoryRuleRuleOutput() GetCostCategoryRuleRuleOutput { + return i.ToGetCostCategoryRuleRuleOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleArgs) ToGetCostCategoryRuleRuleOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOutput) +} + +// GetCostCategoryRuleRuleArrayInput is an input type that accepts GetCostCategoryRuleRuleArray and GetCostCategoryRuleRuleArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleArrayInput` via: +// +// GetCostCategoryRuleRuleArray{ GetCostCategoryRuleRuleArgs{...} } +type GetCostCategoryRuleRuleArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleArrayOutput() GetCostCategoryRuleRuleArrayOutput + ToGetCostCategoryRuleRuleArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleArrayOutput +} + +type GetCostCategoryRuleRuleArray []GetCostCategoryRuleRuleInput + +func (GetCostCategoryRuleRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRule)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleArray) ToGetCostCategoryRuleRuleArrayOutput() GetCostCategoryRuleRuleArrayOutput { + return i.ToGetCostCategoryRuleRuleArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleArray) ToGetCostCategoryRuleRuleArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleArrayOutput) +} + +type GetCostCategoryRuleRuleOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRule)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleOutput) ToGetCostCategoryRuleRuleOutput() GetCostCategoryRuleRuleOutput { + return o +} + +func (o GetCostCategoryRuleRuleOutput) ToGetCostCategoryRuleRuleOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOutput { + return o +} + +// Return results that match both `Dimension` objects. +func (o GetCostCategoryRuleRuleOutput) Ands() GetCostCategoryRuleRuleAndArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRule) []GetCostCategoryRuleRuleAnd { return v.Ands }).(GetCostCategoryRuleRuleAndArrayOutput) +} + +// Configuration block for the filter that's based on `CostCategory` values. See below. +func (o GetCostCategoryRuleRuleOutput) CostCategories() GetCostCategoryRuleRuleCostCategoryArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRule) []GetCostCategoryRuleRuleCostCategory { return v.CostCategories }).(GetCostCategoryRuleRuleCostCategoryArrayOutput) +} + +// Configuration block for the specific `Dimension` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleOutput) Dimensions() GetCostCategoryRuleRuleDimensionArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRule) []GetCostCategoryRuleRuleDimension { return v.Dimensions }).(GetCostCategoryRuleRuleDimensionArrayOutput) +} + +// Return results that do not match the `Dimension` object. +func (o GetCostCategoryRuleRuleOutput) Nots() GetCostCategoryRuleRuleNotArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRule) []GetCostCategoryRuleRuleNot { return v.Nots }).(GetCostCategoryRuleRuleNotArrayOutput) +} + +// Return results that match either `Dimension` object. +func (o GetCostCategoryRuleRuleOutput) Ors() GetCostCategoryRuleRuleOrArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRule) []GetCostCategoryRuleRuleOr { return v.Ors }).(GetCostCategoryRuleRuleOrArrayOutput) +} + +// Configuration block for the specific `Tag` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleOutput) Tags() GetCostCategoryRuleRuleTagArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRule) []GetCostCategoryRuleRuleTag { return v.Tags }).(GetCostCategoryRuleRuleTagArrayOutput) +} + +type GetCostCategoryRuleRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRule)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleArrayOutput) ToGetCostCategoryRuleRuleArrayOutput() GetCostCategoryRuleRuleArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleArrayOutput) ToGetCostCategoryRuleRuleArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRule { + return vs[0].([]GetCostCategoryRuleRule)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOutput) +} + +type GetCostCategoryRuleRuleAnd struct { + // Return results that match both `Dimension` objects. + Ands []GetCostCategoryRuleRuleAndAnd `pulumi:"ands"` + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories []GetCostCategoryRuleRuleAndCostCategory `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions []GetCostCategoryRuleRuleAndDimension `pulumi:"dimensions"` + // Return results that do not match the `Dimension` object. + Nots []GetCostCategoryRuleRuleAndNot `pulumi:"nots"` + // Return results that match either `Dimension` object. + Ors []GetCostCategoryRuleRuleAndOr `pulumi:"ors"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags []GetCostCategoryRuleRuleAndTag `pulumi:"tags"` +} + +// GetCostCategoryRuleRuleAndInput is an input type that accepts GetCostCategoryRuleRuleAndArgs and GetCostCategoryRuleRuleAndOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndInput` via: +// +// GetCostCategoryRuleRuleAndArgs{...} +type GetCostCategoryRuleRuleAndInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndOutput() GetCostCategoryRuleRuleAndOutput + ToGetCostCategoryRuleRuleAndOutputWithContext(context.Context) GetCostCategoryRuleRuleAndOutput +} + +type GetCostCategoryRuleRuleAndArgs struct { + // Return results that match both `Dimension` objects. + Ands GetCostCategoryRuleRuleAndAndArrayInput `pulumi:"ands"` + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories GetCostCategoryRuleRuleAndCostCategoryArrayInput `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions GetCostCategoryRuleRuleAndDimensionArrayInput `pulumi:"dimensions"` + // Return results that do not match the `Dimension` object. + Nots GetCostCategoryRuleRuleAndNotArrayInput `pulumi:"nots"` + // Return results that match either `Dimension` object. + Ors GetCostCategoryRuleRuleAndOrArrayInput `pulumi:"ors"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags GetCostCategoryRuleRuleAndTagArrayInput `pulumi:"tags"` +} + +func (GetCostCategoryRuleRuleAndArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAnd)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndArgs) ToGetCostCategoryRuleRuleAndOutput() GetCostCategoryRuleRuleAndOutput { + return i.ToGetCostCategoryRuleRuleAndOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndArgs) ToGetCostCategoryRuleRuleAndOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndOutput) +} + +// GetCostCategoryRuleRuleAndArrayInput is an input type that accepts GetCostCategoryRuleRuleAndArray and GetCostCategoryRuleRuleAndArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndArrayInput` via: +// +// GetCostCategoryRuleRuleAndArray{ GetCostCategoryRuleRuleAndArgs{...} } +type GetCostCategoryRuleRuleAndArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndArrayOutput() GetCostCategoryRuleRuleAndArrayOutput + ToGetCostCategoryRuleRuleAndArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndArrayOutput +} + +type GetCostCategoryRuleRuleAndArray []GetCostCategoryRuleRuleAndInput + +func (GetCostCategoryRuleRuleAndArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAnd)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndArray) ToGetCostCategoryRuleRuleAndArrayOutput() GetCostCategoryRuleRuleAndArrayOutput { + return i.ToGetCostCategoryRuleRuleAndArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndArray) ToGetCostCategoryRuleRuleAndArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndArrayOutput) +} + +type GetCostCategoryRuleRuleAndOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAnd)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndOutput) ToGetCostCategoryRuleRuleAndOutput() GetCostCategoryRuleRuleAndOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndOutput) ToGetCostCategoryRuleRuleAndOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOutput { + return o +} + +// Return results that match both `Dimension` objects. +func (o GetCostCategoryRuleRuleAndOutput) Ands() GetCostCategoryRuleRuleAndAndArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAnd) []GetCostCategoryRuleRuleAndAnd { return v.Ands }).(GetCostCategoryRuleRuleAndAndArrayOutput) +} + +// Configuration block for the filter that's based on `CostCategory` values. See below. +func (o GetCostCategoryRuleRuleAndOutput) CostCategories() GetCostCategoryRuleRuleAndCostCategoryArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAnd) []GetCostCategoryRuleRuleAndCostCategory { return v.CostCategories }).(GetCostCategoryRuleRuleAndCostCategoryArrayOutput) +} + +// Configuration block for the specific `Dimension` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleAndOutput) Dimensions() GetCostCategoryRuleRuleAndDimensionArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAnd) []GetCostCategoryRuleRuleAndDimension { return v.Dimensions }).(GetCostCategoryRuleRuleAndDimensionArrayOutput) +} + +// Return results that do not match the `Dimension` object. +func (o GetCostCategoryRuleRuleAndOutput) Nots() GetCostCategoryRuleRuleAndNotArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAnd) []GetCostCategoryRuleRuleAndNot { return v.Nots }).(GetCostCategoryRuleRuleAndNotArrayOutput) +} + +// Return results that match either `Dimension` object. +func (o GetCostCategoryRuleRuleAndOutput) Ors() GetCostCategoryRuleRuleAndOrArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAnd) []GetCostCategoryRuleRuleAndOr { return v.Ors }).(GetCostCategoryRuleRuleAndOrArrayOutput) +} + +// Configuration block for the specific `Tag` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleAndOutput) Tags() GetCostCategoryRuleRuleAndTagArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAnd) []GetCostCategoryRuleRuleAndTag { return v.Tags }).(GetCostCategoryRuleRuleAndTagArrayOutput) +} + +type GetCostCategoryRuleRuleAndArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAnd)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndArrayOutput) ToGetCostCategoryRuleRuleAndArrayOutput() GetCostCategoryRuleRuleAndArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndArrayOutput) ToGetCostCategoryRuleRuleAndArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAnd { + return vs[0].([]GetCostCategoryRuleRuleAnd)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndOutput) +} + +type GetCostCategoryRuleRuleAndAnd struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories []GetCostCategoryRuleRuleAndAndCostCategory `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions []GetCostCategoryRuleRuleAndAndDimension `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags []GetCostCategoryRuleRuleAndAndTag `pulumi:"tags"` +} + +// GetCostCategoryRuleRuleAndAndInput is an input type that accepts GetCostCategoryRuleRuleAndAndArgs and GetCostCategoryRuleRuleAndAndOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndAndInput` via: +// +// GetCostCategoryRuleRuleAndAndArgs{...} +type GetCostCategoryRuleRuleAndAndInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndAndOutput() GetCostCategoryRuleRuleAndAndOutput + ToGetCostCategoryRuleRuleAndAndOutputWithContext(context.Context) GetCostCategoryRuleRuleAndAndOutput +} + +type GetCostCategoryRuleRuleAndAndArgs struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories GetCostCategoryRuleRuleAndAndCostCategoryArrayInput `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions GetCostCategoryRuleRuleAndAndDimensionArrayInput `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags GetCostCategoryRuleRuleAndAndTagArrayInput `pulumi:"tags"` +} + +func (GetCostCategoryRuleRuleAndAndArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndAnd)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndAndArgs) ToGetCostCategoryRuleRuleAndAndOutput() GetCostCategoryRuleRuleAndAndOutput { + return i.ToGetCostCategoryRuleRuleAndAndOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndAndArgs) ToGetCostCategoryRuleRuleAndAndOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndAndOutput) +} + +// GetCostCategoryRuleRuleAndAndArrayInput is an input type that accepts GetCostCategoryRuleRuleAndAndArray and GetCostCategoryRuleRuleAndAndArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndAndArrayInput` via: +// +// GetCostCategoryRuleRuleAndAndArray{ GetCostCategoryRuleRuleAndAndArgs{...} } +type GetCostCategoryRuleRuleAndAndArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndAndArrayOutput() GetCostCategoryRuleRuleAndAndArrayOutput + ToGetCostCategoryRuleRuleAndAndArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndAndArrayOutput +} + +type GetCostCategoryRuleRuleAndAndArray []GetCostCategoryRuleRuleAndAndInput + +func (GetCostCategoryRuleRuleAndAndArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndAnd)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndAndArray) ToGetCostCategoryRuleRuleAndAndArrayOutput() GetCostCategoryRuleRuleAndAndArrayOutput { + return i.ToGetCostCategoryRuleRuleAndAndArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndAndArray) ToGetCostCategoryRuleRuleAndAndArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndAndArrayOutput) +} + +type GetCostCategoryRuleRuleAndAndOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndAndOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndAnd)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndAndOutput) ToGetCostCategoryRuleRuleAndAndOutput() GetCostCategoryRuleRuleAndAndOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndAndOutput) ToGetCostCategoryRuleRuleAndAndOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndOutput { + return o +} + +// Configuration block for the filter that's based on `CostCategory` values. See below. +func (o GetCostCategoryRuleRuleAndAndOutput) CostCategories() GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndAnd) []GetCostCategoryRuleRuleAndAndCostCategory { + return v.CostCategories + }).(GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput) +} + +// Configuration block for the specific `Dimension` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleAndAndOutput) Dimensions() GetCostCategoryRuleRuleAndAndDimensionArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndAnd) []GetCostCategoryRuleRuleAndAndDimension { return v.Dimensions }).(GetCostCategoryRuleRuleAndAndDimensionArrayOutput) +} + +// Configuration block for the specific `Tag` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleAndAndOutput) Tags() GetCostCategoryRuleRuleAndAndTagArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndAnd) []GetCostCategoryRuleRuleAndAndTag { return v.Tags }).(GetCostCategoryRuleRuleAndAndTagArrayOutput) +} + +type GetCostCategoryRuleRuleAndAndArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndAndArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndAnd)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndAndArrayOutput) ToGetCostCategoryRuleRuleAndAndArrayOutput() GetCostCategoryRuleRuleAndAndArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndAndArrayOutput) ToGetCostCategoryRuleRuleAndAndArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndAndArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndAndOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndAnd { + return vs[0].([]GetCostCategoryRuleRuleAndAnd)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndAndOutput) +} + +type GetCostCategoryRuleRuleAndAndCostCategory struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleAndAndCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleAndAndCostCategoryArgs and GetCostCategoryRuleRuleAndAndCostCategoryOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndAndCostCategoryInput` via: +// +// GetCostCategoryRuleRuleAndAndCostCategoryArgs{...} +type GetCostCategoryRuleRuleAndAndCostCategoryInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndAndCostCategoryOutput() GetCostCategoryRuleRuleAndAndCostCategoryOutput + ToGetCostCategoryRuleRuleAndAndCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleAndAndCostCategoryOutput +} + +type GetCostCategoryRuleRuleAndAndCostCategoryArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleAndAndCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndAndCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndAndCostCategoryArgs) ToGetCostCategoryRuleRuleAndAndCostCategoryOutput() GetCostCategoryRuleRuleAndAndCostCategoryOutput { + return i.ToGetCostCategoryRuleRuleAndAndCostCategoryOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndAndCostCategoryArgs) ToGetCostCategoryRuleRuleAndAndCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndAndCostCategoryOutput) +} + +// GetCostCategoryRuleRuleAndAndCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleAndAndCostCategoryArray and GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndAndCostCategoryArrayInput` via: +// +// GetCostCategoryRuleRuleAndAndCostCategoryArray{ GetCostCategoryRuleRuleAndAndCostCategoryArgs{...} } +type GetCostCategoryRuleRuleAndAndCostCategoryArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndAndCostCategoryArrayOutput() GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput + ToGetCostCategoryRuleRuleAndAndCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput +} + +type GetCostCategoryRuleRuleAndAndCostCategoryArray []GetCostCategoryRuleRuleAndAndCostCategoryInput + +func (GetCostCategoryRuleRuleAndAndCostCategoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndAndCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndAndCostCategoryArray) ToGetCostCategoryRuleRuleAndAndCostCategoryArrayOutput() GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput { + return i.ToGetCostCategoryRuleRuleAndAndCostCategoryArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndAndCostCategoryArray) ToGetCostCategoryRuleRuleAndAndCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput) +} + +type GetCostCategoryRuleRuleAndAndCostCategoryOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndAndCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndAndCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndAndCostCategoryOutput) ToGetCostCategoryRuleRuleAndAndCostCategoryOutput() GetCostCategoryRuleRuleAndAndCostCategoryOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndAndCostCategoryOutput) ToGetCostCategoryRuleRuleAndAndCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndCostCategoryOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleAndAndCostCategoryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndAndCostCategory) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleAndAndCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndAndCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleAndAndCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndAndCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndAndCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput) ToGetCostCategoryRuleRuleAndAndCostCategoryArrayOutput() GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput) ToGetCostCategoryRuleRuleAndAndCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndAndCostCategoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndAndCostCategory { + return vs[0].([]GetCostCategoryRuleRuleAndAndCostCategory)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndAndCostCategoryOutput) +} + +type GetCostCategoryRuleRuleAndAndDimension struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleAndAndDimensionInput is an input type that accepts GetCostCategoryRuleRuleAndAndDimensionArgs and GetCostCategoryRuleRuleAndAndDimensionOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndAndDimensionInput` via: +// +// GetCostCategoryRuleRuleAndAndDimensionArgs{...} +type GetCostCategoryRuleRuleAndAndDimensionInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndAndDimensionOutput() GetCostCategoryRuleRuleAndAndDimensionOutput + ToGetCostCategoryRuleRuleAndAndDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleAndAndDimensionOutput +} + +type GetCostCategoryRuleRuleAndAndDimensionArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleAndAndDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndAndDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndAndDimensionArgs) ToGetCostCategoryRuleRuleAndAndDimensionOutput() GetCostCategoryRuleRuleAndAndDimensionOutput { + return i.ToGetCostCategoryRuleRuleAndAndDimensionOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndAndDimensionArgs) ToGetCostCategoryRuleRuleAndAndDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndAndDimensionOutput) +} + +// GetCostCategoryRuleRuleAndAndDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleAndAndDimensionArray and GetCostCategoryRuleRuleAndAndDimensionArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndAndDimensionArrayInput` via: +// +// GetCostCategoryRuleRuleAndAndDimensionArray{ GetCostCategoryRuleRuleAndAndDimensionArgs{...} } +type GetCostCategoryRuleRuleAndAndDimensionArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndAndDimensionArrayOutput() GetCostCategoryRuleRuleAndAndDimensionArrayOutput + ToGetCostCategoryRuleRuleAndAndDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndAndDimensionArrayOutput +} + +type GetCostCategoryRuleRuleAndAndDimensionArray []GetCostCategoryRuleRuleAndAndDimensionInput + +func (GetCostCategoryRuleRuleAndAndDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndAndDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndAndDimensionArray) ToGetCostCategoryRuleRuleAndAndDimensionArrayOutput() GetCostCategoryRuleRuleAndAndDimensionArrayOutput { + return i.ToGetCostCategoryRuleRuleAndAndDimensionArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndAndDimensionArray) ToGetCostCategoryRuleRuleAndAndDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndAndDimensionArrayOutput) +} + +type GetCostCategoryRuleRuleAndAndDimensionOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndAndDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndAndDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndAndDimensionOutput) ToGetCostCategoryRuleRuleAndAndDimensionOutput() GetCostCategoryRuleRuleAndAndDimensionOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndAndDimensionOutput) ToGetCostCategoryRuleRuleAndAndDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndDimensionOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleAndAndDimensionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndAndDimension) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleAndAndDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndAndDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleAndAndDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndAndDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleAndAndDimensionArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndAndDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndAndDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndAndDimensionArrayOutput) ToGetCostCategoryRuleRuleAndAndDimensionArrayOutput() GetCostCategoryRuleRuleAndAndDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndAndDimensionArrayOutput) ToGetCostCategoryRuleRuleAndAndDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndAndDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndAndDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndAndDimension { + return vs[0].([]GetCostCategoryRuleRuleAndAndDimension)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndAndDimensionOutput) +} + +type GetCostCategoryRuleRuleAndAndTag struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleAndAndTagInput is an input type that accepts GetCostCategoryRuleRuleAndAndTagArgs and GetCostCategoryRuleRuleAndAndTagOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndAndTagInput` via: +// +// GetCostCategoryRuleRuleAndAndTagArgs{...} +type GetCostCategoryRuleRuleAndAndTagInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndAndTagOutput() GetCostCategoryRuleRuleAndAndTagOutput + ToGetCostCategoryRuleRuleAndAndTagOutputWithContext(context.Context) GetCostCategoryRuleRuleAndAndTagOutput +} + +type GetCostCategoryRuleRuleAndAndTagArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleAndAndTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndAndTag)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndAndTagArgs) ToGetCostCategoryRuleRuleAndAndTagOutput() GetCostCategoryRuleRuleAndAndTagOutput { + return i.ToGetCostCategoryRuleRuleAndAndTagOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndAndTagArgs) ToGetCostCategoryRuleRuleAndAndTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndAndTagOutput) +} + +// GetCostCategoryRuleRuleAndAndTagArrayInput is an input type that accepts GetCostCategoryRuleRuleAndAndTagArray and GetCostCategoryRuleRuleAndAndTagArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndAndTagArrayInput` via: +// +// GetCostCategoryRuleRuleAndAndTagArray{ GetCostCategoryRuleRuleAndAndTagArgs{...} } +type GetCostCategoryRuleRuleAndAndTagArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndAndTagArrayOutput() GetCostCategoryRuleRuleAndAndTagArrayOutput + ToGetCostCategoryRuleRuleAndAndTagArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndAndTagArrayOutput +} + +type GetCostCategoryRuleRuleAndAndTagArray []GetCostCategoryRuleRuleAndAndTagInput + +func (GetCostCategoryRuleRuleAndAndTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndAndTag)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndAndTagArray) ToGetCostCategoryRuleRuleAndAndTagArrayOutput() GetCostCategoryRuleRuleAndAndTagArrayOutput { + return i.ToGetCostCategoryRuleRuleAndAndTagArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndAndTagArray) ToGetCostCategoryRuleRuleAndAndTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndAndTagArrayOutput) +} + +type GetCostCategoryRuleRuleAndAndTagOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndAndTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndAndTag)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndAndTagOutput) ToGetCostCategoryRuleRuleAndAndTagOutput() GetCostCategoryRuleRuleAndAndTagOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndAndTagOutput) ToGetCostCategoryRuleRuleAndAndTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndTagOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleAndAndTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndAndTag) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleAndAndTagOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndAndTag) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleAndAndTagOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndAndTag) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleAndAndTagArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndAndTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndAndTag)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndAndTagArrayOutput) ToGetCostCategoryRuleRuleAndAndTagArrayOutput() GetCostCategoryRuleRuleAndAndTagArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndAndTagArrayOutput) ToGetCostCategoryRuleRuleAndAndTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndAndTagArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndAndTagArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndAndTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndAndTag { + return vs[0].([]GetCostCategoryRuleRuleAndAndTag)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndAndTagOutput) +} + +type GetCostCategoryRuleRuleAndCostCategory struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleAndCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleAndCostCategoryArgs and GetCostCategoryRuleRuleAndCostCategoryOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndCostCategoryInput` via: +// +// GetCostCategoryRuleRuleAndCostCategoryArgs{...} +type GetCostCategoryRuleRuleAndCostCategoryInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndCostCategoryOutput() GetCostCategoryRuleRuleAndCostCategoryOutput + ToGetCostCategoryRuleRuleAndCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleAndCostCategoryOutput +} + +type GetCostCategoryRuleRuleAndCostCategoryArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleAndCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndCostCategoryArgs) ToGetCostCategoryRuleRuleAndCostCategoryOutput() GetCostCategoryRuleRuleAndCostCategoryOutput { + return i.ToGetCostCategoryRuleRuleAndCostCategoryOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndCostCategoryArgs) ToGetCostCategoryRuleRuleAndCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndCostCategoryOutput) +} + +// GetCostCategoryRuleRuleAndCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleAndCostCategoryArray and GetCostCategoryRuleRuleAndCostCategoryArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndCostCategoryArrayInput` via: +// +// GetCostCategoryRuleRuleAndCostCategoryArray{ GetCostCategoryRuleRuleAndCostCategoryArgs{...} } +type GetCostCategoryRuleRuleAndCostCategoryArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndCostCategoryArrayOutput() GetCostCategoryRuleRuleAndCostCategoryArrayOutput + ToGetCostCategoryRuleRuleAndCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndCostCategoryArrayOutput +} + +type GetCostCategoryRuleRuleAndCostCategoryArray []GetCostCategoryRuleRuleAndCostCategoryInput + +func (GetCostCategoryRuleRuleAndCostCategoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndCostCategoryArray) ToGetCostCategoryRuleRuleAndCostCategoryArrayOutput() GetCostCategoryRuleRuleAndCostCategoryArrayOutput { + return i.ToGetCostCategoryRuleRuleAndCostCategoryArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndCostCategoryArray) ToGetCostCategoryRuleRuleAndCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndCostCategoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndCostCategoryArrayOutput) +} + +type GetCostCategoryRuleRuleAndCostCategoryOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndCostCategoryOutput) ToGetCostCategoryRuleRuleAndCostCategoryOutput() GetCostCategoryRuleRuleAndCostCategoryOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndCostCategoryOutput) ToGetCostCategoryRuleRuleAndCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndCostCategoryOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleAndCostCategoryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndCostCategory) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleAndCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleAndCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleAndCostCategoryArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndCostCategoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndCostCategoryArrayOutput) ToGetCostCategoryRuleRuleAndCostCategoryArrayOutput() GetCostCategoryRuleRuleAndCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndCostCategoryArrayOutput) ToGetCostCategoryRuleRuleAndCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndCostCategoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndCostCategory { + return vs[0].([]GetCostCategoryRuleRuleAndCostCategory)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndCostCategoryOutput) +} + +type GetCostCategoryRuleRuleAndDimension struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleAndDimensionInput is an input type that accepts GetCostCategoryRuleRuleAndDimensionArgs and GetCostCategoryRuleRuleAndDimensionOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndDimensionInput` via: +// +// GetCostCategoryRuleRuleAndDimensionArgs{...} +type GetCostCategoryRuleRuleAndDimensionInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndDimensionOutput() GetCostCategoryRuleRuleAndDimensionOutput + ToGetCostCategoryRuleRuleAndDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleAndDimensionOutput +} + +type GetCostCategoryRuleRuleAndDimensionArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleAndDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndDimensionArgs) ToGetCostCategoryRuleRuleAndDimensionOutput() GetCostCategoryRuleRuleAndDimensionOutput { + return i.ToGetCostCategoryRuleRuleAndDimensionOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndDimensionArgs) ToGetCostCategoryRuleRuleAndDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndDimensionOutput) +} + +// GetCostCategoryRuleRuleAndDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleAndDimensionArray and GetCostCategoryRuleRuleAndDimensionArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndDimensionArrayInput` via: +// +// GetCostCategoryRuleRuleAndDimensionArray{ GetCostCategoryRuleRuleAndDimensionArgs{...} } +type GetCostCategoryRuleRuleAndDimensionArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndDimensionArrayOutput() GetCostCategoryRuleRuleAndDimensionArrayOutput + ToGetCostCategoryRuleRuleAndDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndDimensionArrayOutput +} + +type GetCostCategoryRuleRuleAndDimensionArray []GetCostCategoryRuleRuleAndDimensionInput + +func (GetCostCategoryRuleRuleAndDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndDimensionArray) ToGetCostCategoryRuleRuleAndDimensionArrayOutput() GetCostCategoryRuleRuleAndDimensionArrayOutput { + return i.ToGetCostCategoryRuleRuleAndDimensionArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndDimensionArray) ToGetCostCategoryRuleRuleAndDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndDimensionArrayOutput) +} + +type GetCostCategoryRuleRuleAndDimensionOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndDimensionOutput) ToGetCostCategoryRuleRuleAndDimensionOutput() GetCostCategoryRuleRuleAndDimensionOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndDimensionOutput) ToGetCostCategoryRuleRuleAndDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndDimensionOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleAndDimensionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndDimension) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleAndDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleAndDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleAndDimensionArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndDimensionArrayOutput) ToGetCostCategoryRuleRuleAndDimensionArrayOutput() GetCostCategoryRuleRuleAndDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndDimensionArrayOutput) ToGetCostCategoryRuleRuleAndDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndDimension { + return vs[0].([]GetCostCategoryRuleRuleAndDimension)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndDimensionOutput) +} + +type GetCostCategoryRuleRuleAndNot struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories []GetCostCategoryRuleRuleAndNotCostCategory `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions []GetCostCategoryRuleRuleAndNotDimension `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags []GetCostCategoryRuleRuleAndNotTag `pulumi:"tags"` +} + +// GetCostCategoryRuleRuleAndNotInput is an input type that accepts GetCostCategoryRuleRuleAndNotArgs and GetCostCategoryRuleRuleAndNotOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndNotInput` via: +// +// GetCostCategoryRuleRuleAndNotArgs{...} +type GetCostCategoryRuleRuleAndNotInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndNotOutput() GetCostCategoryRuleRuleAndNotOutput + ToGetCostCategoryRuleRuleAndNotOutputWithContext(context.Context) GetCostCategoryRuleRuleAndNotOutput +} + +type GetCostCategoryRuleRuleAndNotArgs struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories GetCostCategoryRuleRuleAndNotCostCategoryArrayInput `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions GetCostCategoryRuleRuleAndNotDimensionArrayInput `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags GetCostCategoryRuleRuleAndNotTagArrayInput `pulumi:"tags"` +} + +func (GetCostCategoryRuleRuleAndNotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndNot)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndNotArgs) ToGetCostCategoryRuleRuleAndNotOutput() GetCostCategoryRuleRuleAndNotOutput { + return i.ToGetCostCategoryRuleRuleAndNotOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndNotArgs) ToGetCostCategoryRuleRuleAndNotOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndNotOutput) +} + +// GetCostCategoryRuleRuleAndNotArrayInput is an input type that accepts GetCostCategoryRuleRuleAndNotArray and GetCostCategoryRuleRuleAndNotArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndNotArrayInput` via: +// +// GetCostCategoryRuleRuleAndNotArray{ GetCostCategoryRuleRuleAndNotArgs{...} } +type GetCostCategoryRuleRuleAndNotArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndNotArrayOutput() GetCostCategoryRuleRuleAndNotArrayOutput + ToGetCostCategoryRuleRuleAndNotArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndNotArrayOutput +} + +type GetCostCategoryRuleRuleAndNotArray []GetCostCategoryRuleRuleAndNotInput + +func (GetCostCategoryRuleRuleAndNotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndNot)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndNotArray) ToGetCostCategoryRuleRuleAndNotArrayOutput() GetCostCategoryRuleRuleAndNotArrayOutput { + return i.ToGetCostCategoryRuleRuleAndNotArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndNotArray) ToGetCostCategoryRuleRuleAndNotArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndNotArrayOutput) +} + +type GetCostCategoryRuleRuleAndNotOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndNotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndNot)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndNotOutput) ToGetCostCategoryRuleRuleAndNotOutput() GetCostCategoryRuleRuleAndNotOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndNotOutput) ToGetCostCategoryRuleRuleAndNotOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotOutput { + return o +} + +// Configuration block for the filter that's based on `CostCategory` values. See below. +func (o GetCostCategoryRuleRuleAndNotOutput) CostCategories() GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndNot) []GetCostCategoryRuleRuleAndNotCostCategory { + return v.CostCategories + }).(GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput) +} + +// Configuration block for the specific `Dimension` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleAndNotOutput) Dimensions() GetCostCategoryRuleRuleAndNotDimensionArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndNot) []GetCostCategoryRuleRuleAndNotDimension { return v.Dimensions }).(GetCostCategoryRuleRuleAndNotDimensionArrayOutput) +} + +// Configuration block for the specific `Tag` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleAndNotOutput) Tags() GetCostCategoryRuleRuleAndNotTagArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndNot) []GetCostCategoryRuleRuleAndNotTag { return v.Tags }).(GetCostCategoryRuleRuleAndNotTagArrayOutput) +} + +type GetCostCategoryRuleRuleAndNotArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndNotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndNot)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndNotArrayOutput) ToGetCostCategoryRuleRuleAndNotArrayOutput() GetCostCategoryRuleRuleAndNotArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndNotArrayOutput) ToGetCostCategoryRuleRuleAndNotArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndNotArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndNotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndNot { + return vs[0].([]GetCostCategoryRuleRuleAndNot)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndNotOutput) +} + +type GetCostCategoryRuleRuleAndNotCostCategory struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleAndNotCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleAndNotCostCategoryArgs and GetCostCategoryRuleRuleAndNotCostCategoryOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndNotCostCategoryInput` via: +// +// GetCostCategoryRuleRuleAndNotCostCategoryArgs{...} +type GetCostCategoryRuleRuleAndNotCostCategoryInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndNotCostCategoryOutput() GetCostCategoryRuleRuleAndNotCostCategoryOutput + ToGetCostCategoryRuleRuleAndNotCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleAndNotCostCategoryOutput +} + +type GetCostCategoryRuleRuleAndNotCostCategoryArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleAndNotCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndNotCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndNotCostCategoryArgs) ToGetCostCategoryRuleRuleAndNotCostCategoryOutput() GetCostCategoryRuleRuleAndNotCostCategoryOutput { + return i.ToGetCostCategoryRuleRuleAndNotCostCategoryOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndNotCostCategoryArgs) ToGetCostCategoryRuleRuleAndNotCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndNotCostCategoryOutput) +} + +// GetCostCategoryRuleRuleAndNotCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleAndNotCostCategoryArray and GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndNotCostCategoryArrayInput` via: +// +// GetCostCategoryRuleRuleAndNotCostCategoryArray{ GetCostCategoryRuleRuleAndNotCostCategoryArgs{...} } +type GetCostCategoryRuleRuleAndNotCostCategoryArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndNotCostCategoryArrayOutput() GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput + ToGetCostCategoryRuleRuleAndNotCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput +} + +type GetCostCategoryRuleRuleAndNotCostCategoryArray []GetCostCategoryRuleRuleAndNotCostCategoryInput + +func (GetCostCategoryRuleRuleAndNotCostCategoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndNotCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndNotCostCategoryArray) ToGetCostCategoryRuleRuleAndNotCostCategoryArrayOutput() GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput { + return i.ToGetCostCategoryRuleRuleAndNotCostCategoryArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndNotCostCategoryArray) ToGetCostCategoryRuleRuleAndNotCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput) +} + +type GetCostCategoryRuleRuleAndNotCostCategoryOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndNotCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndNotCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndNotCostCategoryOutput) ToGetCostCategoryRuleRuleAndNotCostCategoryOutput() GetCostCategoryRuleRuleAndNotCostCategoryOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndNotCostCategoryOutput) ToGetCostCategoryRuleRuleAndNotCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotCostCategoryOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleAndNotCostCategoryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndNotCostCategory) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleAndNotCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndNotCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleAndNotCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndNotCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndNotCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput) ToGetCostCategoryRuleRuleAndNotCostCategoryArrayOutput() GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput) ToGetCostCategoryRuleRuleAndNotCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndNotCostCategoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndNotCostCategory { + return vs[0].([]GetCostCategoryRuleRuleAndNotCostCategory)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndNotCostCategoryOutput) +} + +type GetCostCategoryRuleRuleAndNotDimension struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleAndNotDimensionInput is an input type that accepts GetCostCategoryRuleRuleAndNotDimensionArgs and GetCostCategoryRuleRuleAndNotDimensionOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndNotDimensionInput` via: +// +// GetCostCategoryRuleRuleAndNotDimensionArgs{...} +type GetCostCategoryRuleRuleAndNotDimensionInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndNotDimensionOutput() GetCostCategoryRuleRuleAndNotDimensionOutput + ToGetCostCategoryRuleRuleAndNotDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleAndNotDimensionOutput +} + +type GetCostCategoryRuleRuleAndNotDimensionArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleAndNotDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndNotDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndNotDimensionArgs) ToGetCostCategoryRuleRuleAndNotDimensionOutput() GetCostCategoryRuleRuleAndNotDimensionOutput { + return i.ToGetCostCategoryRuleRuleAndNotDimensionOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndNotDimensionArgs) ToGetCostCategoryRuleRuleAndNotDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndNotDimensionOutput) +} + +// GetCostCategoryRuleRuleAndNotDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleAndNotDimensionArray and GetCostCategoryRuleRuleAndNotDimensionArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndNotDimensionArrayInput` via: +// +// GetCostCategoryRuleRuleAndNotDimensionArray{ GetCostCategoryRuleRuleAndNotDimensionArgs{...} } +type GetCostCategoryRuleRuleAndNotDimensionArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndNotDimensionArrayOutput() GetCostCategoryRuleRuleAndNotDimensionArrayOutput + ToGetCostCategoryRuleRuleAndNotDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndNotDimensionArrayOutput +} + +type GetCostCategoryRuleRuleAndNotDimensionArray []GetCostCategoryRuleRuleAndNotDimensionInput + +func (GetCostCategoryRuleRuleAndNotDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndNotDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndNotDimensionArray) ToGetCostCategoryRuleRuleAndNotDimensionArrayOutput() GetCostCategoryRuleRuleAndNotDimensionArrayOutput { + return i.ToGetCostCategoryRuleRuleAndNotDimensionArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndNotDimensionArray) ToGetCostCategoryRuleRuleAndNotDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndNotDimensionArrayOutput) +} + +type GetCostCategoryRuleRuleAndNotDimensionOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndNotDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndNotDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndNotDimensionOutput) ToGetCostCategoryRuleRuleAndNotDimensionOutput() GetCostCategoryRuleRuleAndNotDimensionOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndNotDimensionOutput) ToGetCostCategoryRuleRuleAndNotDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotDimensionOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleAndNotDimensionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndNotDimension) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleAndNotDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndNotDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleAndNotDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndNotDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleAndNotDimensionArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndNotDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndNotDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndNotDimensionArrayOutput) ToGetCostCategoryRuleRuleAndNotDimensionArrayOutput() GetCostCategoryRuleRuleAndNotDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndNotDimensionArrayOutput) ToGetCostCategoryRuleRuleAndNotDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndNotDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndNotDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndNotDimension { + return vs[0].([]GetCostCategoryRuleRuleAndNotDimension)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndNotDimensionOutput) +} + +type GetCostCategoryRuleRuleAndNotTag struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleAndNotTagInput is an input type that accepts GetCostCategoryRuleRuleAndNotTagArgs and GetCostCategoryRuleRuleAndNotTagOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndNotTagInput` via: +// +// GetCostCategoryRuleRuleAndNotTagArgs{...} +type GetCostCategoryRuleRuleAndNotTagInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndNotTagOutput() GetCostCategoryRuleRuleAndNotTagOutput + ToGetCostCategoryRuleRuleAndNotTagOutputWithContext(context.Context) GetCostCategoryRuleRuleAndNotTagOutput +} + +type GetCostCategoryRuleRuleAndNotTagArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleAndNotTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndNotTag)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndNotTagArgs) ToGetCostCategoryRuleRuleAndNotTagOutput() GetCostCategoryRuleRuleAndNotTagOutput { + return i.ToGetCostCategoryRuleRuleAndNotTagOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndNotTagArgs) ToGetCostCategoryRuleRuleAndNotTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndNotTagOutput) +} + +// GetCostCategoryRuleRuleAndNotTagArrayInput is an input type that accepts GetCostCategoryRuleRuleAndNotTagArray and GetCostCategoryRuleRuleAndNotTagArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndNotTagArrayInput` via: +// +// GetCostCategoryRuleRuleAndNotTagArray{ GetCostCategoryRuleRuleAndNotTagArgs{...} } +type GetCostCategoryRuleRuleAndNotTagArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndNotTagArrayOutput() GetCostCategoryRuleRuleAndNotTagArrayOutput + ToGetCostCategoryRuleRuleAndNotTagArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndNotTagArrayOutput +} + +type GetCostCategoryRuleRuleAndNotTagArray []GetCostCategoryRuleRuleAndNotTagInput + +func (GetCostCategoryRuleRuleAndNotTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndNotTag)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndNotTagArray) ToGetCostCategoryRuleRuleAndNotTagArrayOutput() GetCostCategoryRuleRuleAndNotTagArrayOutput { + return i.ToGetCostCategoryRuleRuleAndNotTagArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndNotTagArray) ToGetCostCategoryRuleRuleAndNotTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndNotTagArrayOutput) +} + +type GetCostCategoryRuleRuleAndNotTagOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndNotTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndNotTag)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndNotTagOutput) ToGetCostCategoryRuleRuleAndNotTagOutput() GetCostCategoryRuleRuleAndNotTagOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndNotTagOutput) ToGetCostCategoryRuleRuleAndNotTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotTagOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleAndNotTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndNotTag) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleAndNotTagOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndNotTag) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleAndNotTagOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndNotTag) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleAndNotTagArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndNotTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndNotTag)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndNotTagArrayOutput) ToGetCostCategoryRuleRuleAndNotTagArrayOutput() GetCostCategoryRuleRuleAndNotTagArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndNotTagArrayOutput) ToGetCostCategoryRuleRuleAndNotTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndNotTagArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndNotTagArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndNotTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndNotTag { + return vs[0].([]GetCostCategoryRuleRuleAndNotTag)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndNotTagOutput) +} + +type GetCostCategoryRuleRuleAndOr struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories []GetCostCategoryRuleRuleAndOrCostCategory `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions []GetCostCategoryRuleRuleAndOrDimension `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags []GetCostCategoryRuleRuleAndOrTag `pulumi:"tags"` +} + +// GetCostCategoryRuleRuleAndOrInput is an input type that accepts GetCostCategoryRuleRuleAndOrArgs and GetCostCategoryRuleRuleAndOrOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndOrInput` via: +// +// GetCostCategoryRuleRuleAndOrArgs{...} +type GetCostCategoryRuleRuleAndOrInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndOrOutput() GetCostCategoryRuleRuleAndOrOutput + ToGetCostCategoryRuleRuleAndOrOutputWithContext(context.Context) GetCostCategoryRuleRuleAndOrOutput +} + +type GetCostCategoryRuleRuleAndOrArgs struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories GetCostCategoryRuleRuleAndOrCostCategoryArrayInput `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions GetCostCategoryRuleRuleAndOrDimensionArrayInput `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags GetCostCategoryRuleRuleAndOrTagArrayInput `pulumi:"tags"` +} + +func (GetCostCategoryRuleRuleAndOrArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndOr)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndOrArgs) ToGetCostCategoryRuleRuleAndOrOutput() GetCostCategoryRuleRuleAndOrOutput { + return i.ToGetCostCategoryRuleRuleAndOrOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndOrArgs) ToGetCostCategoryRuleRuleAndOrOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndOrOutput) +} + +// GetCostCategoryRuleRuleAndOrArrayInput is an input type that accepts GetCostCategoryRuleRuleAndOrArray and GetCostCategoryRuleRuleAndOrArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndOrArrayInput` via: +// +// GetCostCategoryRuleRuleAndOrArray{ GetCostCategoryRuleRuleAndOrArgs{...} } +type GetCostCategoryRuleRuleAndOrArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndOrArrayOutput() GetCostCategoryRuleRuleAndOrArrayOutput + ToGetCostCategoryRuleRuleAndOrArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndOrArrayOutput +} + +type GetCostCategoryRuleRuleAndOrArray []GetCostCategoryRuleRuleAndOrInput + +func (GetCostCategoryRuleRuleAndOrArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndOr)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndOrArray) ToGetCostCategoryRuleRuleAndOrArrayOutput() GetCostCategoryRuleRuleAndOrArrayOutput { + return i.ToGetCostCategoryRuleRuleAndOrArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndOrArray) ToGetCostCategoryRuleRuleAndOrArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndOrArrayOutput) +} + +type GetCostCategoryRuleRuleAndOrOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndOrOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndOr)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndOrOutput) ToGetCostCategoryRuleRuleAndOrOutput() GetCostCategoryRuleRuleAndOrOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndOrOutput) ToGetCostCategoryRuleRuleAndOrOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrOutput { + return o +} + +// Configuration block for the filter that's based on `CostCategory` values. See below. +func (o GetCostCategoryRuleRuleAndOrOutput) CostCategories() GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndOr) []GetCostCategoryRuleRuleAndOrCostCategory { + return v.CostCategories + }).(GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput) +} + +// Configuration block for the specific `Dimension` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleAndOrOutput) Dimensions() GetCostCategoryRuleRuleAndOrDimensionArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndOr) []GetCostCategoryRuleRuleAndOrDimension { return v.Dimensions }).(GetCostCategoryRuleRuleAndOrDimensionArrayOutput) +} + +// Configuration block for the specific `Tag` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleAndOrOutput) Tags() GetCostCategoryRuleRuleAndOrTagArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndOr) []GetCostCategoryRuleRuleAndOrTag { return v.Tags }).(GetCostCategoryRuleRuleAndOrTagArrayOutput) +} + +type GetCostCategoryRuleRuleAndOrArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndOrArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndOr)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndOrArrayOutput) ToGetCostCategoryRuleRuleAndOrArrayOutput() GetCostCategoryRuleRuleAndOrArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndOrArrayOutput) ToGetCostCategoryRuleRuleAndOrArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndOrArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndOrOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndOr { + return vs[0].([]GetCostCategoryRuleRuleAndOr)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndOrOutput) +} + +type GetCostCategoryRuleRuleAndOrCostCategory struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleAndOrCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleAndOrCostCategoryArgs and GetCostCategoryRuleRuleAndOrCostCategoryOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndOrCostCategoryInput` via: +// +// GetCostCategoryRuleRuleAndOrCostCategoryArgs{...} +type GetCostCategoryRuleRuleAndOrCostCategoryInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndOrCostCategoryOutput() GetCostCategoryRuleRuleAndOrCostCategoryOutput + ToGetCostCategoryRuleRuleAndOrCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleAndOrCostCategoryOutput +} + +type GetCostCategoryRuleRuleAndOrCostCategoryArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleAndOrCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndOrCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndOrCostCategoryArgs) ToGetCostCategoryRuleRuleAndOrCostCategoryOutput() GetCostCategoryRuleRuleAndOrCostCategoryOutput { + return i.ToGetCostCategoryRuleRuleAndOrCostCategoryOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndOrCostCategoryArgs) ToGetCostCategoryRuleRuleAndOrCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndOrCostCategoryOutput) +} + +// GetCostCategoryRuleRuleAndOrCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleAndOrCostCategoryArray and GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndOrCostCategoryArrayInput` via: +// +// GetCostCategoryRuleRuleAndOrCostCategoryArray{ GetCostCategoryRuleRuleAndOrCostCategoryArgs{...} } +type GetCostCategoryRuleRuleAndOrCostCategoryArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndOrCostCategoryArrayOutput() GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput + ToGetCostCategoryRuleRuleAndOrCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput +} + +type GetCostCategoryRuleRuleAndOrCostCategoryArray []GetCostCategoryRuleRuleAndOrCostCategoryInput + +func (GetCostCategoryRuleRuleAndOrCostCategoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndOrCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndOrCostCategoryArray) ToGetCostCategoryRuleRuleAndOrCostCategoryArrayOutput() GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput { + return i.ToGetCostCategoryRuleRuleAndOrCostCategoryArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndOrCostCategoryArray) ToGetCostCategoryRuleRuleAndOrCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput) +} + +type GetCostCategoryRuleRuleAndOrCostCategoryOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndOrCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndOrCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndOrCostCategoryOutput) ToGetCostCategoryRuleRuleAndOrCostCategoryOutput() GetCostCategoryRuleRuleAndOrCostCategoryOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndOrCostCategoryOutput) ToGetCostCategoryRuleRuleAndOrCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrCostCategoryOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleAndOrCostCategoryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndOrCostCategory) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleAndOrCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndOrCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleAndOrCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndOrCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndOrCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput) ToGetCostCategoryRuleRuleAndOrCostCategoryArrayOutput() GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput) ToGetCostCategoryRuleRuleAndOrCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndOrCostCategoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndOrCostCategory { + return vs[0].([]GetCostCategoryRuleRuleAndOrCostCategory)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndOrCostCategoryOutput) +} + +type GetCostCategoryRuleRuleAndOrDimension struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleAndOrDimensionInput is an input type that accepts GetCostCategoryRuleRuleAndOrDimensionArgs and GetCostCategoryRuleRuleAndOrDimensionOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndOrDimensionInput` via: +// +// GetCostCategoryRuleRuleAndOrDimensionArgs{...} +type GetCostCategoryRuleRuleAndOrDimensionInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndOrDimensionOutput() GetCostCategoryRuleRuleAndOrDimensionOutput + ToGetCostCategoryRuleRuleAndOrDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleAndOrDimensionOutput +} + +type GetCostCategoryRuleRuleAndOrDimensionArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleAndOrDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndOrDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndOrDimensionArgs) ToGetCostCategoryRuleRuleAndOrDimensionOutput() GetCostCategoryRuleRuleAndOrDimensionOutput { + return i.ToGetCostCategoryRuleRuleAndOrDimensionOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndOrDimensionArgs) ToGetCostCategoryRuleRuleAndOrDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndOrDimensionOutput) +} + +// GetCostCategoryRuleRuleAndOrDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleAndOrDimensionArray and GetCostCategoryRuleRuleAndOrDimensionArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndOrDimensionArrayInput` via: +// +// GetCostCategoryRuleRuleAndOrDimensionArray{ GetCostCategoryRuleRuleAndOrDimensionArgs{...} } +type GetCostCategoryRuleRuleAndOrDimensionArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndOrDimensionArrayOutput() GetCostCategoryRuleRuleAndOrDimensionArrayOutput + ToGetCostCategoryRuleRuleAndOrDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndOrDimensionArrayOutput +} + +type GetCostCategoryRuleRuleAndOrDimensionArray []GetCostCategoryRuleRuleAndOrDimensionInput + +func (GetCostCategoryRuleRuleAndOrDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndOrDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndOrDimensionArray) ToGetCostCategoryRuleRuleAndOrDimensionArrayOutput() GetCostCategoryRuleRuleAndOrDimensionArrayOutput { + return i.ToGetCostCategoryRuleRuleAndOrDimensionArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndOrDimensionArray) ToGetCostCategoryRuleRuleAndOrDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndOrDimensionArrayOutput) +} + +type GetCostCategoryRuleRuleAndOrDimensionOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndOrDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndOrDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndOrDimensionOutput) ToGetCostCategoryRuleRuleAndOrDimensionOutput() GetCostCategoryRuleRuleAndOrDimensionOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndOrDimensionOutput) ToGetCostCategoryRuleRuleAndOrDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrDimensionOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleAndOrDimensionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndOrDimension) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleAndOrDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndOrDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleAndOrDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndOrDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleAndOrDimensionArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndOrDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndOrDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndOrDimensionArrayOutput) ToGetCostCategoryRuleRuleAndOrDimensionArrayOutput() GetCostCategoryRuleRuleAndOrDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndOrDimensionArrayOutput) ToGetCostCategoryRuleRuleAndOrDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndOrDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndOrDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndOrDimension { + return vs[0].([]GetCostCategoryRuleRuleAndOrDimension)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndOrDimensionOutput) +} + +type GetCostCategoryRuleRuleAndOrTag struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleAndOrTagInput is an input type that accepts GetCostCategoryRuleRuleAndOrTagArgs and GetCostCategoryRuleRuleAndOrTagOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndOrTagInput` via: +// +// GetCostCategoryRuleRuleAndOrTagArgs{...} +type GetCostCategoryRuleRuleAndOrTagInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndOrTagOutput() GetCostCategoryRuleRuleAndOrTagOutput + ToGetCostCategoryRuleRuleAndOrTagOutputWithContext(context.Context) GetCostCategoryRuleRuleAndOrTagOutput +} + +type GetCostCategoryRuleRuleAndOrTagArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleAndOrTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndOrTag)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndOrTagArgs) ToGetCostCategoryRuleRuleAndOrTagOutput() GetCostCategoryRuleRuleAndOrTagOutput { + return i.ToGetCostCategoryRuleRuleAndOrTagOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndOrTagArgs) ToGetCostCategoryRuleRuleAndOrTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndOrTagOutput) +} + +// GetCostCategoryRuleRuleAndOrTagArrayInput is an input type that accepts GetCostCategoryRuleRuleAndOrTagArray and GetCostCategoryRuleRuleAndOrTagArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndOrTagArrayInput` via: +// +// GetCostCategoryRuleRuleAndOrTagArray{ GetCostCategoryRuleRuleAndOrTagArgs{...} } +type GetCostCategoryRuleRuleAndOrTagArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndOrTagArrayOutput() GetCostCategoryRuleRuleAndOrTagArrayOutput + ToGetCostCategoryRuleRuleAndOrTagArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndOrTagArrayOutput +} + +type GetCostCategoryRuleRuleAndOrTagArray []GetCostCategoryRuleRuleAndOrTagInput + +func (GetCostCategoryRuleRuleAndOrTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndOrTag)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndOrTagArray) ToGetCostCategoryRuleRuleAndOrTagArrayOutput() GetCostCategoryRuleRuleAndOrTagArrayOutput { + return i.ToGetCostCategoryRuleRuleAndOrTagArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndOrTagArray) ToGetCostCategoryRuleRuleAndOrTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndOrTagArrayOutput) +} + +type GetCostCategoryRuleRuleAndOrTagOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndOrTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndOrTag)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndOrTagOutput) ToGetCostCategoryRuleRuleAndOrTagOutput() GetCostCategoryRuleRuleAndOrTagOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndOrTagOutput) ToGetCostCategoryRuleRuleAndOrTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrTagOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleAndOrTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndOrTag) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleAndOrTagOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndOrTag) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleAndOrTagOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndOrTag) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleAndOrTagArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndOrTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndOrTag)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndOrTagArrayOutput) ToGetCostCategoryRuleRuleAndOrTagArrayOutput() GetCostCategoryRuleRuleAndOrTagArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndOrTagArrayOutput) ToGetCostCategoryRuleRuleAndOrTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOrTagArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndOrTagArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndOrTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndOrTag { + return vs[0].([]GetCostCategoryRuleRuleAndOrTag)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndOrTagOutput) +} + +type GetCostCategoryRuleRuleAndTag struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleAndTagInput is an input type that accepts GetCostCategoryRuleRuleAndTagArgs and GetCostCategoryRuleRuleAndTagOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndTagInput` via: +// +// GetCostCategoryRuleRuleAndTagArgs{...} +type GetCostCategoryRuleRuleAndTagInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndTagOutput() GetCostCategoryRuleRuleAndTagOutput + ToGetCostCategoryRuleRuleAndTagOutputWithContext(context.Context) GetCostCategoryRuleRuleAndTagOutput +} + +type GetCostCategoryRuleRuleAndTagArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleAndTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndTag)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndTagArgs) ToGetCostCategoryRuleRuleAndTagOutput() GetCostCategoryRuleRuleAndTagOutput { + return i.ToGetCostCategoryRuleRuleAndTagOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndTagArgs) ToGetCostCategoryRuleRuleAndTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndTagOutput) +} + +// GetCostCategoryRuleRuleAndTagArrayInput is an input type that accepts GetCostCategoryRuleRuleAndTagArray and GetCostCategoryRuleRuleAndTagArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleAndTagArrayInput` via: +// +// GetCostCategoryRuleRuleAndTagArray{ GetCostCategoryRuleRuleAndTagArgs{...} } +type GetCostCategoryRuleRuleAndTagArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleAndTagArrayOutput() GetCostCategoryRuleRuleAndTagArrayOutput + ToGetCostCategoryRuleRuleAndTagArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndTagArrayOutput +} + +type GetCostCategoryRuleRuleAndTagArray []GetCostCategoryRuleRuleAndTagInput + +func (GetCostCategoryRuleRuleAndTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndTag)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleAndTagArray) ToGetCostCategoryRuleRuleAndTagArrayOutput() GetCostCategoryRuleRuleAndTagArrayOutput { + return i.ToGetCostCategoryRuleRuleAndTagArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleAndTagArray) ToGetCostCategoryRuleRuleAndTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndTagArrayOutput) +} + +type GetCostCategoryRuleRuleAndTagOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleAndTag)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndTagOutput) ToGetCostCategoryRuleRuleAndTagOutput() GetCostCategoryRuleRuleAndTagOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndTagOutput) ToGetCostCategoryRuleRuleAndTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndTagOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleAndTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndTag) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleAndTagOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndTag) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleAndTagOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleAndTag) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleAndTagArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleAndTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndTag)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleAndTagArrayOutput) ToGetCostCategoryRuleRuleAndTagArrayOutput() GetCostCategoryRuleRuleAndTagArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndTagArrayOutput) ToGetCostCategoryRuleRuleAndTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndTagArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleAndTagArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndTag { + return vs[0].([]GetCostCategoryRuleRuleAndTag)[vs[1].(int)] + }).(GetCostCategoryRuleRuleAndTagOutput) +} + +type GetCostCategoryRuleRuleCostCategory struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleCostCategoryArgs and GetCostCategoryRuleRuleCostCategoryOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleCostCategoryInput` via: +// +// GetCostCategoryRuleRuleCostCategoryArgs{...} +type GetCostCategoryRuleRuleCostCategoryInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleCostCategoryOutput() GetCostCategoryRuleRuleCostCategoryOutput + ToGetCostCategoryRuleRuleCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleCostCategoryOutput +} + +type GetCostCategoryRuleRuleCostCategoryArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleCostCategoryArgs) ToGetCostCategoryRuleRuleCostCategoryOutput() GetCostCategoryRuleRuleCostCategoryOutput { + return i.ToGetCostCategoryRuleRuleCostCategoryOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleCostCategoryArgs) ToGetCostCategoryRuleRuleCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleCostCategoryOutput) +} + +// GetCostCategoryRuleRuleCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleCostCategoryArray and GetCostCategoryRuleRuleCostCategoryArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleCostCategoryArrayInput` via: +// +// GetCostCategoryRuleRuleCostCategoryArray{ GetCostCategoryRuleRuleCostCategoryArgs{...} } +type GetCostCategoryRuleRuleCostCategoryArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleCostCategoryArrayOutput() GetCostCategoryRuleRuleCostCategoryArrayOutput + ToGetCostCategoryRuleRuleCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleCostCategoryArrayOutput +} + +type GetCostCategoryRuleRuleCostCategoryArray []GetCostCategoryRuleRuleCostCategoryInput + +func (GetCostCategoryRuleRuleCostCategoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleCostCategoryArray) ToGetCostCategoryRuleRuleCostCategoryArrayOutput() GetCostCategoryRuleRuleCostCategoryArrayOutput { + return i.ToGetCostCategoryRuleRuleCostCategoryArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleCostCategoryArray) ToGetCostCategoryRuleRuleCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleCostCategoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleCostCategoryArrayOutput) +} + +type GetCostCategoryRuleRuleCostCategoryOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleCostCategoryOutput) ToGetCostCategoryRuleRuleCostCategoryOutput() GetCostCategoryRuleRuleCostCategoryOutput { + return o +} + +func (o GetCostCategoryRuleRuleCostCategoryOutput) ToGetCostCategoryRuleRuleCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleCostCategoryOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleCostCategoryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleCostCategory) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleCostCategoryArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleCostCategoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleCostCategoryArrayOutput) ToGetCostCategoryRuleRuleCostCategoryArrayOutput() GetCostCategoryRuleRuleCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleCostCategoryArrayOutput) ToGetCostCategoryRuleRuleCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleCostCategoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleCostCategory { + return vs[0].([]GetCostCategoryRuleRuleCostCategory)[vs[1].(int)] + }).(GetCostCategoryRuleRuleCostCategoryOutput) +} + +type GetCostCategoryRuleRuleDimension struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleDimensionInput is an input type that accepts GetCostCategoryRuleRuleDimensionArgs and GetCostCategoryRuleRuleDimensionOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleDimensionInput` via: +// +// GetCostCategoryRuleRuleDimensionArgs{...} +type GetCostCategoryRuleRuleDimensionInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleDimensionOutput() GetCostCategoryRuleRuleDimensionOutput + ToGetCostCategoryRuleRuleDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleDimensionOutput +} + +type GetCostCategoryRuleRuleDimensionArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleDimensionArgs) ToGetCostCategoryRuleRuleDimensionOutput() GetCostCategoryRuleRuleDimensionOutput { + return i.ToGetCostCategoryRuleRuleDimensionOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleDimensionArgs) ToGetCostCategoryRuleRuleDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleDimensionOutput) +} + +// GetCostCategoryRuleRuleDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleDimensionArray and GetCostCategoryRuleRuleDimensionArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleDimensionArrayInput` via: +// +// GetCostCategoryRuleRuleDimensionArray{ GetCostCategoryRuleRuleDimensionArgs{...} } +type GetCostCategoryRuleRuleDimensionArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleDimensionArrayOutput() GetCostCategoryRuleRuleDimensionArrayOutput + ToGetCostCategoryRuleRuleDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleDimensionArrayOutput +} + +type GetCostCategoryRuleRuleDimensionArray []GetCostCategoryRuleRuleDimensionInput + +func (GetCostCategoryRuleRuleDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleDimensionArray) ToGetCostCategoryRuleRuleDimensionArrayOutput() GetCostCategoryRuleRuleDimensionArrayOutput { + return i.ToGetCostCategoryRuleRuleDimensionArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleDimensionArray) ToGetCostCategoryRuleRuleDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleDimensionArrayOutput) +} + +type GetCostCategoryRuleRuleDimensionOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleDimensionOutput) ToGetCostCategoryRuleRuleDimensionOutput() GetCostCategoryRuleRuleDimensionOutput { + return o +} + +func (o GetCostCategoryRuleRuleDimensionOutput) ToGetCostCategoryRuleRuleDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleDimensionOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleDimensionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleDimension) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleDimensionArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleDimensionArrayOutput) ToGetCostCategoryRuleRuleDimensionArrayOutput() GetCostCategoryRuleRuleDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleDimensionArrayOutput) ToGetCostCategoryRuleRuleDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleDimension { + return vs[0].([]GetCostCategoryRuleRuleDimension)[vs[1].(int)] + }).(GetCostCategoryRuleRuleDimensionOutput) +} + +type GetCostCategoryRuleRuleNot struct { + // Return results that match both `Dimension` objects. + Ands []GetCostCategoryRuleRuleNotAnd `pulumi:"ands"` + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories []GetCostCategoryRuleRuleNotCostCategory `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions []GetCostCategoryRuleRuleNotDimension `pulumi:"dimensions"` + // Return results that do not match the `Dimension` object. + Nots []GetCostCategoryRuleRuleNotNot `pulumi:"nots"` + // Return results that match either `Dimension` object. + Ors []GetCostCategoryRuleRuleNotOr `pulumi:"ors"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags []GetCostCategoryRuleRuleNotTag `pulumi:"tags"` +} + +// GetCostCategoryRuleRuleNotInput is an input type that accepts GetCostCategoryRuleRuleNotArgs and GetCostCategoryRuleRuleNotOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotInput` via: +// +// GetCostCategoryRuleRuleNotArgs{...} +type GetCostCategoryRuleRuleNotInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotOutput() GetCostCategoryRuleRuleNotOutput + ToGetCostCategoryRuleRuleNotOutputWithContext(context.Context) GetCostCategoryRuleRuleNotOutput +} + +type GetCostCategoryRuleRuleNotArgs struct { + // Return results that match both `Dimension` objects. + Ands GetCostCategoryRuleRuleNotAndArrayInput `pulumi:"ands"` + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories GetCostCategoryRuleRuleNotCostCategoryArrayInput `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions GetCostCategoryRuleRuleNotDimensionArrayInput `pulumi:"dimensions"` + // Return results that do not match the `Dimension` object. + Nots GetCostCategoryRuleRuleNotNotArrayInput `pulumi:"nots"` + // Return results that match either `Dimension` object. + Ors GetCostCategoryRuleRuleNotOrArrayInput `pulumi:"ors"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags GetCostCategoryRuleRuleNotTagArrayInput `pulumi:"tags"` +} + +func (GetCostCategoryRuleRuleNotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNot)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotArgs) ToGetCostCategoryRuleRuleNotOutput() GetCostCategoryRuleRuleNotOutput { + return i.ToGetCostCategoryRuleRuleNotOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotArgs) ToGetCostCategoryRuleRuleNotOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotOutput) +} + +// GetCostCategoryRuleRuleNotArrayInput is an input type that accepts GetCostCategoryRuleRuleNotArray and GetCostCategoryRuleRuleNotArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotArrayInput` via: +// +// GetCostCategoryRuleRuleNotArray{ GetCostCategoryRuleRuleNotArgs{...} } +type GetCostCategoryRuleRuleNotArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotArrayOutput() GetCostCategoryRuleRuleNotArrayOutput + ToGetCostCategoryRuleRuleNotArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotArrayOutput +} + +type GetCostCategoryRuleRuleNotArray []GetCostCategoryRuleRuleNotInput + +func (GetCostCategoryRuleRuleNotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNot)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotArray) ToGetCostCategoryRuleRuleNotArrayOutput() GetCostCategoryRuleRuleNotArrayOutput { + return i.ToGetCostCategoryRuleRuleNotArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotArray) ToGetCostCategoryRuleRuleNotArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotArrayOutput) +} + +type GetCostCategoryRuleRuleNotOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNot)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotOutput) ToGetCostCategoryRuleRuleNotOutput() GetCostCategoryRuleRuleNotOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotOutput) ToGetCostCategoryRuleRuleNotOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOutput { + return o +} + +// Return results that match both `Dimension` objects. +func (o GetCostCategoryRuleRuleNotOutput) Ands() GetCostCategoryRuleRuleNotAndArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNot) []GetCostCategoryRuleRuleNotAnd { return v.Ands }).(GetCostCategoryRuleRuleNotAndArrayOutput) +} + +// Configuration block for the filter that's based on `CostCategory` values. See below. +func (o GetCostCategoryRuleRuleNotOutput) CostCategories() GetCostCategoryRuleRuleNotCostCategoryArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNot) []GetCostCategoryRuleRuleNotCostCategory { return v.CostCategories }).(GetCostCategoryRuleRuleNotCostCategoryArrayOutput) +} + +// Configuration block for the specific `Dimension` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleNotOutput) Dimensions() GetCostCategoryRuleRuleNotDimensionArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNot) []GetCostCategoryRuleRuleNotDimension { return v.Dimensions }).(GetCostCategoryRuleRuleNotDimensionArrayOutput) +} + +// Return results that do not match the `Dimension` object. +func (o GetCostCategoryRuleRuleNotOutput) Nots() GetCostCategoryRuleRuleNotNotArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNot) []GetCostCategoryRuleRuleNotNot { return v.Nots }).(GetCostCategoryRuleRuleNotNotArrayOutput) +} + +// Return results that match either `Dimension` object. +func (o GetCostCategoryRuleRuleNotOutput) Ors() GetCostCategoryRuleRuleNotOrArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNot) []GetCostCategoryRuleRuleNotOr { return v.Ors }).(GetCostCategoryRuleRuleNotOrArrayOutput) +} + +// Configuration block for the specific `Tag` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleNotOutput) Tags() GetCostCategoryRuleRuleNotTagArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNot) []GetCostCategoryRuleRuleNotTag { return v.Tags }).(GetCostCategoryRuleRuleNotTagArrayOutput) +} + +type GetCostCategoryRuleRuleNotArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNot)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotArrayOutput) ToGetCostCategoryRuleRuleNotArrayOutput() GetCostCategoryRuleRuleNotArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotArrayOutput) ToGetCostCategoryRuleRuleNotArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNot { + return vs[0].([]GetCostCategoryRuleRuleNot)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotOutput) +} + +type GetCostCategoryRuleRuleNotAnd struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories []GetCostCategoryRuleRuleNotAndCostCategory `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions []GetCostCategoryRuleRuleNotAndDimension `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags []GetCostCategoryRuleRuleNotAndTag `pulumi:"tags"` +} + +// GetCostCategoryRuleRuleNotAndInput is an input type that accepts GetCostCategoryRuleRuleNotAndArgs and GetCostCategoryRuleRuleNotAndOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotAndInput` via: +// +// GetCostCategoryRuleRuleNotAndArgs{...} +type GetCostCategoryRuleRuleNotAndInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotAndOutput() GetCostCategoryRuleRuleNotAndOutput + ToGetCostCategoryRuleRuleNotAndOutputWithContext(context.Context) GetCostCategoryRuleRuleNotAndOutput +} + +type GetCostCategoryRuleRuleNotAndArgs struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories GetCostCategoryRuleRuleNotAndCostCategoryArrayInput `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions GetCostCategoryRuleRuleNotAndDimensionArrayInput `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags GetCostCategoryRuleRuleNotAndTagArrayInput `pulumi:"tags"` +} + +func (GetCostCategoryRuleRuleNotAndArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotAnd)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotAndArgs) ToGetCostCategoryRuleRuleNotAndOutput() GetCostCategoryRuleRuleNotAndOutput { + return i.ToGetCostCategoryRuleRuleNotAndOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotAndArgs) ToGetCostCategoryRuleRuleNotAndOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotAndOutput) +} + +// GetCostCategoryRuleRuleNotAndArrayInput is an input type that accepts GetCostCategoryRuleRuleNotAndArray and GetCostCategoryRuleRuleNotAndArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotAndArrayInput` via: +// +// GetCostCategoryRuleRuleNotAndArray{ GetCostCategoryRuleRuleNotAndArgs{...} } +type GetCostCategoryRuleRuleNotAndArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotAndArrayOutput() GetCostCategoryRuleRuleNotAndArrayOutput + ToGetCostCategoryRuleRuleNotAndArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotAndArrayOutput +} + +type GetCostCategoryRuleRuleNotAndArray []GetCostCategoryRuleRuleNotAndInput + +func (GetCostCategoryRuleRuleNotAndArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotAnd)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotAndArray) ToGetCostCategoryRuleRuleNotAndArrayOutput() GetCostCategoryRuleRuleNotAndArrayOutput { + return i.ToGetCostCategoryRuleRuleNotAndArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotAndArray) ToGetCostCategoryRuleRuleNotAndArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotAndArrayOutput) +} + +type GetCostCategoryRuleRuleNotAndOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotAndOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotAnd)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotAndOutput) ToGetCostCategoryRuleRuleNotAndOutput() GetCostCategoryRuleRuleNotAndOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotAndOutput) ToGetCostCategoryRuleRuleNotAndOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndOutput { + return o +} + +// Configuration block for the filter that's based on `CostCategory` values. See below. +func (o GetCostCategoryRuleRuleNotAndOutput) CostCategories() GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotAnd) []GetCostCategoryRuleRuleNotAndCostCategory { + return v.CostCategories + }).(GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput) +} + +// Configuration block for the specific `Dimension` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleNotAndOutput) Dimensions() GetCostCategoryRuleRuleNotAndDimensionArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotAnd) []GetCostCategoryRuleRuleNotAndDimension { return v.Dimensions }).(GetCostCategoryRuleRuleNotAndDimensionArrayOutput) +} + +// Configuration block for the specific `Tag` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleNotAndOutput) Tags() GetCostCategoryRuleRuleNotAndTagArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotAnd) []GetCostCategoryRuleRuleNotAndTag { return v.Tags }).(GetCostCategoryRuleRuleNotAndTagArrayOutput) +} + +type GetCostCategoryRuleRuleNotAndArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotAndArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotAnd)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotAndArrayOutput) ToGetCostCategoryRuleRuleNotAndArrayOutput() GetCostCategoryRuleRuleNotAndArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotAndArrayOutput) ToGetCostCategoryRuleRuleNotAndArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotAndArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotAndOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotAnd { + return vs[0].([]GetCostCategoryRuleRuleNotAnd)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotAndOutput) +} + +type GetCostCategoryRuleRuleNotAndCostCategory struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleNotAndCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleNotAndCostCategoryArgs and GetCostCategoryRuleRuleNotAndCostCategoryOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotAndCostCategoryInput` via: +// +// GetCostCategoryRuleRuleNotAndCostCategoryArgs{...} +type GetCostCategoryRuleRuleNotAndCostCategoryInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotAndCostCategoryOutput() GetCostCategoryRuleRuleNotAndCostCategoryOutput + ToGetCostCategoryRuleRuleNotAndCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleNotAndCostCategoryOutput +} + +type GetCostCategoryRuleRuleNotAndCostCategoryArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleNotAndCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotAndCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotAndCostCategoryArgs) ToGetCostCategoryRuleRuleNotAndCostCategoryOutput() GetCostCategoryRuleRuleNotAndCostCategoryOutput { + return i.ToGetCostCategoryRuleRuleNotAndCostCategoryOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotAndCostCategoryArgs) ToGetCostCategoryRuleRuleNotAndCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotAndCostCategoryOutput) +} + +// GetCostCategoryRuleRuleNotAndCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleNotAndCostCategoryArray and GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotAndCostCategoryArrayInput` via: +// +// GetCostCategoryRuleRuleNotAndCostCategoryArray{ GetCostCategoryRuleRuleNotAndCostCategoryArgs{...} } +type GetCostCategoryRuleRuleNotAndCostCategoryArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotAndCostCategoryArrayOutput() GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput + ToGetCostCategoryRuleRuleNotAndCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput +} + +type GetCostCategoryRuleRuleNotAndCostCategoryArray []GetCostCategoryRuleRuleNotAndCostCategoryInput + +func (GetCostCategoryRuleRuleNotAndCostCategoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotAndCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotAndCostCategoryArray) ToGetCostCategoryRuleRuleNotAndCostCategoryArrayOutput() GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput { + return i.ToGetCostCategoryRuleRuleNotAndCostCategoryArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotAndCostCategoryArray) ToGetCostCategoryRuleRuleNotAndCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput) +} + +type GetCostCategoryRuleRuleNotAndCostCategoryOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotAndCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotAndCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotAndCostCategoryOutput) ToGetCostCategoryRuleRuleNotAndCostCategoryOutput() GetCostCategoryRuleRuleNotAndCostCategoryOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotAndCostCategoryOutput) ToGetCostCategoryRuleRuleNotAndCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndCostCategoryOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleNotAndCostCategoryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotAndCostCategory) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleNotAndCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotAndCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleNotAndCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotAndCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotAndCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput) ToGetCostCategoryRuleRuleNotAndCostCategoryArrayOutput() GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput) ToGetCostCategoryRuleRuleNotAndCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotAndCostCategoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotAndCostCategory { + return vs[0].([]GetCostCategoryRuleRuleNotAndCostCategory)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotAndCostCategoryOutput) +} + +type GetCostCategoryRuleRuleNotAndDimension struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleNotAndDimensionInput is an input type that accepts GetCostCategoryRuleRuleNotAndDimensionArgs and GetCostCategoryRuleRuleNotAndDimensionOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotAndDimensionInput` via: +// +// GetCostCategoryRuleRuleNotAndDimensionArgs{...} +type GetCostCategoryRuleRuleNotAndDimensionInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotAndDimensionOutput() GetCostCategoryRuleRuleNotAndDimensionOutput + ToGetCostCategoryRuleRuleNotAndDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleNotAndDimensionOutput +} + +type GetCostCategoryRuleRuleNotAndDimensionArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleNotAndDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotAndDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotAndDimensionArgs) ToGetCostCategoryRuleRuleNotAndDimensionOutput() GetCostCategoryRuleRuleNotAndDimensionOutput { + return i.ToGetCostCategoryRuleRuleNotAndDimensionOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotAndDimensionArgs) ToGetCostCategoryRuleRuleNotAndDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotAndDimensionOutput) +} + +// GetCostCategoryRuleRuleNotAndDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleNotAndDimensionArray and GetCostCategoryRuleRuleNotAndDimensionArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotAndDimensionArrayInput` via: +// +// GetCostCategoryRuleRuleNotAndDimensionArray{ GetCostCategoryRuleRuleNotAndDimensionArgs{...} } +type GetCostCategoryRuleRuleNotAndDimensionArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotAndDimensionArrayOutput() GetCostCategoryRuleRuleNotAndDimensionArrayOutput + ToGetCostCategoryRuleRuleNotAndDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotAndDimensionArrayOutput +} + +type GetCostCategoryRuleRuleNotAndDimensionArray []GetCostCategoryRuleRuleNotAndDimensionInput + +func (GetCostCategoryRuleRuleNotAndDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotAndDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotAndDimensionArray) ToGetCostCategoryRuleRuleNotAndDimensionArrayOutput() GetCostCategoryRuleRuleNotAndDimensionArrayOutput { + return i.ToGetCostCategoryRuleRuleNotAndDimensionArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotAndDimensionArray) ToGetCostCategoryRuleRuleNotAndDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotAndDimensionArrayOutput) +} + +type GetCostCategoryRuleRuleNotAndDimensionOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotAndDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotAndDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotAndDimensionOutput) ToGetCostCategoryRuleRuleNotAndDimensionOutput() GetCostCategoryRuleRuleNotAndDimensionOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotAndDimensionOutput) ToGetCostCategoryRuleRuleNotAndDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndDimensionOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleNotAndDimensionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotAndDimension) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleNotAndDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotAndDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleNotAndDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotAndDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleNotAndDimensionArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotAndDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotAndDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotAndDimensionArrayOutput) ToGetCostCategoryRuleRuleNotAndDimensionArrayOutput() GetCostCategoryRuleRuleNotAndDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotAndDimensionArrayOutput) ToGetCostCategoryRuleRuleNotAndDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotAndDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotAndDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotAndDimension { + return vs[0].([]GetCostCategoryRuleRuleNotAndDimension)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotAndDimensionOutput) +} + +type GetCostCategoryRuleRuleNotAndTag struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleNotAndTagInput is an input type that accepts GetCostCategoryRuleRuleNotAndTagArgs and GetCostCategoryRuleRuleNotAndTagOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotAndTagInput` via: +// +// GetCostCategoryRuleRuleNotAndTagArgs{...} +type GetCostCategoryRuleRuleNotAndTagInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotAndTagOutput() GetCostCategoryRuleRuleNotAndTagOutput + ToGetCostCategoryRuleRuleNotAndTagOutputWithContext(context.Context) GetCostCategoryRuleRuleNotAndTagOutput +} + +type GetCostCategoryRuleRuleNotAndTagArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleNotAndTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotAndTag)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotAndTagArgs) ToGetCostCategoryRuleRuleNotAndTagOutput() GetCostCategoryRuleRuleNotAndTagOutput { + return i.ToGetCostCategoryRuleRuleNotAndTagOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotAndTagArgs) ToGetCostCategoryRuleRuleNotAndTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotAndTagOutput) +} + +// GetCostCategoryRuleRuleNotAndTagArrayInput is an input type that accepts GetCostCategoryRuleRuleNotAndTagArray and GetCostCategoryRuleRuleNotAndTagArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotAndTagArrayInput` via: +// +// GetCostCategoryRuleRuleNotAndTagArray{ GetCostCategoryRuleRuleNotAndTagArgs{...} } +type GetCostCategoryRuleRuleNotAndTagArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotAndTagArrayOutput() GetCostCategoryRuleRuleNotAndTagArrayOutput + ToGetCostCategoryRuleRuleNotAndTagArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotAndTagArrayOutput +} + +type GetCostCategoryRuleRuleNotAndTagArray []GetCostCategoryRuleRuleNotAndTagInput + +func (GetCostCategoryRuleRuleNotAndTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotAndTag)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotAndTagArray) ToGetCostCategoryRuleRuleNotAndTagArrayOutput() GetCostCategoryRuleRuleNotAndTagArrayOutput { + return i.ToGetCostCategoryRuleRuleNotAndTagArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotAndTagArray) ToGetCostCategoryRuleRuleNotAndTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotAndTagArrayOutput) +} + +type GetCostCategoryRuleRuleNotAndTagOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotAndTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotAndTag)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotAndTagOutput) ToGetCostCategoryRuleRuleNotAndTagOutput() GetCostCategoryRuleRuleNotAndTagOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotAndTagOutput) ToGetCostCategoryRuleRuleNotAndTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndTagOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleNotAndTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotAndTag) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleNotAndTagOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotAndTag) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleNotAndTagOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotAndTag) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleNotAndTagArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotAndTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotAndTag)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotAndTagArrayOutput) ToGetCostCategoryRuleRuleNotAndTagArrayOutput() GetCostCategoryRuleRuleNotAndTagArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotAndTagArrayOutput) ToGetCostCategoryRuleRuleNotAndTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotAndTagArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotAndTagArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotAndTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotAndTag { + return vs[0].([]GetCostCategoryRuleRuleNotAndTag)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotAndTagOutput) +} + +type GetCostCategoryRuleRuleNotCostCategory struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleNotCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleNotCostCategoryArgs and GetCostCategoryRuleRuleNotCostCategoryOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotCostCategoryInput` via: +// +// GetCostCategoryRuleRuleNotCostCategoryArgs{...} +type GetCostCategoryRuleRuleNotCostCategoryInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotCostCategoryOutput() GetCostCategoryRuleRuleNotCostCategoryOutput + ToGetCostCategoryRuleRuleNotCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleNotCostCategoryOutput +} + +type GetCostCategoryRuleRuleNotCostCategoryArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleNotCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotCostCategoryArgs) ToGetCostCategoryRuleRuleNotCostCategoryOutput() GetCostCategoryRuleRuleNotCostCategoryOutput { + return i.ToGetCostCategoryRuleRuleNotCostCategoryOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotCostCategoryArgs) ToGetCostCategoryRuleRuleNotCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotCostCategoryOutput) +} + +// GetCostCategoryRuleRuleNotCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleNotCostCategoryArray and GetCostCategoryRuleRuleNotCostCategoryArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotCostCategoryArrayInput` via: +// +// GetCostCategoryRuleRuleNotCostCategoryArray{ GetCostCategoryRuleRuleNotCostCategoryArgs{...} } +type GetCostCategoryRuleRuleNotCostCategoryArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotCostCategoryArrayOutput() GetCostCategoryRuleRuleNotCostCategoryArrayOutput + ToGetCostCategoryRuleRuleNotCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotCostCategoryArrayOutput +} + +type GetCostCategoryRuleRuleNotCostCategoryArray []GetCostCategoryRuleRuleNotCostCategoryInput + +func (GetCostCategoryRuleRuleNotCostCategoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotCostCategoryArray) ToGetCostCategoryRuleRuleNotCostCategoryArrayOutput() GetCostCategoryRuleRuleNotCostCategoryArrayOutput { + return i.ToGetCostCategoryRuleRuleNotCostCategoryArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotCostCategoryArray) ToGetCostCategoryRuleRuleNotCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotCostCategoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotCostCategoryArrayOutput) +} + +type GetCostCategoryRuleRuleNotCostCategoryOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotCostCategoryOutput) ToGetCostCategoryRuleRuleNotCostCategoryOutput() GetCostCategoryRuleRuleNotCostCategoryOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotCostCategoryOutput) ToGetCostCategoryRuleRuleNotCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotCostCategoryOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleNotCostCategoryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotCostCategory) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleNotCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleNotCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleNotCostCategoryArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotCostCategoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotCostCategoryArrayOutput) ToGetCostCategoryRuleRuleNotCostCategoryArrayOutput() GetCostCategoryRuleRuleNotCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotCostCategoryArrayOutput) ToGetCostCategoryRuleRuleNotCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotCostCategoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotCostCategory { + return vs[0].([]GetCostCategoryRuleRuleNotCostCategory)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotCostCategoryOutput) +} + +type GetCostCategoryRuleRuleNotDimension struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleNotDimensionInput is an input type that accepts GetCostCategoryRuleRuleNotDimensionArgs and GetCostCategoryRuleRuleNotDimensionOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotDimensionInput` via: +// +// GetCostCategoryRuleRuleNotDimensionArgs{...} +type GetCostCategoryRuleRuleNotDimensionInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotDimensionOutput() GetCostCategoryRuleRuleNotDimensionOutput + ToGetCostCategoryRuleRuleNotDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleNotDimensionOutput +} + +type GetCostCategoryRuleRuleNotDimensionArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleNotDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotDimensionArgs) ToGetCostCategoryRuleRuleNotDimensionOutput() GetCostCategoryRuleRuleNotDimensionOutput { + return i.ToGetCostCategoryRuleRuleNotDimensionOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotDimensionArgs) ToGetCostCategoryRuleRuleNotDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotDimensionOutput) +} + +// GetCostCategoryRuleRuleNotDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleNotDimensionArray and GetCostCategoryRuleRuleNotDimensionArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotDimensionArrayInput` via: +// +// GetCostCategoryRuleRuleNotDimensionArray{ GetCostCategoryRuleRuleNotDimensionArgs{...} } +type GetCostCategoryRuleRuleNotDimensionArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotDimensionArrayOutput() GetCostCategoryRuleRuleNotDimensionArrayOutput + ToGetCostCategoryRuleRuleNotDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotDimensionArrayOutput +} + +type GetCostCategoryRuleRuleNotDimensionArray []GetCostCategoryRuleRuleNotDimensionInput + +func (GetCostCategoryRuleRuleNotDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotDimensionArray) ToGetCostCategoryRuleRuleNotDimensionArrayOutput() GetCostCategoryRuleRuleNotDimensionArrayOutput { + return i.ToGetCostCategoryRuleRuleNotDimensionArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotDimensionArray) ToGetCostCategoryRuleRuleNotDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotDimensionArrayOutput) +} + +type GetCostCategoryRuleRuleNotDimensionOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotDimensionOutput) ToGetCostCategoryRuleRuleNotDimensionOutput() GetCostCategoryRuleRuleNotDimensionOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotDimensionOutput) ToGetCostCategoryRuleRuleNotDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotDimensionOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleNotDimensionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotDimension) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleNotDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleNotDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleNotDimensionArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotDimensionArrayOutput) ToGetCostCategoryRuleRuleNotDimensionArrayOutput() GetCostCategoryRuleRuleNotDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotDimensionArrayOutput) ToGetCostCategoryRuleRuleNotDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotDimension { + return vs[0].([]GetCostCategoryRuleRuleNotDimension)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotDimensionOutput) +} + +type GetCostCategoryRuleRuleNotNot struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories []GetCostCategoryRuleRuleNotNotCostCategory `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions []GetCostCategoryRuleRuleNotNotDimension `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags []GetCostCategoryRuleRuleNotNotTag `pulumi:"tags"` +} + +// GetCostCategoryRuleRuleNotNotInput is an input type that accepts GetCostCategoryRuleRuleNotNotArgs and GetCostCategoryRuleRuleNotNotOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotNotInput` via: +// +// GetCostCategoryRuleRuleNotNotArgs{...} +type GetCostCategoryRuleRuleNotNotInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotNotOutput() GetCostCategoryRuleRuleNotNotOutput + ToGetCostCategoryRuleRuleNotNotOutputWithContext(context.Context) GetCostCategoryRuleRuleNotNotOutput +} + +type GetCostCategoryRuleRuleNotNotArgs struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories GetCostCategoryRuleRuleNotNotCostCategoryArrayInput `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions GetCostCategoryRuleRuleNotNotDimensionArrayInput `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags GetCostCategoryRuleRuleNotNotTagArrayInput `pulumi:"tags"` +} + +func (GetCostCategoryRuleRuleNotNotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotNot)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotNotArgs) ToGetCostCategoryRuleRuleNotNotOutput() GetCostCategoryRuleRuleNotNotOutput { + return i.ToGetCostCategoryRuleRuleNotNotOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotNotArgs) ToGetCostCategoryRuleRuleNotNotOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotNotOutput) +} + +// GetCostCategoryRuleRuleNotNotArrayInput is an input type that accepts GetCostCategoryRuleRuleNotNotArray and GetCostCategoryRuleRuleNotNotArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotNotArrayInput` via: +// +// GetCostCategoryRuleRuleNotNotArray{ GetCostCategoryRuleRuleNotNotArgs{...} } +type GetCostCategoryRuleRuleNotNotArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotNotArrayOutput() GetCostCategoryRuleRuleNotNotArrayOutput + ToGetCostCategoryRuleRuleNotNotArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotNotArrayOutput +} + +type GetCostCategoryRuleRuleNotNotArray []GetCostCategoryRuleRuleNotNotInput + +func (GetCostCategoryRuleRuleNotNotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotNot)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotNotArray) ToGetCostCategoryRuleRuleNotNotArrayOutput() GetCostCategoryRuleRuleNotNotArrayOutput { + return i.ToGetCostCategoryRuleRuleNotNotArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotNotArray) ToGetCostCategoryRuleRuleNotNotArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotNotArrayOutput) +} + +type GetCostCategoryRuleRuleNotNotOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotNotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotNot)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotNotOutput) ToGetCostCategoryRuleRuleNotNotOutput() GetCostCategoryRuleRuleNotNotOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotNotOutput) ToGetCostCategoryRuleRuleNotNotOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotOutput { + return o +} + +// Configuration block for the filter that's based on `CostCategory` values. See below. +func (o GetCostCategoryRuleRuleNotNotOutput) CostCategories() GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotNot) []GetCostCategoryRuleRuleNotNotCostCategory { + return v.CostCategories + }).(GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput) +} + +// Configuration block for the specific `Dimension` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleNotNotOutput) Dimensions() GetCostCategoryRuleRuleNotNotDimensionArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotNot) []GetCostCategoryRuleRuleNotNotDimension { return v.Dimensions }).(GetCostCategoryRuleRuleNotNotDimensionArrayOutput) +} + +// Configuration block for the specific `Tag` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleNotNotOutput) Tags() GetCostCategoryRuleRuleNotNotTagArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotNot) []GetCostCategoryRuleRuleNotNotTag { return v.Tags }).(GetCostCategoryRuleRuleNotNotTagArrayOutput) +} + +type GetCostCategoryRuleRuleNotNotArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotNotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotNot)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotNotArrayOutput) ToGetCostCategoryRuleRuleNotNotArrayOutput() GetCostCategoryRuleRuleNotNotArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotNotArrayOutput) ToGetCostCategoryRuleRuleNotNotArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotNotArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotNotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotNot { + return vs[0].([]GetCostCategoryRuleRuleNotNot)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotNotOutput) +} + +type GetCostCategoryRuleRuleNotNotCostCategory struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleNotNotCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleNotNotCostCategoryArgs and GetCostCategoryRuleRuleNotNotCostCategoryOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotNotCostCategoryInput` via: +// +// GetCostCategoryRuleRuleNotNotCostCategoryArgs{...} +type GetCostCategoryRuleRuleNotNotCostCategoryInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotNotCostCategoryOutput() GetCostCategoryRuleRuleNotNotCostCategoryOutput + ToGetCostCategoryRuleRuleNotNotCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleNotNotCostCategoryOutput +} + +type GetCostCategoryRuleRuleNotNotCostCategoryArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleNotNotCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotNotCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotNotCostCategoryArgs) ToGetCostCategoryRuleRuleNotNotCostCategoryOutput() GetCostCategoryRuleRuleNotNotCostCategoryOutput { + return i.ToGetCostCategoryRuleRuleNotNotCostCategoryOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotNotCostCategoryArgs) ToGetCostCategoryRuleRuleNotNotCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotNotCostCategoryOutput) +} + +// GetCostCategoryRuleRuleNotNotCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleNotNotCostCategoryArray and GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotNotCostCategoryArrayInput` via: +// +// GetCostCategoryRuleRuleNotNotCostCategoryArray{ GetCostCategoryRuleRuleNotNotCostCategoryArgs{...} } +type GetCostCategoryRuleRuleNotNotCostCategoryArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotNotCostCategoryArrayOutput() GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput + ToGetCostCategoryRuleRuleNotNotCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput +} + +type GetCostCategoryRuleRuleNotNotCostCategoryArray []GetCostCategoryRuleRuleNotNotCostCategoryInput + +func (GetCostCategoryRuleRuleNotNotCostCategoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotNotCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotNotCostCategoryArray) ToGetCostCategoryRuleRuleNotNotCostCategoryArrayOutput() GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput { + return i.ToGetCostCategoryRuleRuleNotNotCostCategoryArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotNotCostCategoryArray) ToGetCostCategoryRuleRuleNotNotCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput) +} + +type GetCostCategoryRuleRuleNotNotCostCategoryOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotNotCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotNotCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotNotCostCategoryOutput) ToGetCostCategoryRuleRuleNotNotCostCategoryOutput() GetCostCategoryRuleRuleNotNotCostCategoryOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotNotCostCategoryOutput) ToGetCostCategoryRuleRuleNotNotCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotCostCategoryOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleNotNotCostCategoryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotNotCostCategory) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleNotNotCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotNotCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleNotNotCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotNotCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotNotCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput) ToGetCostCategoryRuleRuleNotNotCostCategoryArrayOutput() GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput) ToGetCostCategoryRuleRuleNotNotCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotNotCostCategoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotNotCostCategory { + return vs[0].([]GetCostCategoryRuleRuleNotNotCostCategory)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotNotCostCategoryOutput) +} + +type GetCostCategoryRuleRuleNotNotDimension struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleNotNotDimensionInput is an input type that accepts GetCostCategoryRuleRuleNotNotDimensionArgs and GetCostCategoryRuleRuleNotNotDimensionOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotNotDimensionInput` via: +// +// GetCostCategoryRuleRuleNotNotDimensionArgs{...} +type GetCostCategoryRuleRuleNotNotDimensionInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotNotDimensionOutput() GetCostCategoryRuleRuleNotNotDimensionOutput + ToGetCostCategoryRuleRuleNotNotDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleNotNotDimensionOutput +} + +type GetCostCategoryRuleRuleNotNotDimensionArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleNotNotDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotNotDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotNotDimensionArgs) ToGetCostCategoryRuleRuleNotNotDimensionOutput() GetCostCategoryRuleRuleNotNotDimensionOutput { + return i.ToGetCostCategoryRuleRuleNotNotDimensionOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotNotDimensionArgs) ToGetCostCategoryRuleRuleNotNotDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotNotDimensionOutput) +} + +// GetCostCategoryRuleRuleNotNotDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleNotNotDimensionArray and GetCostCategoryRuleRuleNotNotDimensionArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotNotDimensionArrayInput` via: +// +// GetCostCategoryRuleRuleNotNotDimensionArray{ GetCostCategoryRuleRuleNotNotDimensionArgs{...} } +type GetCostCategoryRuleRuleNotNotDimensionArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotNotDimensionArrayOutput() GetCostCategoryRuleRuleNotNotDimensionArrayOutput + ToGetCostCategoryRuleRuleNotNotDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotNotDimensionArrayOutput +} + +type GetCostCategoryRuleRuleNotNotDimensionArray []GetCostCategoryRuleRuleNotNotDimensionInput + +func (GetCostCategoryRuleRuleNotNotDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotNotDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotNotDimensionArray) ToGetCostCategoryRuleRuleNotNotDimensionArrayOutput() GetCostCategoryRuleRuleNotNotDimensionArrayOutput { + return i.ToGetCostCategoryRuleRuleNotNotDimensionArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotNotDimensionArray) ToGetCostCategoryRuleRuleNotNotDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotNotDimensionArrayOutput) +} + +type GetCostCategoryRuleRuleNotNotDimensionOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotNotDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotNotDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotNotDimensionOutput) ToGetCostCategoryRuleRuleNotNotDimensionOutput() GetCostCategoryRuleRuleNotNotDimensionOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotNotDimensionOutput) ToGetCostCategoryRuleRuleNotNotDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotDimensionOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleNotNotDimensionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotNotDimension) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleNotNotDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotNotDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleNotNotDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotNotDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleNotNotDimensionArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotNotDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotNotDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotNotDimensionArrayOutput) ToGetCostCategoryRuleRuleNotNotDimensionArrayOutput() GetCostCategoryRuleRuleNotNotDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotNotDimensionArrayOutput) ToGetCostCategoryRuleRuleNotNotDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotNotDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotNotDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotNotDimension { + return vs[0].([]GetCostCategoryRuleRuleNotNotDimension)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotNotDimensionOutput) +} + +type GetCostCategoryRuleRuleNotNotTag struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleNotNotTagInput is an input type that accepts GetCostCategoryRuleRuleNotNotTagArgs and GetCostCategoryRuleRuleNotNotTagOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotNotTagInput` via: +// +// GetCostCategoryRuleRuleNotNotTagArgs{...} +type GetCostCategoryRuleRuleNotNotTagInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotNotTagOutput() GetCostCategoryRuleRuleNotNotTagOutput + ToGetCostCategoryRuleRuleNotNotTagOutputWithContext(context.Context) GetCostCategoryRuleRuleNotNotTagOutput +} + +type GetCostCategoryRuleRuleNotNotTagArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleNotNotTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotNotTag)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotNotTagArgs) ToGetCostCategoryRuleRuleNotNotTagOutput() GetCostCategoryRuleRuleNotNotTagOutput { + return i.ToGetCostCategoryRuleRuleNotNotTagOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotNotTagArgs) ToGetCostCategoryRuleRuleNotNotTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotNotTagOutput) +} + +// GetCostCategoryRuleRuleNotNotTagArrayInput is an input type that accepts GetCostCategoryRuleRuleNotNotTagArray and GetCostCategoryRuleRuleNotNotTagArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotNotTagArrayInput` via: +// +// GetCostCategoryRuleRuleNotNotTagArray{ GetCostCategoryRuleRuleNotNotTagArgs{...} } +type GetCostCategoryRuleRuleNotNotTagArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotNotTagArrayOutput() GetCostCategoryRuleRuleNotNotTagArrayOutput + ToGetCostCategoryRuleRuleNotNotTagArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotNotTagArrayOutput +} + +type GetCostCategoryRuleRuleNotNotTagArray []GetCostCategoryRuleRuleNotNotTagInput + +func (GetCostCategoryRuleRuleNotNotTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotNotTag)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotNotTagArray) ToGetCostCategoryRuleRuleNotNotTagArrayOutput() GetCostCategoryRuleRuleNotNotTagArrayOutput { + return i.ToGetCostCategoryRuleRuleNotNotTagArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotNotTagArray) ToGetCostCategoryRuleRuleNotNotTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotNotTagArrayOutput) +} + +type GetCostCategoryRuleRuleNotNotTagOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotNotTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotNotTag)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotNotTagOutput) ToGetCostCategoryRuleRuleNotNotTagOutput() GetCostCategoryRuleRuleNotNotTagOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotNotTagOutput) ToGetCostCategoryRuleRuleNotNotTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotTagOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleNotNotTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotNotTag) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleNotNotTagOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotNotTag) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleNotNotTagOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotNotTag) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleNotNotTagArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotNotTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotNotTag)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotNotTagArrayOutput) ToGetCostCategoryRuleRuleNotNotTagArrayOutput() GetCostCategoryRuleRuleNotNotTagArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotNotTagArrayOutput) ToGetCostCategoryRuleRuleNotNotTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotNotTagArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotNotTagArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotNotTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotNotTag { + return vs[0].([]GetCostCategoryRuleRuleNotNotTag)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotNotTagOutput) +} + +type GetCostCategoryRuleRuleNotOr struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories []GetCostCategoryRuleRuleNotOrCostCategory `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions []GetCostCategoryRuleRuleNotOrDimension `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags []GetCostCategoryRuleRuleNotOrTag `pulumi:"tags"` +} + +// GetCostCategoryRuleRuleNotOrInput is an input type that accepts GetCostCategoryRuleRuleNotOrArgs and GetCostCategoryRuleRuleNotOrOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotOrInput` via: +// +// GetCostCategoryRuleRuleNotOrArgs{...} +type GetCostCategoryRuleRuleNotOrInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotOrOutput() GetCostCategoryRuleRuleNotOrOutput + ToGetCostCategoryRuleRuleNotOrOutputWithContext(context.Context) GetCostCategoryRuleRuleNotOrOutput +} + +type GetCostCategoryRuleRuleNotOrArgs struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories GetCostCategoryRuleRuleNotOrCostCategoryArrayInput `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions GetCostCategoryRuleRuleNotOrDimensionArrayInput `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags GetCostCategoryRuleRuleNotOrTagArrayInput `pulumi:"tags"` +} + +func (GetCostCategoryRuleRuleNotOrArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotOr)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotOrArgs) ToGetCostCategoryRuleRuleNotOrOutput() GetCostCategoryRuleRuleNotOrOutput { + return i.ToGetCostCategoryRuleRuleNotOrOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotOrArgs) ToGetCostCategoryRuleRuleNotOrOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotOrOutput) +} + +// GetCostCategoryRuleRuleNotOrArrayInput is an input type that accepts GetCostCategoryRuleRuleNotOrArray and GetCostCategoryRuleRuleNotOrArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotOrArrayInput` via: +// +// GetCostCategoryRuleRuleNotOrArray{ GetCostCategoryRuleRuleNotOrArgs{...} } +type GetCostCategoryRuleRuleNotOrArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotOrArrayOutput() GetCostCategoryRuleRuleNotOrArrayOutput + ToGetCostCategoryRuleRuleNotOrArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotOrArrayOutput +} + +type GetCostCategoryRuleRuleNotOrArray []GetCostCategoryRuleRuleNotOrInput + +func (GetCostCategoryRuleRuleNotOrArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotOr)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotOrArray) ToGetCostCategoryRuleRuleNotOrArrayOutput() GetCostCategoryRuleRuleNotOrArrayOutput { + return i.ToGetCostCategoryRuleRuleNotOrArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotOrArray) ToGetCostCategoryRuleRuleNotOrArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotOrArrayOutput) +} + +type GetCostCategoryRuleRuleNotOrOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotOrOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotOr)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotOrOutput) ToGetCostCategoryRuleRuleNotOrOutput() GetCostCategoryRuleRuleNotOrOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotOrOutput) ToGetCostCategoryRuleRuleNotOrOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrOutput { + return o +} + +// Configuration block for the filter that's based on `CostCategory` values. See below. +func (o GetCostCategoryRuleRuleNotOrOutput) CostCategories() GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotOr) []GetCostCategoryRuleRuleNotOrCostCategory { + return v.CostCategories + }).(GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput) +} + +// Configuration block for the specific `Dimension` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleNotOrOutput) Dimensions() GetCostCategoryRuleRuleNotOrDimensionArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotOr) []GetCostCategoryRuleRuleNotOrDimension { return v.Dimensions }).(GetCostCategoryRuleRuleNotOrDimensionArrayOutput) +} + +// Configuration block for the specific `Tag` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleNotOrOutput) Tags() GetCostCategoryRuleRuleNotOrTagArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotOr) []GetCostCategoryRuleRuleNotOrTag { return v.Tags }).(GetCostCategoryRuleRuleNotOrTagArrayOutput) +} + +type GetCostCategoryRuleRuleNotOrArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotOrArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotOr)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotOrArrayOutput) ToGetCostCategoryRuleRuleNotOrArrayOutput() GetCostCategoryRuleRuleNotOrArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotOrArrayOutput) ToGetCostCategoryRuleRuleNotOrArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotOrArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotOrOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotOr { + return vs[0].([]GetCostCategoryRuleRuleNotOr)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotOrOutput) +} + +type GetCostCategoryRuleRuleNotOrCostCategory struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleNotOrCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleNotOrCostCategoryArgs and GetCostCategoryRuleRuleNotOrCostCategoryOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotOrCostCategoryInput` via: +// +// GetCostCategoryRuleRuleNotOrCostCategoryArgs{...} +type GetCostCategoryRuleRuleNotOrCostCategoryInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotOrCostCategoryOutput() GetCostCategoryRuleRuleNotOrCostCategoryOutput + ToGetCostCategoryRuleRuleNotOrCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleNotOrCostCategoryOutput +} + +type GetCostCategoryRuleRuleNotOrCostCategoryArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleNotOrCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotOrCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotOrCostCategoryArgs) ToGetCostCategoryRuleRuleNotOrCostCategoryOutput() GetCostCategoryRuleRuleNotOrCostCategoryOutput { + return i.ToGetCostCategoryRuleRuleNotOrCostCategoryOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotOrCostCategoryArgs) ToGetCostCategoryRuleRuleNotOrCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotOrCostCategoryOutput) +} + +// GetCostCategoryRuleRuleNotOrCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleNotOrCostCategoryArray and GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotOrCostCategoryArrayInput` via: +// +// GetCostCategoryRuleRuleNotOrCostCategoryArray{ GetCostCategoryRuleRuleNotOrCostCategoryArgs{...} } +type GetCostCategoryRuleRuleNotOrCostCategoryArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotOrCostCategoryArrayOutput() GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput + ToGetCostCategoryRuleRuleNotOrCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput +} + +type GetCostCategoryRuleRuleNotOrCostCategoryArray []GetCostCategoryRuleRuleNotOrCostCategoryInput + +func (GetCostCategoryRuleRuleNotOrCostCategoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotOrCostCategory)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotOrCostCategoryArray) ToGetCostCategoryRuleRuleNotOrCostCategoryArrayOutput() GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput { + return i.ToGetCostCategoryRuleRuleNotOrCostCategoryArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotOrCostCategoryArray) ToGetCostCategoryRuleRuleNotOrCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput) +} + +type GetCostCategoryRuleRuleNotOrCostCategoryOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotOrCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotOrCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotOrCostCategoryOutput) ToGetCostCategoryRuleRuleNotOrCostCategoryOutput() GetCostCategoryRuleRuleNotOrCostCategoryOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotOrCostCategoryOutput) ToGetCostCategoryRuleRuleNotOrCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrCostCategoryOutput { + return o +} + +// Key for the tag. +func (o GetCostCategoryRuleRuleNotOrCostCategoryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotOrCostCategory) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleNotOrCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotOrCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleNotOrCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotOrCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotOrCostCategory)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput) ToGetCostCategoryRuleRuleNotOrCostCategoryArrayOutput() GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput) ToGetCostCategoryRuleRuleNotOrCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotOrCostCategoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotOrCostCategory { + return vs[0].([]GetCostCategoryRuleRuleNotOrCostCategory)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotOrCostCategoryOutput) +} + +type GetCostCategoryRuleRuleNotOrDimension struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` +} + +// GetCostCategoryRuleRuleNotOrDimensionInput is an input type that accepts GetCostCategoryRuleRuleNotOrDimensionArgs and GetCostCategoryRuleRuleNotOrDimensionOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotOrDimensionInput` via: +// +// GetCostCategoryRuleRuleNotOrDimensionArgs{...} +type GetCostCategoryRuleRuleNotOrDimensionInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotOrDimensionOutput() GetCostCategoryRuleRuleNotOrDimensionOutput + ToGetCostCategoryRuleRuleNotOrDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleNotOrDimensionOutput +} + +type GetCostCategoryRuleRuleNotOrDimensionArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetCostCategoryRuleRuleNotOrDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotOrDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotOrDimensionArgs) ToGetCostCategoryRuleRuleNotOrDimensionOutput() GetCostCategoryRuleRuleNotOrDimensionOutput { + return i.ToGetCostCategoryRuleRuleNotOrDimensionOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotOrDimensionArgs) ToGetCostCategoryRuleRuleNotOrDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotOrDimensionOutput) +} + +// GetCostCategoryRuleRuleNotOrDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleNotOrDimensionArray and GetCostCategoryRuleRuleNotOrDimensionArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotOrDimensionArrayInput` via: +// +// GetCostCategoryRuleRuleNotOrDimensionArray{ GetCostCategoryRuleRuleNotOrDimensionArgs{...} } +type GetCostCategoryRuleRuleNotOrDimensionArrayInput interface { + pulumi.Input + + ToGetCostCategoryRuleRuleNotOrDimensionArrayOutput() GetCostCategoryRuleRuleNotOrDimensionArrayOutput + ToGetCostCategoryRuleRuleNotOrDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotOrDimensionArrayOutput +} + +type GetCostCategoryRuleRuleNotOrDimensionArray []GetCostCategoryRuleRuleNotOrDimensionInput + +func (GetCostCategoryRuleRuleNotOrDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotOrDimension)(nil)).Elem() +} + +func (i GetCostCategoryRuleRuleNotOrDimensionArray) ToGetCostCategoryRuleRuleNotOrDimensionArrayOutput() GetCostCategoryRuleRuleNotOrDimensionArrayOutput { + return i.ToGetCostCategoryRuleRuleNotOrDimensionArrayOutputWithContext(context.Background()) +} + +func (i GetCostCategoryRuleRuleNotOrDimensionArray) ToGetCostCategoryRuleRuleNotOrDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotOrDimensionArrayOutput) +} + +type GetCostCategoryRuleRuleNotOrDimensionOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotOrDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotOrDimension)(nil)).Elem() } -func (o CostCategorySplitChargeRuleArrayOutput) ToCostCategorySplitChargeRuleArrayOutput() CostCategorySplitChargeRuleArrayOutput { +func (o GetCostCategoryRuleRuleNotOrDimensionOutput) ToGetCostCategoryRuleRuleNotOrDimensionOutput() GetCostCategoryRuleRuleNotOrDimensionOutput { return o } -func (o CostCategorySplitChargeRuleArrayOutput) ToCostCategorySplitChargeRuleArrayOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleArrayOutput { +func (o GetCostCategoryRuleRuleNotOrDimensionOutput) ToGetCostCategoryRuleRuleNotOrDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrDimensionOutput { return o } -func (o CostCategorySplitChargeRuleArrayOutput) Index(i pulumi.IntInput) CostCategorySplitChargeRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) CostCategorySplitChargeRule { - return vs[0].([]CostCategorySplitChargeRule)[vs[1].(int)] - }).(CostCategorySplitChargeRuleOutput) +// Key for the tag. +func (o GetCostCategoryRuleRuleNotOrDimensionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotOrDimension) string { return v.Key }).(pulumi.StringOutput) } -type CostCategorySplitChargeRuleParameter struct { - // Parameter type. - Type *string `pulumi:"type"` +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleNotOrDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotOrDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +} + +// Parameter values. +func (o GetCostCategoryRuleRuleNotOrDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotOrDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetCostCategoryRuleRuleNotOrDimensionArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleNotOrDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotOrDimension)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleNotOrDimensionArrayOutput) ToGetCostCategoryRuleRuleNotOrDimensionArrayOutput() GetCostCategoryRuleRuleNotOrDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotOrDimensionArrayOutput) ToGetCostCategoryRuleRuleNotOrDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrDimensionArrayOutput { + return o +} + +func (o GetCostCategoryRuleRuleNotOrDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotOrDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotOrDimension { + return vs[0].([]GetCostCategoryRuleRuleNotOrDimension)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotOrDimensionOutput) +} + +type GetCostCategoryRuleRuleNotOrTag struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` // Parameter values. Values []string `pulumi:"values"` } -// CostCategorySplitChargeRuleParameterInput is an input type that accepts CostCategorySplitChargeRuleParameterArgs and CostCategorySplitChargeRuleParameterOutput values. -// You can construct a concrete instance of `CostCategorySplitChargeRuleParameterInput` via: +// GetCostCategoryRuleRuleNotOrTagInput is an input type that accepts GetCostCategoryRuleRuleNotOrTagArgs and GetCostCategoryRuleRuleNotOrTagOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotOrTagInput` via: // -// CostCategorySplitChargeRuleParameterArgs{...} -type CostCategorySplitChargeRuleParameterInput interface { +// GetCostCategoryRuleRuleNotOrTagArgs{...} +type GetCostCategoryRuleRuleNotOrTagInput interface { pulumi.Input - ToCostCategorySplitChargeRuleParameterOutput() CostCategorySplitChargeRuleParameterOutput - ToCostCategorySplitChargeRuleParameterOutputWithContext(context.Context) CostCategorySplitChargeRuleParameterOutput + ToGetCostCategoryRuleRuleNotOrTagOutput() GetCostCategoryRuleRuleNotOrTagOutput + ToGetCostCategoryRuleRuleNotOrTagOutputWithContext(context.Context) GetCostCategoryRuleRuleNotOrTagOutput } -type CostCategorySplitChargeRuleParameterArgs struct { - // Parameter type. - Type pulumi.StringPtrInput `pulumi:"type"` +type GetCostCategoryRuleRuleNotOrTagArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` // Parameter values. Values pulumi.StringArrayInput `pulumi:"values"` } -func (CostCategorySplitChargeRuleParameterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategorySplitChargeRuleParameter)(nil)).Elem() +func (GetCostCategoryRuleRuleNotOrTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotOrTag)(nil)).Elem() } -func (i CostCategorySplitChargeRuleParameterArgs) ToCostCategorySplitChargeRuleParameterOutput() CostCategorySplitChargeRuleParameterOutput { - return i.ToCostCategorySplitChargeRuleParameterOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleNotOrTagArgs) ToGetCostCategoryRuleRuleNotOrTagOutput() GetCostCategoryRuleRuleNotOrTagOutput { + return i.ToGetCostCategoryRuleRuleNotOrTagOutputWithContext(context.Background()) } -func (i CostCategorySplitChargeRuleParameterArgs) ToCostCategorySplitChargeRuleParameterOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleParameterOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategorySplitChargeRuleParameterOutput) +func (i GetCostCategoryRuleRuleNotOrTagArgs) ToGetCostCategoryRuleRuleNotOrTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotOrTagOutput) } -// CostCategorySplitChargeRuleParameterArrayInput is an input type that accepts CostCategorySplitChargeRuleParameterArray and CostCategorySplitChargeRuleParameterArrayOutput values. -// You can construct a concrete instance of `CostCategorySplitChargeRuleParameterArrayInput` via: +// GetCostCategoryRuleRuleNotOrTagArrayInput is an input type that accepts GetCostCategoryRuleRuleNotOrTagArray and GetCostCategoryRuleRuleNotOrTagArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotOrTagArrayInput` via: // -// CostCategorySplitChargeRuleParameterArray{ CostCategorySplitChargeRuleParameterArgs{...} } -type CostCategorySplitChargeRuleParameterArrayInput interface { +// GetCostCategoryRuleRuleNotOrTagArray{ GetCostCategoryRuleRuleNotOrTagArgs{...} } +type GetCostCategoryRuleRuleNotOrTagArrayInput interface { pulumi.Input - ToCostCategorySplitChargeRuleParameterArrayOutput() CostCategorySplitChargeRuleParameterArrayOutput - ToCostCategorySplitChargeRuleParameterArrayOutputWithContext(context.Context) CostCategorySplitChargeRuleParameterArrayOutput + ToGetCostCategoryRuleRuleNotOrTagArrayOutput() GetCostCategoryRuleRuleNotOrTagArrayOutput + ToGetCostCategoryRuleRuleNotOrTagArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotOrTagArrayOutput } -type CostCategorySplitChargeRuleParameterArray []CostCategorySplitChargeRuleParameterInput +type GetCostCategoryRuleRuleNotOrTagArray []GetCostCategoryRuleRuleNotOrTagInput -func (CostCategorySplitChargeRuleParameterArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]CostCategorySplitChargeRuleParameter)(nil)).Elem() +func (GetCostCategoryRuleRuleNotOrTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotOrTag)(nil)).Elem() } -func (i CostCategorySplitChargeRuleParameterArray) ToCostCategorySplitChargeRuleParameterArrayOutput() CostCategorySplitChargeRuleParameterArrayOutput { - return i.ToCostCategorySplitChargeRuleParameterArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleNotOrTagArray) ToGetCostCategoryRuleRuleNotOrTagArrayOutput() GetCostCategoryRuleRuleNotOrTagArrayOutput { + return i.ToGetCostCategoryRuleRuleNotOrTagArrayOutputWithContext(context.Background()) } -func (i CostCategorySplitChargeRuleParameterArray) ToCostCategorySplitChargeRuleParameterArrayOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleParameterArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(CostCategorySplitChargeRuleParameterArrayOutput) +func (i GetCostCategoryRuleRuleNotOrTagArray) ToGetCostCategoryRuleRuleNotOrTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotOrTagArrayOutput) } -type CostCategorySplitChargeRuleParameterOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleNotOrTagOutput struct{ *pulumi.OutputState } -func (CostCategorySplitChargeRuleParameterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*CostCategorySplitChargeRuleParameter)(nil)).Elem() +func (GetCostCategoryRuleRuleNotOrTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotOrTag)(nil)).Elem() } -func (o CostCategorySplitChargeRuleParameterOutput) ToCostCategorySplitChargeRuleParameterOutput() CostCategorySplitChargeRuleParameterOutput { +func (o GetCostCategoryRuleRuleNotOrTagOutput) ToGetCostCategoryRuleRuleNotOrTagOutput() GetCostCategoryRuleRuleNotOrTagOutput { return o } -func (o CostCategorySplitChargeRuleParameterOutput) ToCostCategorySplitChargeRuleParameterOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleParameterOutput { +func (o GetCostCategoryRuleRuleNotOrTagOutput) ToGetCostCategoryRuleRuleNotOrTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrTagOutput { return o } -// Parameter type. -func (o CostCategorySplitChargeRuleParameterOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v CostCategorySplitChargeRuleParameter) *string { return v.Type }).(pulumi.StringPtrOutput) +// Key for the tag. +func (o GetCostCategoryRuleRuleNotOrTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotOrTag) string { return v.Key }).(pulumi.StringOutput) +} + +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleNotOrTagOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotOrTag) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Parameter values. -func (o CostCategorySplitChargeRuleParameterOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v CostCategorySplitChargeRuleParameter) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleNotOrTagOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotOrTag) []string { return v.Values }).(pulumi.StringArrayOutput) } -type CostCategorySplitChargeRuleParameterArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleNotOrTagArrayOutput struct{ *pulumi.OutputState } -func (CostCategorySplitChargeRuleParameterArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]CostCategorySplitChargeRuleParameter)(nil)).Elem() +func (GetCostCategoryRuleRuleNotOrTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotOrTag)(nil)).Elem() } -func (o CostCategorySplitChargeRuleParameterArrayOutput) ToCostCategorySplitChargeRuleParameterArrayOutput() CostCategorySplitChargeRuleParameterArrayOutput { +func (o GetCostCategoryRuleRuleNotOrTagArrayOutput) ToGetCostCategoryRuleRuleNotOrTagArrayOutput() GetCostCategoryRuleRuleNotOrTagArrayOutput { return o } -func (o CostCategorySplitChargeRuleParameterArrayOutput) ToCostCategorySplitChargeRuleParameterArrayOutputWithContext(ctx context.Context) CostCategorySplitChargeRuleParameterArrayOutput { +func (o GetCostCategoryRuleRuleNotOrTagArrayOutput) ToGetCostCategoryRuleRuleNotOrTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOrTagArrayOutput { return o } -func (o CostCategorySplitChargeRuleParameterArrayOutput) Index(i pulumi.IntInput) CostCategorySplitChargeRuleParameterOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) CostCategorySplitChargeRuleParameter { - return vs[0].([]CostCategorySplitChargeRuleParameter)[vs[1].(int)] - }).(CostCategorySplitChargeRuleParameterOutput) +func (o GetCostCategoryRuleRuleNotOrTagArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotOrTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotOrTag { + return vs[0].([]GetCostCategoryRuleRuleNotOrTag)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotOrTagOutput) } -type GetCostCategoryRule struct { - // Configuration block for the value the line item is categorized as if the line item contains the matched dimension. See below. - InheritedValues []GetCostCategoryRuleInheritedValue `pulumi:"inheritedValues"` - // Configuration block for the `Expression` object used to categorize costs. See below. - Rules []GetCostCategoryRuleRule `pulumi:"rules"` - // Parameter type. - Type string `pulumi:"type"` - // Default value for the cost category. - Value string `pulumi:"value"` +type GetCostCategoryRuleRuleNotTag struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` } -// GetCostCategoryRuleInput is an input type that accepts GetCostCategoryRuleArgs and GetCostCategoryRuleOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleInput` via: +// GetCostCategoryRuleRuleNotTagInput is an input type that accepts GetCostCategoryRuleRuleNotTagArgs and GetCostCategoryRuleRuleNotTagOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotTagInput` via: // -// GetCostCategoryRuleArgs{...} -type GetCostCategoryRuleInput interface { +// GetCostCategoryRuleRuleNotTagArgs{...} +type GetCostCategoryRuleRuleNotTagInput interface { pulumi.Input - ToGetCostCategoryRuleOutput() GetCostCategoryRuleOutput - ToGetCostCategoryRuleOutputWithContext(context.Context) GetCostCategoryRuleOutput + ToGetCostCategoryRuleRuleNotTagOutput() GetCostCategoryRuleRuleNotTagOutput + ToGetCostCategoryRuleRuleNotTagOutputWithContext(context.Context) GetCostCategoryRuleRuleNotTagOutput } -type GetCostCategoryRuleArgs struct { - // Configuration block for the value the line item is categorized as if the line item contains the matched dimension. See below. - InheritedValues GetCostCategoryRuleInheritedValueArrayInput `pulumi:"inheritedValues"` - // Configuration block for the `Expression` object used to categorize costs. See below. - Rules GetCostCategoryRuleRuleArrayInput `pulumi:"rules"` - // Parameter type. - Type pulumi.StringInput `pulumi:"type"` - // Default value for the cost category. - Value pulumi.StringInput `pulumi:"value"` +type GetCostCategoryRuleRuleNotTagArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetCostCategoryRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRule)(nil)).Elem() +func (GetCostCategoryRuleRuleNotTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotTag)(nil)).Elem() } -func (i GetCostCategoryRuleArgs) ToGetCostCategoryRuleOutput() GetCostCategoryRuleOutput { - return i.ToGetCostCategoryRuleOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleNotTagArgs) ToGetCostCategoryRuleRuleNotTagOutput() GetCostCategoryRuleRuleNotTagOutput { + return i.ToGetCostCategoryRuleRuleNotTagOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleArgs) ToGetCostCategoryRuleOutputWithContext(ctx context.Context) GetCostCategoryRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleOutput) +func (i GetCostCategoryRuleRuleNotTagArgs) ToGetCostCategoryRuleRuleNotTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotTagOutput) } -// GetCostCategoryRuleArrayInput is an input type that accepts GetCostCategoryRuleArray and GetCostCategoryRuleArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleArrayInput` via: +// GetCostCategoryRuleRuleNotTagArrayInput is an input type that accepts GetCostCategoryRuleRuleNotTagArray and GetCostCategoryRuleRuleNotTagArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleNotTagArrayInput` via: // -// GetCostCategoryRuleArray{ GetCostCategoryRuleArgs{...} } -type GetCostCategoryRuleArrayInput interface { +// GetCostCategoryRuleRuleNotTagArray{ GetCostCategoryRuleRuleNotTagArgs{...} } +type GetCostCategoryRuleRuleNotTagArrayInput interface { pulumi.Input - ToGetCostCategoryRuleArrayOutput() GetCostCategoryRuleArrayOutput - ToGetCostCategoryRuleArrayOutputWithContext(context.Context) GetCostCategoryRuleArrayOutput + ToGetCostCategoryRuleRuleNotTagArrayOutput() GetCostCategoryRuleRuleNotTagArrayOutput + ToGetCostCategoryRuleRuleNotTagArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotTagArrayOutput } -type GetCostCategoryRuleArray []GetCostCategoryRuleInput +type GetCostCategoryRuleRuleNotTagArray []GetCostCategoryRuleRuleNotTagInput -func (GetCostCategoryRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRule)(nil)).Elem() +func (GetCostCategoryRuleRuleNotTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotTag)(nil)).Elem() } -func (i GetCostCategoryRuleArray) ToGetCostCategoryRuleArrayOutput() GetCostCategoryRuleArrayOutput { - return i.ToGetCostCategoryRuleArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleNotTagArray) ToGetCostCategoryRuleRuleNotTagArrayOutput() GetCostCategoryRuleRuleNotTagArrayOutput { + return i.ToGetCostCategoryRuleRuleNotTagArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleArray) ToGetCostCategoryRuleArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleArrayOutput) +func (i GetCostCategoryRuleRuleNotTagArray) ToGetCostCategoryRuleRuleNotTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotTagArrayOutput) } -type GetCostCategoryRuleOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleNotTagOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRule)(nil)).Elem() +func (GetCostCategoryRuleRuleNotTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleNotTag)(nil)).Elem() } -func (o GetCostCategoryRuleOutput) ToGetCostCategoryRuleOutput() GetCostCategoryRuleOutput { +func (o GetCostCategoryRuleRuleNotTagOutput) ToGetCostCategoryRuleRuleNotTagOutput() GetCostCategoryRuleRuleNotTagOutput { return o } -func (o GetCostCategoryRuleOutput) ToGetCostCategoryRuleOutputWithContext(ctx context.Context) GetCostCategoryRuleOutput { +func (o GetCostCategoryRuleRuleNotTagOutput) ToGetCostCategoryRuleRuleNotTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotTagOutput { return o } -// Configuration block for the value the line item is categorized as if the line item contains the matched dimension. See below. -func (o GetCostCategoryRuleOutput) InheritedValues() GetCostCategoryRuleInheritedValueArrayOutput { - return o.ApplyT(func(v GetCostCategoryRule) []GetCostCategoryRuleInheritedValue { return v.InheritedValues }).(GetCostCategoryRuleInheritedValueArrayOutput) -} - -// Configuration block for the `Expression` object used to categorize costs. See below. -func (o GetCostCategoryRuleOutput) Rules() GetCostCategoryRuleRuleArrayOutput { - return o.ApplyT(func(v GetCostCategoryRule) []GetCostCategoryRuleRule { return v.Rules }).(GetCostCategoryRuleRuleArrayOutput) +// Key for the tag. +func (o GetCostCategoryRuleRuleNotTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotTag) string { return v.Key }).(pulumi.StringOutput) } -// Parameter type. -func (o GetCostCategoryRuleOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetCostCategoryRule) string { return v.Type }).(pulumi.StringOutput) +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleNotTagOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotTag) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } -// Default value for the cost category. -func (o GetCostCategoryRuleOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetCostCategoryRule) string { return v.Value }).(pulumi.StringOutput) +// Parameter values. +func (o GetCostCategoryRuleRuleNotTagOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleNotTag) []string { return v.Values }).(pulumi.StringArrayOutput) } -type GetCostCategoryRuleArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleNotTagArrayOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRule)(nil)).Elem() +func (GetCostCategoryRuleRuleNotTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotTag)(nil)).Elem() } -func (o GetCostCategoryRuleArrayOutput) ToGetCostCategoryRuleArrayOutput() GetCostCategoryRuleArrayOutput { +func (o GetCostCategoryRuleRuleNotTagArrayOutput) ToGetCostCategoryRuleRuleNotTagArrayOutput() GetCostCategoryRuleRuleNotTagArrayOutput { return o } -func (o GetCostCategoryRuleArrayOutput) ToGetCostCategoryRuleArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleArrayOutput { +func (o GetCostCategoryRuleRuleNotTagArrayOutput) ToGetCostCategoryRuleRuleNotTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotTagArrayOutput { return o } -func (o GetCostCategoryRuleArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRule { - return vs[0].([]GetCostCategoryRule)[vs[1].(int)] - }).(GetCostCategoryRuleOutput) +func (o GetCostCategoryRuleRuleNotTagArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotTag { + return vs[0].([]GetCostCategoryRuleRuleNotTag)[vs[1].(int)] + }).(GetCostCategoryRuleRuleNotTagOutput) } -type GetCostCategoryRuleInheritedValue struct { - // Key to extract cost category values. - DimensionKey string `pulumi:"dimensionKey"` - // Name of the dimension that's used to group costs. If you specify `LINKED_ACCOUNT_NAME`, the cost category value is based on account name. If you specify `TAG`, the cost category value will be based on the value of the specified tag key. Valid values are `LINKED_ACCOUNT_NAME`, `TAG` - DimensionName string `pulumi:"dimensionName"` +type GetCostCategoryRuleRuleOr struct { + // Return results that match both `Dimension` objects. + Ands []GetCostCategoryRuleRuleOrAnd `pulumi:"ands"` + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories []GetCostCategoryRuleRuleOrCostCategory `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions []GetCostCategoryRuleRuleOrDimension `pulumi:"dimensions"` + // Return results that do not match the `Dimension` object. + Nots []GetCostCategoryRuleRuleOrNot `pulumi:"nots"` + // Return results that match either `Dimension` object. + Ors []GetCostCategoryRuleRuleOrOr `pulumi:"ors"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags []GetCostCategoryRuleRuleOrTag `pulumi:"tags"` } -// GetCostCategoryRuleInheritedValueInput is an input type that accepts GetCostCategoryRuleInheritedValueArgs and GetCostCategoryRuleInheritedValueOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleInheritedValueInput` via: +// GetCostCategoryRuleRuleOrInput is an input type that accepts GetCostCategoryRuleRuleOrArgs and GetCostCategoryRuleRuleOrOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrInput` via: // -// GetCostCategoryRuleInheritedValueArgs{...} -type GetCostCategoryRuleInheritedValueInput interface { +// GetCostCategoryRuleRuleOrArgs{...} +type GetCostCategoryRuleRuleOrInput interface { pulumi.Input - ToGetCostCategoryRuleInheritedValueOutput() GetCostCategoryRuleInheritedValueOutput - ToGetCostCategoryRuleInheritedValueOutputWithContext(context.Context) GetCostCategoryRuleInheritedValueOutput + ToGetCostCategoryRuleRuleOrOutput() GetCostCategoryRuleRuleOrOutput + ToGetCostCategoryRuleRuleOrOutputWithContext(context.Context) GetCostCategoryRuleRuleOrOutput } -type GetCostCategoryRuleInheritedValueArgs struct { - // Key to extract cost category values. - DimensionKey pulumi.StringInput `pulumi:"dimensionKey"` - // Name of the dimension that's used to group costs. If you specify `LINKED_ACCOUNT_NAME`, the cost category value is based on account name. If you specify `TAG`, the cost category value will be based on the value of the specified tag key. Valid values are `LINKED_ACCOUNT_NAME`, `TAG` - DimensionName pulumi.StringInput `pulumi:"dimensionName"` +type GetCostCategoryRuleRuleOrArgs struct { + // Return results that match both `Dimension` objects. + Ands GetCostCategoryRuleRuleOrAndArrayInput `pulumi:"ands"` + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories GetCostCategoryRuleRuleOrCostCategoryArrayInput `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions GetCostCategoryRuleRuleOrDimensionArrayInput `pulumi:"dimensions"` + // Return results that do not match the `Dimension` object. + Nots GetCostCategoryRuleRuleOrNotArrayInput `pulumi:"nots"` + // Return results that match either `Dimension` object. + Ors GetCostCategoryRuleRuleOrOrArrayInput `pulumi:"ors"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags GetCostCategoryRuleRuleOrTagArrayInput `pulumi:"tags"` } -func (GetCostCategoryRuleInheritedValueArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleInheritedValue)(nil)).Elem() +func (GetCostCategoryRuleRuleOrArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOr)(nil)).Elem() } -func (i GetCostCategoryRuleInheritedValueArgs) ToGetCostCategoryRuleInheritedValueOutput() GetCostCategoryRuleInheritedValueOutput { - return i.ToGetCostCategoryRuleInheritedValueOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrArgs) ToGetCostCategoryRuleRuleOrOutput() GetCostCategoryRuleRuleOrOutput { + return i.ToGetCostCategoryRuleRuleOrOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleInheritedValueArgs) ToGetCostCategoryRuleInheritedValueOutputWithContext(ctx context.Context) GetCostCategoryRuleInheritedValueOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleInheritedValueOutput) +func (i GetCostCategoryRuleRuleOrArgs) ToGetCostCategoryRuleRuleOrOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrOutput) } -// GetCostCategoryRuleInheritedValueArrayInput is an input type that accepts GetCostCategoryRuleInheritedValueArray and GetCostCategoryRuleInheritedValueArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleInheritedValueArrayInput` via: +// GetCostCategoryRuleRuleOrArrayInput is an input type that accepts GetCostCategoryRuleRuleOrArray and GetCostCategoryRuleRuleOrArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrArrayInput` via: // -// GetCostCategoryRuleInheritedValueArray{ GetCostCategoryRuleInheritedValueArgs{...} } -type GetCostCategoryRuleInheritedValueArrayInput interface { +// GetCostCategoryRuleRuleOrArray{ GetCostCategoryRuleRuleOrArgs{...} } +type GetCostCategoryRuleRuleOrArrayInput interface { pulumi.Input - ToGetCostCategoryRuleInheritedValueArrayOutput() GetCostCategoryRuleInheritedValueArrayOutput - ToGetCostCategoryRuleInheritedValueArrayOutputWithContext(context.Context) GetCostCategoryRuleInheritedValueArrayOutput + ToGetCostCategoryRuleRuleOrArrayOutput() GetCostCategoryRuleRuleOrArrayOutput + ToGetCostCategoryRuleRuleOrArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrArrayOutput } -type GetCostCategoryRuleInheritedValueArray []GetCostCategoryRuleInheritedValueInput +type GetCostCategoryRuleRuleOrArray []GetCostCategoryRuleRuleOrInput -func (GetCostCategoryRuleInheritedValueArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleInheritedValue)(nil)).Elem() +func (GetCostCategoryRuleRuleOrArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOr)(nil)).Elem() } -func (i GetCostCategoryRuleInheritedValueArray) ToGetCostCategoryRuleInheritedValueArrayOutput() GetCostCategoryRuleInheritedValueArrayOutput { - return i.ToGetCostCategoryRuleInheritedValueArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrArray) ToGetCostCategoryRuleRuleOrArrayOutput() GetCostCategoryRuleRuleOrArrayOutput { + return i.ToGetCostCategoryRuleRuleOrArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleInheritedValueArray) ToGetCostCategoryRuleInheritedValueArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleInheritedValueArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleInheritedValueArrayOutput) +func (i GetCostCategoryRuleRuleOrArray) ToGetCostCategoryRuleRuleOrArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrArrayOutput) } -type GetCostCategoryRuleInheritedValueOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleInheritedValueOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleInheritedValue)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOr)(nil)).Elem() } -func (o GetCostCategoryRuleInheritedValueOutput) ToGetCostCategoryRuleInheritedValueOutput() GetCostCategoryRuleInheritedValueOutput { +func (o GetCostCategoryRuleRuleOrOutput) ToGetCostCategoryRuleRuleOrOutput() GetCostCategoryRuleRuleOrOutput { return o } -func (o GetCostCategoryRuleInheritedValueOutput) ToGetCostCategoryRuleInheritedValueOutputWithContext(ctx context.Context) GetCostCategoryRuleInheritedValueOutput { +func (o GetCostCategoryRuleRuleOrOutput) ToGetCostCategoryRuleRuleOrOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOutput { return o } -// Key to extract cost category values. -func (o GetCostCategoryRuleInheritedValueOutput) DimensionKey() pulumi.StringOutput { - return o.ApplyT(func(v GetCostCategoryRuleInheritedValue) string { return v.DimensionKey }).(pulumi.StringOutput) +// Return results that match both `Dimension` objects. +func (o GetCostCategoryRuleRuleOrOutput) Ands() GetCostCategoryRuleRuleOrAndArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOr) []GetCostCategoryRuleRuleOrAnd { return v.Ands }).(GetCostCategoryRuleRuleOrAndArrayOutput) } -// Name of the dimension that's used to group costs. If you specify `LINKED_ACCOUNT_NAME`, the cost category value is based on account name. If you specify `TAG`, the cost category value will be based on the value of the specified tag key. Valid values are `LINKED_ACCOUNT_NAME`, `TAG` -func (o GetCostCategoryRuleInheritedValueOutput) DimensionName() pulumi.StringOutput { - return o.ApplyT(func(v GetCostCategoryRuleInheritedValue) string { return v.DimensionName }).(pulumi.StringOutput) +// Configuration block for the filter that's based on `CostCategory` values. See below. +func (o GetCostCategoryRuleRuleOrOutput) CostCategories() GetCostCategoryRuleRuleOrCostCategoryArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOr) []GetCostCategoryRuleRuleOrCostCategory { return v.CostCategories }).(GetCostCategoryRuleRuleOrCostCategoryArrayOutput) } -type GetCostCategoryRuleInheritedValueArrayOutput struct{ *pulumi.OutputState } +// Configuration block for the specific `Dimension` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleOrOutput) Dimensions() GetCostCategoryRuleRuleOrDimensionArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOr) []GetCostCategoryRuleRuleOrDimension { return v.Dimensions }).(GetCostCategoryRuleRuleOrDimensionArrayOutput) +} -func (GetCostCategoryRuleInheritedValueArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleInheritedValue)(nil)).Elem() +// Return results that do not match the `Dimension` object. +func (o GetCostCategoryRuleRuleOrOutput) Nots() GetCostCategoryRuleRuleOrNotArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOr) []GetCostCategoryRuleRuleOrNot { return v.Nots }).(GetCostCategoryRuleRuleOrNotArrayOutput) } -func (o GetCostCategoryRuleInheritedValueArrayOutput) ToGetCostCategoryRuleInheritedValueArrayOutput() GetCostCategoryRuleInheritedValueArrayOutput { +// Return results that match either `Dimension` object. +func (o GetCostCategoryRuleRuleOrOutput) Ors() GetCostCategoryRuleRuleOrOrArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOr) []GetCostCategoryRuleRuleOrOr { return v.Ors }).(GetCostCategoryRuleRuleOrOrArrayOutput) +} + +// Configuration block for the specific `Tag` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleOrOutput) Tags() GetCostCategoryRuleRuleOrTagArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOr) []GetCostCategoryRuleRuleOrTag { return v.Tags }).(GetCostCategoryRuleRuleOrTagArrayOutput) +} + +type GetCostCategoryRuleRuleOrArrayOutput struct{ *pulumi.OutputState } + +func (GetCostCategoryRuleRuleOrArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOr)(nil)).Elem() +} + +func (o GetCostCategoryRuleRuleOrArrayOutput) ToGetCostCategoryRuleRuleOrArrayOutput() GetCostCategoryRuleRuleOrArrayOutput { return o } -func (o GetCostCategoryRuleInheritedValueArrayOutput) ToGetCostCategoryRuleInheritedValueArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleInheritedValueArrayOutput { +func (o GetCostCategoryRuleRuleOrArrayOutput) ToGetCostCategoryRuleRuleOrArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrArrayOutput { return o } -func (o GetCostCategoryRuleInheritedValueArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleInheritedValueOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleInheritedValue { - return vs[0].([]GetCostCategoryRuleInheritedValue)[vs[1].(int)] - }).(GetCostCategoryRuleInheritedValueOutput) +func (o GetCostCategoryRuleRuleOrArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOr { + return vs[0].([]GetCostCategoryRuleRuleOr)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOrOutput) } -type GetCostCategoryRuleRule struct { - // Return results that match both `Dimension` objects. - Ands []GetCostCategoryRuleRuleAnd `pulumi:"ands"` +type GetCostCategoryRuleRuleOrAnd struct { // Configuration block for the filter that's based on `CostCategory` values. See below. - CostCategories []GetCostCategoryRuleRuleCostCategory `pulumi:"costCategories"` + CostCategories []GetCostCategoryRuleRuleOrAndCostCategory `pulumi:"costCategories"` // Configuration block for the specific `Dimension` to use for `Expression`. See below. - Dimensions []GetCostCategoryRuleRuleDimension `pulumi:"dimensions"` - // Return results that do not match the `Dimension` object. - Nots []GetCostCategoryRuleRuleNot `pulumi:"nots"` - // Return results that match either `Dimension` object. - Ors []GetCostCategoryRuleRuleOr `pulumi:"ors"` + Dimensions []GetCostCategoryRuleRuleOrAndDimension `pulumi:"dimensions"` // Configuration block for the specific `Tag` to use for `Expression`. See below. - Tags []GetCostCategoryRuleRuleTag `pulumi:"tags"` + Tags []GetCostCategoryRuleRuleOrAndTag `pulumi:"tags"` } -// GetCostCategoryRuleRuleInput is an input type that accepts GetCostCategoryRuleRuleArgs and GetCostCategoryRuleRuleOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleInput` via: +// GetCostCategoryRuleRuleOrAndInput is an input type that accepts GetCostCategoryRuleRuleOrAndArgs and GetCostCategoryRuleRuleOrAndOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrAndInput` via: // -// GetCostCategoryRuleRuleArgs{...} -type GetCostCategoryRuleRuleInput interface { +// GetCostCategoryRuleRuleOrAndArgs{...} +type GetCostCategoryRuleRuleOrAndInput interface { pulumi.Input - ToGetCostCategoryRuleRuleOutput() GetCostCategoryRuleRuleOutput - ToGetCostCategoryRuleRuleOutputWithContext(context.Context) GetCostCategoryRuleRuleOutput + ToGetCostCategoryRuleRuleOrAndOutput() GetCostCategoryRuleRuleOrAndOutput + ToGetCostCategoryRuleRuleOrAndOutputWithContext(context.Context) GetCostCategoryRuleRuleOrAndOutput } -type GetCostCategoryRuleRuleArgs struct { - // Return results that match both `Dimension` objects. - Ands GetCostCategoryRuleRuleAndArrayInput `pulumi:"ands"` +type GetCostCategoryRuleRuleOrAndArgs struct { // Configuration block for the filter that's based on `CostCategory` values. See below. - CostCategories GetCostCategoryRuleRuleCostCategoryArrayInput `pulumi:"costCategories"` + CostCategories GetCostCategoryRuleRuleOrAndCostCategoryArrayInput `pulumi:"costCategories"` // Configuration block for the specific `Dimension` to use for `Expression`. See below. - Dimensions GetCostCategoryRuleRuleDimensionArrayInput `pulumi:"dimensions"` - // Return results that do not match the `Dimension` object. - Nots GetCostCategoryRuleRuleNotArrayInput `pulumi:"nots"` - // Return results that match either `Dimension` object. - Ors GetCostCategoryRuleRuleOrArrayInput `pulumi:"ors"` + Dimensions GetCostCategoryRuleRuleOrAndDimensionArrayInput `pulumi:"dimensions"` // Configuration block for the specific `Tag` to use for `Expression`. See below. - Tags GetCostCategoryRuleRuleTagArrayInput `pulumi:"tags"` + Tags GetCostCategoryRuleRuleOrAndTagArrayInput `pulumi:"tags"` } -func (GetCostCategoryRuleRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRule)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrAnd)(nil)).Elem() } -func (i GetCostCategoryRuleRuleArgs) ToGetCostCategoryRuleRuleOutput() GetCostCategoryRuleRuleOutput { - return i.ToGetCostCategoryRuleRuleOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrAndArgs) ToGetCostCategoryRuleRuleOrAndOutput() GetCostCategoryRuleRuleOrAndOutput { + return i.ToGetCostCategoryRuleRuleOrAndOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleArgs) ToGetCostCategoryRuleRuleOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOutput) +func (i GetCostCategoryRuleRuleOrAndArgs) ToGetCostCategoryRuleRuleOrAndOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrAndOutput) } -// GetCostCategoryRuleRuleArrayInput is an input type that accepts GetCostCategoryRuleRuleArray and GetCostCategoryRuleRuleArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleArrayInput` via: +// GetCostCategoryRuleRuleOrAndArrayInput is an input type that accepts GetCostCategoryRuleRuleOrAndArray and GetCostCategoryRuleRuleOrAndArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrAndArrayInput` via: // -// GetCostCategoryRuleRuleArray{ GetCostCategoryRuleRuleArgs{...} } -type GetCostCategoryRuleRuleArrayInput interface { +// GetCostCategoryRuleRuleOrAndArray{ GetCostCategoryRuleRuleOrAndArgs{...} } +type GetCostCategoryRuleRuleOrAndArrayInput interface { pulumi.Input - ToGetCostCategoryRuleRuleArrayOutput() GetCostCategoryRuleRuleArrayOutput - ToGetCostCategoryRuleRuleArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleArrayOutput + ToGetCostCategoryRuleRuleOrAndArrayOutput() GetCostCategoryRuleRuleOrAndArrayOutput + ToGetCostCategoryRuleRuleOrAndArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrAndArrayOutput } -type GetCostCategoryRuleRuleArray []GetCostCategoryRuleRuleInput +type GetCostCategoryRuleRuleOrAndArray []GetCostCategoryRuleRuleOrAndInput -func (GetCostCategoryRuleRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRule)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrAnd)(nil)).Elem() } -func (i GetCostCategoryRuleRuleArray) ToGetCostCategoryRuleRuleArrayOutput() GetCostCategoryRuleRuleArrayOutput { - return i.ToGetCostCategoryRuleRuleArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrAndArray) ToGetCostCategoryRuleRuleOrAndArrayOutput() GetCostCategoryRuleRuleOrAndArrayOutput { + return i.ToGetCostCategoryRuleRuleOrAndArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleArray) ToGetCostCategoryRuleRuleArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleArrayOutput) +func (i GetCostCategoryRuleRuleOrAndArray) ToGetCostCategoryRuleRuleOrAndArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrAndArrayOutput) } -type GetCostCategoryRuleRuleOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrAndOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRule)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrAnd)(nil)).Elem() } -func (o GetCostCategoryRuleRuleOutput) ToGetCostCategoryRuleRuleOutput() GetCostCategoryRuleRuleOutput { +func (o GetCostCategoryRuleRuleOrAndOutput) ToGetCostCategoryRuleRuleOrAndOutput() GetCostCategoryRuleRuleOrAndOutput { return o } -func (o GetCostCategoryRuleRuleOutput) ToGetCostCategoryRuleRuleOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOutput { +func (o GetCostCategoryRuleRuleOrAndOutput) ToGetCostCategoryRuleRuleOrAndOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndOutput { return o } -// Return results that match both `Dimension` objects. -func (o GetCostCategoryRuleRuleOutput) Ands() GetCostCategoryRuleRuleAndArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRule) []GetCostCategoryRuleRuleAnd { return v.Ands }).(GetCostCategoryRuleRuleAndArrayOutput) -} - // Configuration block for the filter that's based on `CostCategory` values. See below. -func (o GetCostCategoryRuleRuleOutput) CostCategories() GetCostCategoryRuleRuleCostCategoryArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRule) []GetCostCategoryRuleRuleCostCategory { return v.CostCategories }).(GetCostCategoryRuleRuleCostCategoryArrayOutput) +func (o GetCostCategoryRuleRuleOrAndOutput) CostCategories() GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrAnd) []GetCostCategoryRuleRuleOrAndCostCategory { + return v.CostCategories + }).(GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput) } // Configuration block for the specific `Dimension` to use for `Expression`. See below. -func (o GetCostCategoryRuleRuleOutput) Dimensions() GetCostCategoryRuleRuleDimensionArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRule) []GetCostCategoryRuleRuleDimension { return v.Dimensions }).(GetCostCategoryRuleRuleDimensionArrayOutput) -} - -// Return results that do not match the `Dimension` object. -func (o GetCostCategoryRuleRuleOutput) Nots() GetCostCategoryRuleRuleNotArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRule) []GetCostCategoryRuleRuleNot { return v.Nots }).(GetCostCategoryRuleRuleNotArrayOutput) -} - -// Return results that match either `Dimension` object. -func (o GetCostCategoryRuleRuleOutput) Ors() GetCostCategoryRuleRuleOrArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRule) []GetCostCategoryRuleRuleOr { return v.Ors }).(GetCostCategoryRuleRuleOrArrayOutput) +func (o GetCostCategoryRuleRuleOrAndOutput) Dimensions() GetCostCategoryRuleRuleOrAndDimensionArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrAnd) []GetCostCategoryRuleRuleOrAndDimension { return v.Dimensions }).(GetCostCategoryRuleRuleOrAndDimensionArrayOutput) } // Configuration block for the specific `Tag` to use for `Expression`. See below. -func (o GetCostCategoryRuleRuleOutput) Tags() GetCostCategoryRuleRuleTagArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRule) []GetCostCategoryRuleRuleTag { return v.Tags }).(GetCostCategoryRuleRuleTagArrayOutput) +func (o GetCostCategoryRuleRuleOrAndOutput) Tags() GetCostCategoryRuleRuleOrAndTagArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrAnd) []GetCostCategoryRuleRuleOrAndTag { return v.Tags }).(GetCostCategoryRuleRuleOrAndTagArrayOutput) } -type GetCostCategoryRuleRuleArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrAndArrayOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRule)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrAnd)(nil)).Elem() } -func (o GetCostCategoryRuleRuleArrayOutput) ToGetCostCategoryRuleRuleArrayOutput() GetCostCategoryRuleRuleArrayOutput { +func (o GetCostCategoryRuleRuleOrAndArrayOutput) ToGetCostCategoryRuleRuleOrAndArrayOutput() GetCostCategoryRuleRuleOrAndArrayOutput { return o } -func (o GetCostCategoryRuleRuleArrayOutput) ToGetCostCategoryRuleRuleArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleArrayOutput { +func (o GetCostCategoryRuleRuleOrAndArrayOutput) ToGetCostCategoryRuleRuleOrAndArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndArrayOutput { return o } -func (o GetCostCategoryRuleRuleArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRule { - return vs[0].([]GetCostCategoryRuleRule)[vs[1].(int)] - }).(GetCostCategoryRuleRuleOutput) +func (o GetCostCategoryRuleRuleOrAndArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrAndOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrAnd { + return vs[0].([]GetCostCategoryRuleRuleOrAnd)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOrAndOutput) } -type GetCostCategoryRuleRuleAnd struct { - // Configuration block for the filter that's based on `CostCategory` values. See below. - CostCategories []GetCostCategoryRuleRuleAndCostCategory `pulumi:"costCategories"` - // Configuration block for the specific `Dimension` to use for `Expression`. See below. - Dimensions []GetCostCategoryRuleRuleAndDimension `pulumi:"dimensions"` - // Configuration block for the specific `Tag` to use for `Expression`. See below. - Tags []GetCostCategoryRuleRuleAndTag `pulumi:"tags"` +type GetCostCategoryRuleRuleOrAndCostCategory struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` } -// GetCostCategoryRuleRuleAndInput is an input type that accepts GetCostCategoryRuleRuleAndArgs and GetCostCategoryRuleRuleAndOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleAndInput` via: +// GetCostCategoryRuleRuleOrAndCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleOrAndCostCategoryArgs and GetCostCategoryRuleRuleOrAndCostCategoryOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrAndCostCategoryInput` via: // -// GetCostCategoryRuleRuleAndArgs{...} -type GetCostCategoryRuleRuleAndInput interface { +// GetCostCategoryRuleRuleOrAndCostCategoryArgs{...} +type GetCostCategoryRuleRuleOrAndCostCategoryInput interface { pulumi.Input - ToGetCostCategoryRuleRuleAndOutput() GetCostCategoryRuleRuleAndOutput - ToGetCostCategoryRuleRuleAndOutputWithContext(context.Context) GetCostCategoryRuleRuleAndOutput + ToGetCostCategoryRuleRuleOrAndCostCategoryOutput() GetCostCategoryRuleRuleOrAndCostCategoryOutput + ToGetCostCategoryRuleRuleOrAndCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleOrAndCostCategoryOutput } -type GetCostCategoryRuleRuleAndArgs struct { - // Configuration block for the filter that's based on `CostCategory` values. See below. - CostCategories GetCostCategoryRuleRuleAndCostCategoryArrayInput `pulumi:"costCategories"` - // Configuration block for the specific `Dimension` to use for `Expression`. See below. - Dimensions GetCostCategoryRuleRuleAndDimensionArrayInput `pulumi:"dimensions"` - // Configuration block for the specific `Tag` to use for `Expression`. See below. - Tags GetCostCategoryRuleRuleAndTagArrayInput `pulumi:"tags"` +type GetCostCategoryRuleRuleOrAndCostCategoryArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetCostCategoryRuleRuleAndArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleAnd)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrAndCostCategory)(nil)).Elem() } -func (i GetCostCategoryRuleRuleAndArgs) ToGetCostCategoryRuleRuleAndOutput() GetCostCategoryRuleRuleAndOutput { - return i.ToGetCostCategoryRuleRuleAndOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrAndCostCategoryArgs) ToGetCostCategoryRuleRuleOrAndCostCategoryOutput() GetCostCategoryRuleRuleOrAndCostCategoryOutput { + return i.ToGetCostCategoryRuleRuleOrAndCostCategoryOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleAndArgs) ToGetCostCategoryRuleRuleAndOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndOutput) +func (i GetCostCategoryRuleRuleOrAndCostCategoryArgs) ToGetCostCategoryRuleRuleOrAndCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrAndCostCategoryOutput) } -// GetCostCategoryRuleRuleAndArrayInput is an input type that accepts GetCostCategoryRuleRuleAndArray and GetCostCategoryRuleRuleAndArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleAndArrayInput` via: +// GetCostCategoryRuleRuleOrAndCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleOrAndCostCategoryArray and GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrAndCostCategoryArrayInput` via: // -// GetCostCategoryRuleRuleAndArray{ GetCostCategoryRuleRuleAndArgs{...} } -type GetCostCategoryRuleRuleAndArrayInput interface { +// GetCostCategoryRuleRuleOrAndCostCategoryArray{ GetCostCategoryRuleRuleOrAndCostCategoryArgs{...} } +type GetCostCategoryRuleRuleOrAndCostCategoryArrayInput interface { pulumi.Input - ToGetCostCategoryRuleRuleAndArrayOutput() GetCostCategoryRuleRuleAndArrayOutput - ToGetCostCategoryRuleRuleAndArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndArrayOutput + ToGetCostCategoryRuleRuleOrAndCostCategoryArrayOutput() GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput + ToGetCostCategoryRuleRuleOrAndCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput } -type GetCostCategoryRuleRuleAndArray []GetCostCategoryRuleRuleAndInput +type GetCostCategoryRuleRuleOrAndCostCategoryArray []GetCostCategoryRuleRuleOrAndCostCategoryInput -func (GetCostCategoryRuleRuleAndArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleAnd)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndCostCategoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrAndCostCategory)(nil)).Elem() } -func (i GetCostCategoryRuleRuleAndArray) ToGetCostCategoryRuleRuleAndArrayOutput() GetCostCategoryRuleRuleAndArrayOutput { - return i.ToGetCostCategoryRuleRuleAndArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrAndCostCategoryArray) ToGetCostCategoryRuleRuleOrAndCostCategoryArrayOutput() GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput { + return i.ToGetCostCategoryRuleRuleOrAndCostCategoryArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleAndArray) ToGetCostCategoryRuleRuleAndArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndArrayOutput) +func (i GetCostCategoryRuleRuleOrAndCostCategoryArray) ToGetCostCategoryRuleRuleOrAndCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput) } -type GetCostCategoryRuleRuleAndOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrAndCostCategoryOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleAndOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleAnd)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrAndCostCategory)(nil)).Elem() } -func (o GetCostCategoryRuleRuleAndOutput) ToGetCostCategoryRuleRuleAndOutput() GetCostCategoryRuleRuleAndOutput { +func (o GetCostCategoryRuleRuleOrAndCostCategoryOutput) ToGetCostCategoryRuleRuleOrAndCostCategoryOutput() GetCostCategoryRuleRuleOrAndCostCategoryOutput { return o } -func (o GetCostCategoryRuleRuleAndOutput) ToGetCostCategoryRuleRuleAndOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndOutput { +func (o GetCostCategoryRuleRuleOrAndCostCategoryOutput) ToGetCostCategoryRuleRuleOrAndCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndCostCategoryOutput { return o } -// Configuration block for the filter that's based on `CostCategory` values. See below. -func (o GetCostCategoryRuleRuleAndOutput) CostCategories() GetCostCategoryRuleRuleAndCostCategoryArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleAnd) []GetCostCategoryRuleRuleAndCostCategory { return v.CostCategories }).(GetCostCategoryRuleRuleAndCostCategoryArrayOutput) +// Key for the tag. +func (o GetCostCategoryRuleRuleOrAndCostCategoryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrAndCostCategory) string { return v.Key }).(pulumi.StringOutput) } -// Configuration block for the specific `Dimension` to use for `Expression`. See below. -func (o GetCostCategoryRuleRuleAndOutput) Dimensions() GetCostCategoryRuleRuleAndDimensionArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleAnd) []GetCostCategoryRuleRuleAndDimension { return v.Dimensions }).(GetCostCategoryRuleRuleAndDimensionArrayOutput) +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleOrAndCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrAndCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } -// Configuration block for the specific `Tag` to use for `Expression`. See below. -func (o GetCostCategoryRuleRuleAndOutput) Tags() GetCostCategoryRuleRuleAndTagArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleAnd) []GetCostCategoryRuleRuleAndTag { return v.Tags }).(GetCostCategoryRuleRuleAndTagArrayOutput) +// Parameter values. +func (o GetCostCategoryRuleRuleOrAndCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrAndCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) } -type GetCostCategoryRuleRuleAndArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleAndArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleAnd)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrAndCostCategory)(nil)).Elem() } -func (o GetCostCategoryRuleRuleAndArrayOutput) ToGetCostCategoryRuleRuleAndArrayOutput() GetCostCategoryRuleRuleAndArrayOutput { +func (o GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput) ToGetCostCategoryRuleRuleOrAndCostCategoryArrayOutput() GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput { return o } -func (o GetCostCategoryRuleRuleAndArrayOutput) ToGetCostCategoryRuleRuleAndArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndArrayOutput { +func (o GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput) ToGetCostCategoryRuleRuleOrAndCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput { return o } -func (o GetCostCategoryRuleRuleAndArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAnd { - return vs[0].([]GetCostCategoryRuleRuleAnd)[vs[1].(int)] - }).(GetCostCategoryRuleRuleAndOutput) +func (o GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrAndCostCategoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrAndCostCategory { + return vs[0].([]GetCostCategoryRuleRuleOrAndCostCategory)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOrAndCostCategoryOutput) } -type GetCostCategoryRuleRuleAndCostCategory struct { +type GetCostCategoryRuleRuleOrAndDimension struct { // Key for the tag. Key string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -6589,18 +16785,18 @@ type GetCostCategoryRuleRuleAndCostCategory struct { Values []string `pulumi:"values"` } -// GetCostCategoryRuleRuleAndCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleAndCostCategoryArgs and GetCostCategoryRuleRuleAndCostCategoryOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleAndCostCategoryInput` via: +// GetCostCategoryRuleRuleOrAndDimensionInput is an input type that accepts GetCostCategoryRuleRuleOrAndDimensionArgs and GetCostCategoryRuleRuleOrAndDimensionOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrAndDimensionInput` via: // -// GetCostCategoryRuleRuleAndCostCategoryArgs{...} -type GetCostCategoryRuleRuleAndCostCategoryInput interface { +// GetCostCategoryRuleRuleOrAndDimensionArgs{...} +type GetCostCategoryRuleRuleOrAndDimensionInput interface { pulumi.Input - ToGetCostCategoryRuleRuleAndCostCategoryOutput() GetCostCategoryRuleRuleAndCostCategoryOutput - ToGetCostCategoryRuleRuleAndCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleAndCostCategoryOutput + ToGetCostCategoryRuleRuleOrAndDimensionOutput() GetCostCategoryRuleRuleOrAndDimensionOutput + ToGetCostCategoryRuleRuleOrAndDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleOrAndDimensionOutput } -type GetCostCategoryRuleRuleAndCostCategoryArgs struct { +type GetCostCategoryRuleRuleOrAndDimensionArgs struct { // Key for the tag. Key pulumi.StringInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -6609,93 +16805,93 @@ type GetCostCategoryRuleRuleAndCostCategoryArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetCostCategoryRuleRuleAndCostCategoryArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleAndCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrAndDimension)(nil)).Elem() } -func (i GetCostCategoryRuleRuleAndCostCategoryArgs) ToGetCostCategoryRuleRuleAndCostCategoryOutput() GetCostCategoryRuleRuleAndCostCategoryOutput { - return i.ToGetCostCategoryRuleRuleAndCostCategoryOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrAndDimensionArgs) ToGetCostCategoryRuleRuleOrAndDimensionOutput() GetCostCategoryRuleRuleOrAndDimensionOutput { + return i.ToGetCostCategoryRuleRuleOrAndDimensionOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleAndCostCategoryArgs) ToGetCostCategoryRuleRuleAndCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndCostCategoryOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndCostCategoryOutput) +func (i GetCostCategoryRuleRuleOrAndDimensionArgs) ToGetCostCategoryRuleRuleOrAndDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrAndDimensionOutput) } -// GetCostCategoryRuleRuleAndCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleAndCostCategoryArray and GetCostCategoryRuleRuleAndCostCategoryArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleAndCostCategoryArrayInput` via: +// GetCostCategoryRuleRuleOrAndDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleOrAndDimensionArray and GetCostCategoryRuleRuleOrAndDimensionArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrAndDimensionArrayInput` via: // -// GetCostCategoryRuleRuleAndCostCategoryArray{ GetCostCategoryRuleRuleAndCostCategoryArgs{...} } -type GetCostCategoryRuleRuleAndCostCategoryArrayInput interface { +// GetCostCategoryRuleRuleOrAndDimensionArray{ GetCostCategoryRuleRuleOrAndDimensionArgs{...} } +type GetCostCategoryRuleRuleOrAndDimensionArrayInput interface { pulumi.Input - ToGetCostCategoryRuleRuleAndCostCategoryArrayOutput() GetCostCategoryRuleRuleAndCostCategoryArrayOutput - ToGetCostCategoryRuleRuleAndCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndCostCategoryArrayOutput + ToGetCostCategoryRuleRuleOrAndDimensionArrayOutput() GetCostCategoryRuleRuleOrAndDimensionArrayOutput + ToGetCostCategoryRuleRuleOrAndDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrAndDimensionArrayOutput } -type GetCostCategoryRuleRuleAndCostCategoryArray []GetCostCategoryRuleRuleAndCostCategoryInput +type GetCostCategoryRuleRuleOrAndDimensionArray []GetCostCategoryRuleRuleOrAndDimensionInput -func (GetCostCategoryRuleRuleAndCostCategoryArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrAndDimension)(nil)).Elem() } -func (i GetCostCategoryRuleRuleAndCostCategoryArray) ToGetCostCategoryRuleRuleAndCostCategoryArrayOutput() GetCostCategoryRuleRuleAndCostCategoryArrayOutput { - return i.ToGetCostCategoryRuleRuleAndCostCategoryArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrAndDimensionArray) ToGetCostCategoryRuleRuleOrAndDimensionArrayOutput() GetCostCategoryRuleRuleOrAndDimensionArrayOutput { + return i.ToGetCostCategoryRuleRuleOrAndDimensionArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleAndCostCategoryArray) ToGetCostCategoryRuleRuleAndCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndCostCategoryArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndCostCategoryArrayOutput) +func (i GetCostCategoryRuleRuleOrAndDimensionArray) ToGetCostCategoryRuleRuleOrAndDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrAndDimensionArrayOutput) } -type GetCostCategoryRuleRuleAndCostCategoryOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrAndDimensionOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleAndCostCategoryOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleAndCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrAndDimension)(nil)).Elem() } -func (o GetCostCategoryRuleRuleAndCostCategoryOutput) ToGetCostCategoryRuleRuleAndCostCategoryOutput() GetCostCategoryRuleRuleAndCostCategoryOutput { +func (o GetCostCategoryRuleRuleOrAndDimensionOutput) ToGetCostCategoryRuleRuleOrAndDimensionOutput() GetCostCategoryRuleRuleOrAndDimensionOutput { return o } -func (o GetCostCategoryRuleRuleAndCostCategoryOutput) ToGetCostCategoryRuleRuleAndCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndCostCategoryOutput { +func (o GetCostCategoryRuleRuleOrAndDimensionOutput) ToGetCostCategoryRuleRuleOrAndDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndDimensionOutput { return o } // Key for the tag. -func (o GetCostCategoryRuleRuleAndCostCategoryOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleAndCostCategory) string { return v.Key }).(pulumi.StringOutput) +func (o GetCostCategoryRuleRuleOrAndDimensionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrAndDimension) string { return v.Key }).(pulumi.StringOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o GetCostCategoryRuleRuleAndCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleAndCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrAndDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrAndDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Parameter values. -func (o GetCostCategoryRuleRuleAndCostCategoryOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleAndCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrAndDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrAndDimension) []string { return v.Values }).(pulumi.StringArrayOutput) } -type GetCostCategoryRuleRuleAndCostCategoryArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrAndDimensionArrayOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleAndCostCategoryArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrAndDimension)(nil)).Elem() } -func (o GetCostCategoryRuleRuleAndCostCategoryArrayOutput) ToGetCostCategoryRuleRuleAndCostCategoryArrayOutput() GetCostCategoryRuleRuleAndCostCategoryArrayOutput { +func (o GetCostCategoryRuleRuleOrAndDimensionArrayOutput) ToGetCostCategoryRuleRuleOrAndDimensionArrayOutput() GetCostCategoryRuleRuleOrAndDimensionArrayOutput { return o } -func (o GetCostCategoryRuleRuleAndCostCategoryArrayOutput) ToGetCostCategoryRuleRuleAndCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndCostCategoryArrayOutput { +func (o GetCostCategoryRuleRuleOrAndDimensionArrayOutput) ToGetCostCategoryRuleRuleOrAndDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndDimensionArrayOutput { return o } -func (o GetCostCategoryRuleRuleAndCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndCostCategoryOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndCostCategory { - return vs[0].([]GetCostCategoryRuleRuleAndCostCategory)[vs[1].(int)] - }).(GetCostCategoryRuleRuleAndCostCategoryOutput) +func (o GetCostCategoryRuleRuleOrAndDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrAndDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrAndDimension { + return vs[0].([]GetCostCategoryRuleRuleOrAndDimension)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOrAndDimensionOutput) } -type GetCostCategoryRuleRuleAndDimension struct { +type GetCostCategoryRuleRuleOrAndTag struct { // Key for the tag. Key string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -6704,18 +16900,18 @@ type GetCostCategoryRuleRuleAndDimension struct { Values []string `pulumi:"values"` } -// GetCostCategoryRuleRuleAndDimensionInput is an input type that accepts GetCostCategoryRuleRuleAndDimensionArgs and GetCostCategoryRuleRuleAndDimensionOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleAndDimensionInput` via: +// GetCostCategoryRuleRuleOrAndTagInput is an input type that accepts GetCostCategoryRuleRuleOrAndTagArgs and GetCostCategoryRuleRuleOrAndTagOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrAndTagInput` via: // -// GetCostCategoryRuleRuleAndDimensionArgs{...} -type GetCostCategoryRuleRuleAndDimensionInput interface { +// GetCostCategoryRuleRuleOrAndTagArgs{...} +type GetCostCategoryRuleRuleOrAndTagInput interface { pulumi.Input - ToGetCostCategoryRuleRuleAndDimensionOutput() GetCostCategoryRuleRuleAndDimensionOutput - ToGetCostCategoryRuleRuleAndDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleAndDimensionOutput + ToGetCostCategoryRuleRuleOrAndTagOutput() GetCostCategoryRuleRuleOrAndTagOutput + ToGetCostCategoryRuleRuleOrAndTagOutputWithContext(context.Context) GetCostCategoryRuleRuleOrAndTagOutput } -type GetCostCategoryRuleRuleAndDimensionArgs struct { +type GetCostCategoryRuleRuleOrAndTagArgs struct { // Key for the tag. Key pulumi.StringInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -6724,93 +16920,93 @@ type GetCostCategoryRuleRuleAndDimensionArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetCostCategoryRuleRuleAndDimensionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleAndDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrAndTag)(nil)).Elem() } -func (i GetCostCategoryRuleRuleAndDimensionArgs) ToGetCostCategoryRuleRuleAndDimensionOutput() GetCostCategoryRuleRuleAndDimensionOutput { - return i.ToGetCostCategoryRuleRuleAndDimensionOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrAndTagArgs) ToGetCostCategoryRuleRuleOrAndTagOutput() GetCostCategoryRuleRuleOrAndTagOutput { + return i.ToGetCostCategoryRuleRuleOrAndTagOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleAndDimensionArgs) ToGetCostCategoryRuleRuleAndDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndDimensionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndDimensionOutput) +func (i GetCostCategoryRuleRuleOrAndTagArgs) ToGetCostCategoryRuleRuleOrAndTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrAndTagOutput) } -// GetCostCategoryRuleRuleAndDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleAndDimensionArray and GetCostCategoryRuleRuleAndDimensionArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleAndDimensionArrayInput` via: +// GetCostCategoryRuleRuleOrAndTagArrayInput is an input type that accepts GetCostCategoryRuleRuleOrAndTagArray and GetCostCategoryRuleRuleOrAndTagArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrAndTagArrayInput` via: // -// GetCostCategoryRuleRuleAndDimensionArray{ GetCostCategoryRuleRuleAndDimensionArgs{...} } -type GetCostCategoryRuleRuleAndDimensionArrayInput interface { +// GetCostCategoryRuleRuleOrAndTagArray{ GetCostCategoryRuleRuleOrAndTagArgs{...} } +type GetCostCategoryRuleRuleOrAndTagArrayInput interface { pulumi.Input - ToGetCostCategoryRuleRuleAndDimensionArrayOutput() GetCostCategoryRuleRuleAndDimensionArrayOutput - ToGetCostCategoryRuleRuleAndDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndDimensionArrayOutput + ToGetCostCategoryRuleRuleOrAndTagArrayOutput() GetCostCategoryRuleRuleOrAndTagArrayOutput + ToGetCostCategoryRuleRuleOrAndTagArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrAndTagArrayOutput } -type GetCostCategoryRuleRuleAndDimensionArray []GetCostCategoryRuleRuleAndDimensionInput +type GetCostCategoryRuleRuleOrAndTagArray []GetCostCategoryRuleRuleOrAndTagInput -func (GetCostCategoryRuleRuleAndDimensionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrAndTag)(nil)).Elem() } -func (i GetCostCategoryRuleRuleAndDimensionArray) ToGetCostCategoryRuleRuleAndDimensionArrayOutput() GetCostCategoryRuleRuleAndDimensionArrayOutput { - return i.ToGetCostCategoryRuleRuleAndDimensionArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrAndTagArray) ToGetCostCategoryRuleRuleOrAndTagArrayOutput() GetCostCategoryRuleRuleOrAndTagArrayOutput { + return i.ToGetCostCategoryRuleRuleOrAndTagArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleAndDimensionArray) ToGetCostCategoryRuleRuleAndDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndDimensionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndDimensionArrayOutput) +func (i GetCostCategoryRuleRuleOrAndTagArray) ToGetCostCategoryRuleRuleOrAndTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrAndTagArrayOutput) } -type GetCostCategoryRuleRuleAndDimensionOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrAndTagOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleAndDimensionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleAndDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrAndTag)(nil)).Elem() } -func (o GetCostCategoryRuleRuleAndDimensionOutput) ToGetCostCategoryRuleRuleAndDimensionOutput() GetCostCategoryRuleRuleAndDimensionOutput { +func (o GetCostCategoryRuleRuleOrAndTagOutput) ToGetCostCategoryRuleRuleOrAndTagOutput() GetCostCategoryRuleRuleOrAndTagOutput { return o } -func (o GetCostCategoryRuleRuleAndDimensionOutput) ToGetCostCategoryRuleRuleAndDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndDimensionOutput { +func (o GetCostCategoryRuleRuleOrAndTagOutput) ToGetCostCategoryRuleRuleOrAndTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndTagOutput { return o } // Key for the tag. -func (o GetCostCategoryRuleRuleAndDimensionOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleAndDimension) string { return v.Key }).(pulumi.StringOutput) +func (o GetCostCategoryRuleRuleOrAndTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrAndTag) string { return v.Key }).(pulumi.StringOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o GetCostCategoryRuleRuleAndDimensionOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleAndDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrAndTagOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrAndTag) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Parameter values. -func (o GetCostCategoryRuleRuleAndDimensionOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleAndDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrAndTagOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrAndTag) []string { return v.Values }).(pulumi.StringArrayOutput) } -type GetCostCategoryRuleRuleAndDimensionArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrAndTagArrayOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleAndDimensionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrAndTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrAndTag)(nil)).Elem() } -func (o GetCostCategoryRuleRuleAndDimensionArrayOutput) ToGetCostCategoryRuleRuleAndDimensionArrayOutput() GetCostCategoryRuleRuleAndDimensionArrayOutput { +func (o GetCostCategoryRuleRuleOrAndTagArrayOutput) ToGetCostCategoryRuleRuleOrAndTagArrayOutput() GetCostCategoryRuleRuleOrAndTagArrayOutput { return o } -func (o GetCostCategoryRuleRuleAndDimensionArrayOutput) ToGetCostCategoryRuleRuleAndDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndDimensionArrayOutput { +func (o GetCostCategoryRuleRuleOrAndTagArrayOutput) ToGetCostCategoryRuleRuleOrAndTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrAndTagArrayOutput { return o } -func (o GetCostCategoryRuleRuleAndDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndDimensionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndDimension { - return vs[0].([]GetCostCategoryRuleRuleAndDimension)[vs[1].(int)] - }).(GetCostCategoryRuleRuleAndDimensionOutput) +func (o GetCostCategoryRuleRuleOrAndTagArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrAndTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrAndTag { + return vs[0].([]GetCostCategoryRuleRuleOrAndTag)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOrAndTagOutput) } -type GetCostCategoryRuleRuleAndTag struct { +type GetCostCategoryRuleRuleOrCostCategory struct { // Key for the tag. Key string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -6819,18 +17015,18 @@ type GetCostCategoryRuleRuleAndTag struct { Values []string `pulumi:"values"` } -// GetCostCategoryRuleRuleAndTagInput is an input type that accepts GetCostCategoryRuleRuleAndTagArgs and GetCostCategoryRuleRuleAndTagOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleAndTagInput` via: +// GetCostCategoryRuleRuleOrCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleOrCostCategoryArgs and GetCostCategoryRuleRuleOrCostCategoryOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrCostCategoryInput` via: // -// GetCostCategoryRuleRuleAndTagArgs{...} -type GetCostCategoryRuleRuleAndTagInput interface { +// GetCostCategoryRuleRuleOrCostCategoryArgs{...} +type GetCostCategoryRuleRuleOrCostCategoryInput interface { pulumi.Input - ToGetCostCategoryRuleRuleAndTagOutput() GetCostCategoryRuleRuleAndTagOutput - ToGetCostCategoryRuleRuleAndTagOutputWithContext(context.Context) GetCostCategoryRuleRuleAndTagOutput + ToGetCostCategoryRuleRuleOrCostCategoryOutput() GetCostCategoryRuleRuleOrCostCategoryOutput + ToGetCostCategoryRuleRuleOrCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleOrCostCategoryOutput } -type GetCostCategoryRuleRuleAndTagArgs struct { +type GetCostCategoryRuleRuleOrCostCategoryArgs struct { // Key for the tag. Key pulumi.StringInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -6839,93 +17035,93 @@ type GetCostCategoryRuleRuleAndTagArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetCostCategoryRuleRuleAndTagArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleAndTag)(nil)).Elem() +func (GetCostCategoryRuleRuleOrCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrCostCategory)(nil)).Elem() } -func (i GetCostCategoryRuleRuleAndTagArgs) ToGetCostCategoryRuleRuleAndTagOutput() GetCostCategoryRuleRuleAndTagOutput { - return i.ToGetCostCategoryRuleRuleAndTagOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrCostCategoryArgs) ToGetCostCategoryRuleRuleOrCostCategoryOutput() GetCostCategoryRuleRuleOrCostCategoryOutput { + return i.ToGetCostCategoryRuleRuleOrCostCategoryOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleAndTagArgs) ToGetCostCategoryRuleRuleAndTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndTagOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndTagOutput) +func (i GetCostCategoryRuleRuleOrCostCategoryArgs) ToGetCostCategoryRuleRuleOrCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrCostCategoryOutput) } -// GetCostCategoryRuleRuleAndTagArrayInput is an input type that accepts GetCostCategoryRuleRuleAndTagArray and GetCostCategoryRuleRuleAndTagArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleAndTagArrayInput` via: +// GetCostCategoryRuleRuleOrCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleOrCostCategoryArray and GetCostCategoryRuleRuleOrCostCategoryArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrCostCategoryArrayInput` via: // -// GetCostCategoryRuleRuleAndTagArray{ GetCostCategoryRuleRuleAndTagArgs{...} } -type GetCostCategoryRuleRuleAndTagArrayInput interface { +// GetCostCategoryRuleRuleOrCostCategoryArray{ GetCostCategoryRuleRuleOrCostCategoryArgs{...} } +type GetCostCategoryRuleRuleOrCostCategoryArrayInput interface { pulumi.Input - ToGetCostCategoryRuleRuleAndTagArrayOutput() GetCostCategoryRuleRuleAndTagArrayOutput - ToGetCostCategoryRuleRuleAndTagArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleAndTagArrayOutput + ToGetCostCategoryRuleRuleOrCostCategoryArrayOutput() GetCostCategoryRuleRuleOrCostCategoryArrayOutput + ToGetCostCategoryRuleRuleOrCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrCostCategoryArrayOutput } -type GetCostCategoryRuleRuleAndTagArray []GetCostCategoryRuleRuleAndTagInput +type GetCostCategoryRuleRuleOrCostCategoryArray []GetCostCategoryRuleRuleOrCostCategoryInput -func (GetCostCategoryRuleRuleAndTagArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndTag)(nil)).Elem() +func (GetCostCategoryRuleRuleOrCostCategoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrCostCategory)(nil)).Elem() } -func (i GetCostCategoryRuleRuleAndTagArray) ToGetCostCategoryRuleRuleAndTagArrayOutput() GetCostCategoryRuleRuleAndTagArrayOutput { - return i.ToGetCostCategoryRuleRuleAndTagArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrCostCategoryArray) ToGetCostCategoryRuleRuleOrCostCategoryArrayOutput() GetCostCategoryRuleRuleOrCostCategoryArrayOutput { + return i.ToGetCostCategoryRuleRuleOrCostCategoryArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleAndTagArray) ToGetCostCategoryRuleRuleAndTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndTagArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleAndTagArrayOutput) +func (i GetCostCategoryRuleRuleOrCostCategoryArray) ToGetCostCategoryRuleRuleOrCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrCostCategoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrCostCategoryArrayOutput) } -type GetCostCategoryRuleRuleAndTagOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrCostCategoryOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleAndTagOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleAndTag)(nil)).Elem() +func (GetCostCategoryRuleRuleOrCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrCostCategory)(nil)).Elem() } -func (o GetCostCategoryRuleRuleAndTagOutput) ToGetCostCategoryRuleRuleAndTagOutput() GetCostCategoryRuleRuleAndTagOutput { +func (o GetCostCategoryRuleRuleOrCostCategoryOutput) ToGetCostCategoryRuleRuleOrCostCategoryOutput() GetCostCategoryRuleRuleOrCostCategoryOutput { return o } -func (o GetCostCategoryRuleRuleAndTagOutput) ToGetCostCategoryRuleRuleAndTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndTagOutput { +func (o GetCostCategoryRuleRuleOrCostCategoryOutput) ToGetCostCategoryRuleRuleOrCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrCostCategoryOutput { return o } // Key for the tag. -func (o GetCostCategoryRuleRuleAndTagOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleAndTag) string { return v.Key }).(pulumi.StringOutput) +func (o GetCostCategoryRuleRuleOrCostCategoryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrCostCategory) string { return v.Key }).(pulumi.StringOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o GetCostCategoryRuleRuleAndTagOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleAndTag) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Parameter values. -func (o GetCostCategoryRuleRuleAndTagOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleAndTag) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) } -type GetCostCategoryRuleRuleAndTagArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrCostCategoryArrayOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleAndTagArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleAndTag)(nil)).Elem() +func (GetCostCategoryRuleRuleOrCostCategoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrCostCategory)(nil)).Elem() } -func (o GetCostCategoryRuleRuleAndTagArrayOutput) ToGetCostCategoryRuleRuleAndTagArrayOutput() GetCostCategoryRuleRuleAndTagArrayOutput { +func (o GetCostCategoryRuleRuleOrCostCategoryArrayOutput) ToGetCostCategoryRuleRuleOrCostCategoryArrayOutput() GetCostCategoryRuleRuleOrCostCategoryArrayOutput { return o } -func (o GetCostCategoryRuleRuleAndTagArrayOutput) ToGetCostCategoryRuleRuleAndTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleAndTagArrayOutput { +func (o GetCostCategoryRuleRuleOrCostCategoryArrayOutput) ToGetCostCategoryRuleRuleOrCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrCostCategoryArrayOutput { return o } -func (o GetCostCategoryRuleRuleAndTagArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleAndTagOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleAndTag { - return vs[0].([]GetCostCategoryRuleRuleAndTag)[vs[1].(int)] - }).(GetCostCategoryRuleRuleAndTagOutput) +func (o GetCostCategoryRuleRuleOrCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrCostCategoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrCostCategory { + return vs[0].([]GetCostCategoryRuleRuleOrCostCategory)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOrCostCategoryOutput) } -type GetCostCategoryRuleRuleCostCategory struct { +type GetCostCategoryRuleRuleOrDimension struct { // Key for the tag. Key string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -6934,18 +17130,18 @@ type GetCostCategoryRuleRuleCostCategory struct { Values []string `pulumi:"values"` } -// GetCostCategoryRuleRuleCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleCostCategoryArgs and GetCostCategoryRuleRuleCostCategoryOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleCostCategoryInput` via: +// GetCostCategoryRuleRuleOrDimensionInput is an input type that accepts GetCostCategoryRuleRuleOrDimensionArgs and GetCostCategoryRuleRuleOrDimensionOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrDimensionInput` via: // -// GetCostCategoryRuleRuleCostCategoryArgs{...} -type GetCostCategoryRuleRuleCostCategoryInput interface { +// GetCostCategoryRuleRuleOrDimensionArgs{...} +type GetCostCategoryRuleRuleOrDimensionInput interface { pulumi.Input - ToGetCostCategoryRuleRuleCostCategoryOutput() GetCostCategoryRuleRuleCostCategoryOutput - ToGetCostCategoryRuleRuleCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleCostCategoryOutput + ToGetCostCategoryRuleRuleOrDimensionOutput() GetCostCategoryRuleRuleOrDimensionOutput + ToGetCostCategoryRuleRuleOrDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleOrDimensionOutput } -type GetCostCategoryRuleRuleCostCategoryArgs struct { +type GetCostCategoryRuleRuleOrDimensionArgs struct { // Key for the tag. Key pulumi.StringInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -6954,323 +17150,325 @@ type GetCostCategoryRuleRuleCostCategoryArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetCostCategoryRuleRuleCostCategoryArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrDimension)(nil)).Elem() } -func (i GetCostCategoryRuleRuleCostCategoryArgs) ToGetCostCategoryRuleRuleCostCategoryOutput() GetCostCategoryRuleRuleCostCategoryOutput { - return i.ToGetCostCategoryRuleRuleCostCategoryOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrDimensionArgs) ToGetCostCategoryRuleRuleOrDimensionOutput() GetCostCategoryRuleRuleOrDimensionOutput { + return i.ToGetCostCategoryRuleRuleOrDimensionOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleCostCategoryArgs) ToGetCostCategoryRuleRuleCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleCostCategoryOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleCostCategoryOutput) +func (i GetCostCategoryRuleRuleOrDimensionArgs) ToGetCostCategoryRuleRuleOrDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrDimensionOutput) } -// GetCostCategoryRuleRuleCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleCostCategoryArray and GetCostCategoryRuleRuleCostCategoryArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleCostCategoryArrayInput` via: +// GetCostCategoryRuleRuleOrDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleOrDimensionArray and GetCostCategoryRuleRuleOrDimensionArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrDimensionArrayInput` via: // -// GetCostCategoryRuleRuleCostCategoryArray{ GetCostCategoryRuleRuleCostCategoryArgs{...} } -type GetCostCategoryRuleRuleCostCategoryArrayInput interface { +// GetCostCategoryRuleRuleOrDimensionArray{ GetCostCategoryRuleRuleOrDimensionArgs{...} } +type GetCostCategoryRuleRuleOrDimensionArrayInput interface { pulumi.Input - ToGetCostCategoryRuleRuleCostCategoryArrayOutput() GetCostCategoryRuleRuleCostCategoryArrayOutput - ToGetCostCategoryRuleRuleCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleCostCategoryArrayOutput + ToGetCostCategoryRuleRuleOrDimensionArrayOutput() GetCostCategoryRuleRuleOrDimensionArrayOutput + ToGetCostCategoryRuleRuleOrDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrDimensionArrayOutput } -type GetCostCategoryRuleRuleCostCategoryArray []GetCostCategoryRuleRuleCostCategoryInput +type GetCostCategoryRuleRuleOrDimensionArray []GetCostCategoryRuleRuleOrDimensionInput -func (GetCostCategoryRuleRuleCostCategoryArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrDimension)(nil)).Elem() } -func (i GetCostCategoryRuleRuleCostCategoryArray) ToGetCostCategoryRuleRuleCostCategoryArrayOutput() GetCostCategoryRuleRuleCostCategoryArrayOutput { - return i.ToGetCostCategoryRuleRuleCostCategoryArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrDimensionArray) ToGetCostCategoryRuleRuleOrDimensionArrayOutput() GetCostCategoryRuleRuleOrDimensionArrayOutput { + return i.ToGetCostCategoryRuleRuleOrDimensionArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleCostCategoryArray) ToGetCostCategoryRuleRuleCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleCostCategoryArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleCostCategoryArrayOutput) +func (i GetCostCategoryRuleRuleOrDimensionArray) ToGetCostCategoryRuleRuleOrDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrDimensionArrayOutput) } -type GetCostCategoryRuleRuleCostCategoryOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrDimensionOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleCostCategoryOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrDimension)(nil)).Elem() } -func (o GetCostCategoryRuleRuleCostCategoryOutput) ToGetCostCategoryRuleRuleCostCategoryOutput() GetCostCategoryRuleRuleCostCategoryOutput { +func (o GetCostCategoryRuleRuleOrDimensionOutput) ToGetCostCategoryRuleRuleOrDimensionOutput() GetCostCategoryRuleRuleOrDimensionOutput { return o } -func (o GetCostCategoryRuleRuleCostCategoryOutput) ToGetCostCategoryRuleRuleCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleCostCategoryOutput { +func (o GetCostCategoryRuleRuleOrDimensionOutput) ToGetCostCategoryRuleRuleOrDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrDimensionOutput { return o } // Key for the tag. -func (o GetCostCategoryRuleRuleCostCategoryOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleCostCategory) string { return v.Key }).(pulumi.StringOutput) +func (o GetCostCategoryRuleRuleOrDimensionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrDimension) string { return v.Key }).(pulumi.StringOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o GetCostCategoryRuleRuleCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Parameter values. -func (o GetCostCategoryRuleRuleCostCategoryOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrDimension) []string { return v.Values }).(pulumi.StringArrayOutput) } -type GetCostCategoryRuleRuleCostCategoryArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrDimensionArrayOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleCostCategoryArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrDimension)(nil)).Elem() } -func (o GetCostCategoryRuleRuleCostCategoryArrayOutput) ToGetCostCategoryRuleRuleCostCategoryArrayOutput() GetCostCategoryRuleRuleCostCategoryArrayOutput { +func (o GetCostCategoryRuleRuleOrDimensionArrayOutput) ToGetCostCategoryRuleRuleOrDimensionArrayOutput() GetCostCategoryRuleRuleOrDimensionArrayOutput { return o } -func (o GetCostCategoryRuleRuleCostCategoryArrayOutput) ToGetCostCategoryRuleRuleCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleCostCategoryArrayOutput { +func (o GetCostCategoryRuleRuleOrDimensionArrayOutput) ToGetCostCategoryRuleRuleOrDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrDimensionArrayOutput { return o } -func (o GetCostCategoryRuleRuleCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleCostCategoryOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleCostCategory { - return vs[0].([]GetCostCategoryRuleRuleCostCategory)[vs[1].(int)] - }).(GetCostCategoryRuleRuleCostCategoryOutput) +func (o GetCostCategoryRuleRuleOrDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrDimension { + return vs[0].([]GetCostCategoryRuleRuleOrDimension)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOrDimensionOutput) } -type GetCostCategoryRuleRuleDimension struct { - // Key for the tag. - Key string `pulumi:"key"` - // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. - MatchOptions []string `pulumi:"matchOptions"` - // Parameter values. - Values []string `pulumi:"values"` +type GetCostCategoryRuleRuleOrNot struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories []GetCostCategoryRuleRuleOrNotCostCategory `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions []GetCostCategoryRuleRuleOrNotDimension `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags []GetCostCategoryRuleRuleOrNotTag `pulumi:"tags"` } -// GetCostCategoryRuleRuleDimensionInput is an input type that accepts GetCostCategoryRuleRuleDimensionArgs and GetCostCategoryRuleRuleDimensionOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleDimensionInput` via: +// GetCostCategoryRuleRuleOrNotInput is an input type that accepts GetCostCategoryRuleRuleOrNotArgs and GetCostCategoryRuleRuleOrNotOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrNotInput` via: // -// GetCostCategoryRuleRuleDimensionArgs{...} -type GetCostCategoryRuleRuleDimensionInput interface { +// GetCostCategoryRuleRuleOrNotArgs{...} +type GetCostCategoryRuleRuleOrNotInput interface { pulumi.Input - ToGetCostCategoryRuleRuleDimensionOutput() GetCostCategoryRuleRuleDimensionOutput - ToGetCostCategoryRuleRuleDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleDimensionOutput + ToGetCostCategoryRuleRuleOrNotOutput() GetCostCategoryRuleRuleOrNotOutput + ToGetCostCategoryRuleRuleOrNotOutputWithContext(context.Context) GetCostCategoryRuleRuleOrNotOutput } -type GetCostCategoryRuleRuleDimensionArgs struct { - // Key for the tag. - Key pulumi.StringInput `pulumi:"key"` - // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. - MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` - // Parameter values. - Values pulumi.StringArrayInput `pulumi:"values"` +type GetCostCategoryRuleRuleOrNotArgs struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories GetCostCategoryRuleRuleOrNotCostCategoryArrayInput `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions GetCostCategoryRuleRuleOrNotDimensionArrayInput `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags GetCostCategoryRuleRuleOrNotTagArrayInput `pulumi:"tags"` } -func (GetCostCategoryRuleRuleDimensionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrNot)(nil)).Elem() } -func (i GetCostCategoryRuleRuleDimensionArgs) ToGetCostCategoryRuleRuleDimensionOutput() GetCostCategoryRuleRuleDimensionOutput { - return i.ToGetCostCategoryRuleRuleDimensionOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrNotArgs) ToGetCostCategoryRuleRuleOrNotOutput() GetCostCategoryRuleRuleOrNotOutput { + return i.ToGetCostCategoryRuleRuleOrNotOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleDimensionArgs) ToGetCostCategoryRuleRuleDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleDimensionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleDimensionOutput) +func (i GetCostCategoryRuleRuleOrNotArgs) ToGetCostCategoryRuleRuleOrNotOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrNotOutput) } -// GetCostCategoryRuleRuleDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleDimensionArray and GetCostCategoryRuleRuleDimensionArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleDimensionArrayInput` via: +// GetCostCategoryRuleRuleOrNotArrayInput is an input type that accepts GetCostCategoryRuleRuleOrNotArray and GetCostCategoryRuleRuleOrNotArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrNotArrayInput` via: // -// GetCostCategoryRuleRuleDimensionArray{ GetCostCategoryRuleRuleDimensionArgs{...} } -type GetCostCategoryRuleRuleDimensionArrayInput interface { +// GetCostCategoryRuleRuleOrNotArray{ GetCostCategoryRuleRuleOrNotArgs{...} } +type GetCostCategoryRuleRuleOrNotArrayInput interface { pulumi.Input - ToGetCostCategoryRuleRuleDimensionArrayOutput() GetCostCategoryRuleRuleDimensionArrayOutput - ToGetCostCategoryRuleRuleDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleDimensionArrayOutput + ToGetCostCategoryRuleRuleOrNotArrayOutput() GetCostCategoryRuleRuleOrNotArrayOutput + ToGetCostCategoryRuleRuleOrNotArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrNotArrayOutput } -type GetCostCategoryRuleRuleDimensionArray []GetCostCategoryRuleRuleDimensionInput +type GetCostCategoryRuleRuleOrNotArray []GetCostCategoryRuleRuleOrNotInput -func (GetCostCategoryRuleRuleDimensionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrNot)(nil)).Elem() } -func (i GetCostCategoryRuleRuleDimensionArray) ToGetCostCategoryRuleRuleDimensionArrayOutput() GetCostCategoryRuleRuleDimensionArrayOutput { - return i.ToGetCostCategoryRuleRuleDimensionArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrNotArray) ToGetCostCategoryRuleRuleOrNotArrayOutput() GetCostCategoryRuleRuleOrNotArrayOutput { + return i.ToGetCostCategoryRuleRuleOrNotArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleDimensionArray) ToGetCostCategoryRuleRuleDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleDimensionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleDimensionArrayOutput) +func (i GetCostCategoryRuleRuleOrNotArray) ToGetCostCategoryRuleRuleOrNotArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrNotArrayOutput) } -type GetCostCategoryRuleRuleDimensionOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrNotOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleDimensionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrNot)(nil)).Elem() } -func (o GetCostCategoryRuleRuleDimensionOutput) ToGetCostCategoryRuleRuleDimensionOutput() GetCostCategoryRuleRuleDimensionOutput { +func (o GetCostCategoryRuleRuleOrNotOutput) ToGetCostCategoryRuleRuleOrNotOutput() GetCostCategoryRuleRuleOrNotOutput { return o } -func (o GetCostCategoryRuleRuleDimensionOutput) ToGetCostCategoryRuleRuleDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleDimensionOutput { +func (o GetCostCategoryRuleRuleOrNotOutput) ToGetCostCategoryRuleRuleOrNotOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotOutput { return o } -// Key for the tag. -func (o GetCostCategoryRuleRuleDimensionOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleDimension) string { return v.Key }).(pulumi.StringOutput) +// Configuration block for the filter that's based on `CostCategory` values. See below. +func (o GetCostCategoryRuleRuleOrNotOutput) CostCategories() GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrNot) []GetCostCategoryRuleRuleOrNotCostCategory { + return v.CostCategories + }).(GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput) } -// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o GetCostCategoryRuleRuleDimensionOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +// Configuration block for the specific `Dimension` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleOrNotOutput) Dimensions() GetCostCategoryRuleRuleOrNotDimensionArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrNot) []GetCostCategoryRuleRuleOrNotDimension { return v.Dimensions }).(GetCostCategoryRuleRuleOrNotDimensionArrayOutput) } -// Parameter values. -func (o GetCostCategoryRuleRuleDimensionOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +// Configuration block for the specific `Tag` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleOrNotOutput) Tags() GetCostCategoryRuleRuleOrNotTagArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrNot) []GetCostCategoryRuleRuleOrNotTag { return v.Tags }).(GetCostCategoryRuleRuleOrNotTagArrayOutput) } -type GetCostCategoryRuleRuleDimensionArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrNotArrayOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleDimensionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrNot)(nil)).Elem() } -func (o GetCostCategoryRuleRuleDimensionArrayOutput) ToGetCostCategoryRuleRuleDimensionArrayOutput() GetCostCategoryRuleRuleDimensionArrayOutput { +func (o GetCostCategoryRuleRuleOrNotArrayOutput) ToGetCostCategoryRuleRuleOrNotArrayOutput() GetCostCategoryRuleRuleOrNotArrayOutput { return o } -func (o GetCostCategoryRuleRuleDimensionArrayOutput) ToGetCostCategoryRuleRuleDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleDimensionArrayOutput { +func (o GetCostCategoryRuleRuleOrNotArrayOutput) ToGetCostCategoryRuleRuleOrNotArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotArrayOutput { return o } -func (o GetCostCategoryRuleRuleDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleDimensionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleDimension { - return vs[0].([]GetCostCategoryRuleRuleDimension)[vs[1].(int)] - }).(GetCostCategoryRuleRuleDimensionOutput) +func (o GetCostCategoryRuleRuleOrNotArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrNotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrNot { + return vs[0].([]GetCostCategoryRuleRuleOrNot)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOrNotOutput) } -type GetCostCategoryRuleRuleNot struct { - // Configuration block for the filter that's based on `CostCategory` values. See below. - CostCategories []GetCostCategoryRuleRuleNotCostCategory `pulumi:"costCategories"` - // Configuration block for the specific `Dimension` to use for `Expression`. See below. - Dimensions []GetCostCategoryRuleRuleNotDimension `pulumi:"dimensions"` - // Configuration block for the specific `Tag` to use for `Expression`. See below. - Tags []GetCostCategoryRuleRuleNotTag `pulumi:"tags"` +type GetCostCategoryRuleRuleOrNotCostCategory struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` } -// GetCostCategoryRuleRuleNotInput is an input type that accepts GetCostCategoryRuleRuleNotArgs and GetCostCategoryRuleRuleNotOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleNotInput` via: +// GetCostCategoryRuleRuleOrNotCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleOrNotCostCategoryArgs and GetCostCategoryRuleRuleOrNotCostCategoryOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrNotCostCategoryInput` via: // -// GetCostCategoryRuleRuleNotArgs{...} -type GetCostCategoryRuleRuleNotInput interface { +// GetCostCategoryRuleRuleOrNotCostCategoryArgs{...} +type GetCostCategoryRuleRuleOrNotCostCategoryInput interface { pulumi.Input - ToGetCostCategoryRuleRuleNotOutput() GetCostCategoryRuleRuleNotOutput - ToGetCostCategoryRuleRuleNotOutputWithContext(context.Context) GetCostCategoryRuleRuleNotOutput + ToGetCostCategoryRuleRuleOrNotCostCategoryOutput() GetCostCategoryRuleRuleOrNotCostCategoryOutput + ToGetCostCategoryRuleRuleOrNotCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleOrNotCostCategoryOutput } -type GetCostCategoryRuleRuleNotArgs struct { - // Configuration block for the filter that's based on `CostCategory` values. See below. - CostCategories GetCostCategoryRuleRuleNotCostCategoryArrayInput `pulumi:"costCategories"` - // Configuration block for the specific `Dimension` to use for `Expression`. See below. - Dimensions GetCostCategoryRuleRuleNotDimensionArrayInput `pulumi:"dimensions"` - // Configuration block for the specific `Tag` to use for `Expression`. See below. - Tags GetCostCategoryRuleRuleNotTagArrayInput `pulumi:"tags"` +type GetCostCategoryRuleRuleOrNotCostCategoryArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetCostCategoryRuleRuleNotArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleNot)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrNotCostCategory)(nil)).Elem() } -func (i GetCostCategoryRuleRuleNotArgs) ToGetCostCategoryRuleRuleNotOutput() GetCostCategoryRuleRuleNotOutput { - return i.ToGetCostCategoryRuleRuleNotOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrNotCostCategoryArgs) ToGetCostCategoryRuleRuleOrNotCostCategoryOutput() GetCostCategoryRuleRuleOrNotCostCategoryOutput { + return i.ToGetCostCategoryRuleRuleOrNotCostCategoryOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleNotArgs) ToGetCostCategoryRuleRuleNotOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotOutput) +func (i GetCostCategoryRuleRuleOrNotCostCategoryArgs) ToGetCostCategoryRuleRuleOrNotCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrNotCostCategoryOutput) } -// GetCostCategoryRuleRuleNotArrayInput is an input type that accepts GetCostCategoryRuleRuleNotArray and GetCostCategoryRuleRuleNotArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleNotArrayInput` via: +// GetCostCategoryRuleRuleOrNotCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleOrNotCostCategoryArray and GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrNotCostCategoryArrayInput` via: // -// GetCostCategoryRuleRuleNotArray{ GetCostCategoryRuleRuleNotArgs{...} } -type GetCostCategoryRuleRuleNotArrayInput interface { +// GetCostCategoryRuleRuleOrNotCostCategoryArray{ GetCostCategoryRuleRuleOrNotCostCategoryArgs{...} } +type GetCostCategoryRuleRuleOrNotCostCategoryArrayInput interface { pulumi.Input - ToGetCostCategoryRuleRuleNotArrayOutput() GetCostCategoryRuleRuleNotArrayOutput - ToGetCostCategoryRuleRuleNotArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotArrayOutput + ToGetCostCategoryRuleRuleOrNotCostCategoryArrayOutput() GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput + ToGetCostCategoryRuleRuleOrNotCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput } -type GetCostCategoryRuleRuleNotArray []GetCostCategoryRuleRuleNotInput +type GetCostCategoryRuleRuleOrNotCostCategoryArray []GetCostCategoryRuleRuleOrNotCostCategoryInput -func (GetCostCategoryRuleRuleNotArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleNot)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotCostCategoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrNotCostCategory)(nil)).Elem() } -func (i GetCostCategoryRuleRuleNotArray) ToGetCostCategoryRuleRuleNotArrayOutput() GetCostCategoryRuleRuleNotArrayOutput { - return i.ToGetCostCategoryRuleRuleNotArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrNotCostCategoryArray) ToGetCostCategoryRuleRuleOrNotCostCategoryArrayOutput() GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput { + return i.ToGetCostCategoryRuleRuleOrNotCostCategoryArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleNotArray) ToGetCostCategoryRuleRuleNotArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotArrayOutput) +func (i GetCostCategoryRuleRuleOrNotCostCategoryArray) ToGetCostCategoryRuleRuleOrNotCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput) } -type GetCostCategoryRuleRuleNotOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrNotCostCategoryOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleNotOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleNot)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrNotCostCategory)(nil)).Elem() } -func (o GetCostCategoryRuleRuleNotOutput) ToGetCostCategoryRuleRuleNotOutput() GetCostCategoryRuleRuleNotOutput { +func (o GetCostCategoryRuleRuleOrNotCostCategoryOutput) ToGetCostCategoryRuleRuleOrNotCostCategoryOutput() GetCostCategoryRuleRuleOrNotCostCategoryOutput { return o } -func (o GetCostCategoryRuleRuleNotOutput) ToGetCostCategoryRuleRuleNotOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotOutput { +func (o GetCostCategoryRuleRuleOrNotCostCategoryOutput) ToGetCostCategoryRuleRuleOrNotCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotCostCategoryOutput { return o } -// Configuration block for the filter that's based on `CostCategory` values. See below. -func (o GetCostCategoryRuleRuleNotOutput) CostCategories() GetCostCategoryRuleRuleNotCostCategoryArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleNot) []GetCostCategoryRuleRuleNotCostCategory { return v.CostCategories }).(GetCostCategoryRuleRuleNotCostCategoryArrayOutput) +// Key for the tag. +func (o GetCostCategoryRuleRuleOrNotCostCategoryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrNotCostCategory) string { return v.Key }).(pulumi.StringOutput) } -// Configuration block for the specific `Dimension` to use for `Expression`. See below. -func (o GetCostCategoryRuleRuleNotOutput) Dimensions() GetCostCategoryRuleRuleNotDimensionArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleNot) []GetCostCategoryRuleRuleNotDimension { return v.Dimensions }).(GetCostCategoryRuleRuleNotDimensionArrayOutput) +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleOrNotCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrNotCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } -// Configuration block for the specific `Tag` to use for `Expression`. See below. -func (o GetCostCategoryRuleRuleNotOutput) Tags() GetCostCategoryRuleRuleNotTagArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleNot) []GetCostCategoryRuleRuleNotTag { return v.Tags }).(GetCostCategoryRuleRuleNotTagArrayOutput) +// Parameter values. +func (o GetCostCategoryRuleRuleOrNotCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrNotCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) } -type GetCostCategoryRuleRuleNotArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleNotArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleNot)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrNotCostCategory)(nil)).Elem() } -func (o GetCostCategoryRuleRuleNotArrayOutput) ToGetCostCategoryRuleRuleNotArrayOutput() GetCostCategoryRuleRuleNotArrayOutput { +func (o GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput) ToGetCostCategoryRuleRuleOrNotCostCategoryArrayOutput() GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput { return o } -func (o GetCostCategoryRuleRuleNotArrayOutput) ToGetCostCategoryRuleRuleNotArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotArrayOutput { +func (o GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput) ToGetCostCategoryRuleRuleOrNotCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput { return o } -func (o GetCostCategoryRuleRuleNotArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNot { - return vs[0].([]GetCostCategoryRuleRuleNot)[vs[1].(int)] - }).(GetCostCategoryRuleRuleNotOutput) +func (o GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrNotCostCategoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrNotCostCategory { + return vs[0].([]GetCostCategoryRuleRuleOrNotCostCategory)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOrNotCostCategoryOutput) } -type GetCostCategoryRuleRuleNotCostCategory struct { +type GetCostCategoryRuleRuleOrNotDimension struct { // Key for the tag. Key string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -7279,18 +17477,18 @@ type GetCostCategoryRuleRuleNotCostCategory struct { Values []string `pulumi:"values"` } -// GetCostCategoryRuleRuleNotCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleNotCostCategoryArgs and GetCostCategoryRuleRuleNotCostCategoryOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleNotCostCategoryInput` via: +// GetCostCategoryRuleRuleOrNotDimensionInput is an input type that accepts GetCostCategoryRuleRuleOrNotDimensionArgs and GetCostCategoryRuleRuleOrNotDimensionOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrNotDimensionInput` via: // -// GetCostCategoryRuleRuleNotCostCategoryArgs{...} -type GetCostCategoryRuleRuleNotCostCategoryInput interface { +// GetCostCategoryRuleRuleOrNotDimensionArgs{...} +type GetCostCategoryRuleRuleOrNotDimensionInput interface { pulumi.Input - ToGetCostCategoryRuleRuleNotCostCategoryOutput() GetCostCategoryRuleRuleNotCostCategoryOutput - ToGetCostCategoryRuleRuleNotCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleNotCostCategoryOutput + ToGetCostCategoryRuleRuleOrNotDimensionOutput() GetCostCategoryRuleRuleOrNotDimensionOutput + ToGetCostCategoryRuleRuleOrNotDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleOrNotDimensionOutput } -type GetCostCategoryRuleRuleNotCostCategoryArgs struct { +type GetCostCategoryRuleRuleOrNotDimensionArgs struct { // Key for the tag. Key pulumi.StringInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -7299,93 +17497,93 @@ type GetCostCategoryRuleRuleNotCostCategoryArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetCostCategoryRuleRuleNotCostCategoryArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleNotCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrNotDimension)(nil)).Elem() } -func (i GetCostCategoryRuleRuleNotCostCategoryArgs) ToGetCostCategoryRuleRuleNotCostCategoryOutput() GetCostCategoryRuleRuleNotCostCategoryOutput { - return i.ToGetCostCategoryRuleRuleNotCostCategoryOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrNotDimensionArgs) ToGetCostCategoryRuleRuleOrNotDimensionOutput() GetCostCategoryRuleRuleOrNotDimensionOutput { + return i.ToGetCostCategoryRuleRuleOrNotDimensionOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleNotCostCategoryArgs) ToGetCostCategoryRuleRuleNotCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotCostCategoryOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotCostCategoryOutput) +func (i GetCostCategoryRuleRuleOrNotDimensionArgs) ToGetCostCategoryRuleRuleOrNotDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrNotDimensionOutput) } -// GetCostCategoryRuleRuleNotCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleNotCostCategoryArray and GetCostCategoryRuleRuleNotCostCategoryArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleNotCostCategoryArrayInput` via: +// GetCostCategoryRuleRuleOrNotDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleOrNotDimensionArray and GetCostCategoryRuleRuleOrNotDimensionArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrNotDimensionArrayInput` via: // -// GetCostCategoryRuleRuleNotCostCategoryArray{ GetCostCategoryRuleRuleNotCostCategoryArgs{...} } -type GetCostCategoryRuleRuleNotCostCategoryArrayInput interface { +// GetCostCategoryRuleRuleOrNotDimensionArray{ GetCostCategoryRuleRuleOrNotDimensionArgs{...} } +type GetCostCategoryRuleRuleOrNotDimensionArrayInput interface { pulumi.Input - ToGetCostCategoryRuleRuleNotCostCategoryArrayOutput() GetCostCategoryRuleRuleNotCostCategoryArrayOutput - ToGetCostCategoryRuleRuleNotCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotCostCategoryArrayOutput + ToGetCostCategoryRuleRuleOrNotDimensionArrayOutput() GetCostCategoryRuleRuleOrNotDimensionArrayOutput + ToGetCostCategoryRuleRuleOrNotDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrNotDimensionArrayOutput } -type GetCostCategoryRuleRuleNotCostCategoryArray []GetCostCategoryRuleRuleNotCostCategoryInput +type GetCostCategoryRuleRuleOrNotDimensionArray []GetCostCategoryRuleRuleOrNotDimensionInput -func (GetCostCategoryRuleRuleNotCostCategoryArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrNotDimension)(nil)).Elem() } -func (i GetCostCategoryRuleRuleNotCostCategoryArray) ToGetCostCategoryRuleRuleNotCostCategoryArrayOutput() GetCostCategoryRuleRuleNotCostCategoryArrayOutput { - return i.ToGetCostCategoryRuleRuleNotCostCategoryArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrNotDimensionArray) ToGetCostCategoryRuleRuleOrNotDimensionArrayOutput() GetCostCategoryRuleRuleOrNotDimensionArrayOutput { + return i.ToGetCostCategoryRuleRuleOrNotDimensionArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleNotCostCategoryArray) ToGetCostCategoryRuleRuleNotCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotCostCategoryArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotCostCategoryArrayOutput) +func (i GetCostCategoryRuleRuleOrNotDimensionArray) ToGetCostCategoryRuleRuleOrNotDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrNotDimensionArrayOutput) } -type GetCostCategoryRuleRuleNotCostCategoryOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrNotDimensionOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleNotCostCategoryOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleNotCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrNotDimension)(nil)).Elem() } -func (o GetCostCategoryRuleRuleNotCostCategoryOutput) ToGetCostCategoryRuleRuleNotCostCategoryOutput() GetCostCategoryRuleRuleNotCostCategoryOutput { +func (o GetCostCategoryRuleRuleOrNotDimensionOutput) ToGetCostCategoryRuleRuleOrNotDimensionOutput() GetCostCategoryRuleRuleOrNotDimensionOutput { return o } -func (o GetCostCategoryRuleRuleNotCostCategoryOutput) ToGetCostCategoryRuleRuleNotCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotCostCategoryOutput { +func (o GetCostCategoryRuleRuleOrNotDimensionOutput) ToGetCostCategoryRuleRuleOrNotDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotDimensionOutput { return o } // Key for the tag. -func (o GetCostCategoryRuleRuleNotCostCategoryOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleNotCostCategory) string { return v.Key }).(pulumi.StringOutput) +func (o GetCostCategoryRuleRuleOrNotDimensionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrNotDimension) string { return v.Key }).(pulumi.StringOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o GetCostCategoryRuleRuleNotCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleNotCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrNotDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrNotDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Parameter values. -func (o GetCostCategoryRuleRuleNotCostCategoryOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleNotCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrNotDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrNotDimension) []string { return v.Values }).(pulumi.StringArrayOutput) } -type GetCostCategoryRuleRuleNotCostCategoryArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrNotDimensionArrayOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleNotCostCategoryArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrNotDimension)(nil)).Elem() } -func (o GetCostCategoryRuleRuleNotCostCategoryArrayOutput) ToGetCostCategoryRuleRuleNotCostCategoryArrayOutput() GetCostCategoryRuleRuleNotCostCategoryArrayOutput { +func (o GetCostCategoryRuleRuleOrNotDimensionArrayOutput) ToGetCostCategoryRuleRuleOrNotDimensionArrayOutput() GetCostCategoryRuleRuleOrNotDimensionArrayOutput { return o } -func (o GetCostCategoryRuleRuleNotCostCategoryArrayOutput) ToGetCostCategoryRuleRuleNotCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotCostCategoryArrayOutput { +func (o GetCostCategoryRuleRuleOrNotDimensionArrayOutput) ToGetCostCategoryRuleRuleOrNotDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotDimensionArrayOutput { return o } -func (o GetCostCategoryRuleRuleNotCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotCostCategoryOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotCostCategory { - return vs[0].([]GetCostCategoryRuleRuleNotCostCategory)[vs[1].(int)] - }).(GetCostCategoryRuleRuleNotCostCategoryOutput) +func (o GetCostCategoryRuleRuleOrNotDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrNotDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrNotDimension { + return vs[0].([]GetCostCategoryRuleRuleOrNotDimension)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOrNotDimensionOutput) } -type GetCostCategoryRuleRuleNotDimension struct { +type GetCostCategoryRuleRuleOrNotTag struct { // Key for the tag. Key string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -7394,18 +17592,18 @@ type GetCostCategoryRuleRuleNotDimension struct { Values []string `pulumi:"values"` } -// GetCostCategoryRuleRuleNotDimensionInput is an input type that accepts GetCostCategoryRuleRuleNotDimensionArgs and GetCostCategoryRuleRuleNotDimensionOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleNotDimensionInput` via: +// GetCostCategoryRuleRuleOrNotTagInput is an input type that accepts GetCostCategoryRuleRuleOrNotTagArgs and GetCostCategoryRuleRuleOrNotTagOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrNotTagInput` via: // -// GetCostCategoryRuleRuleNotDimensionArgs{...} -type GetCostCategoryRuleRuleNotDimensionInput interface { +// GetCostCategoryRuleRuleOrNotTagArgs{...} +type GetCostCategoryRuleRuleOrNotTagInput interface { pulumi.Input - ToGetCostCategoryRuleRuleNotDimensionOutput() GetCostCategoryRuleRuleNotDimensionOutput - ToGetCostCategoryRuleRuleNotDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleNotDimensionOutput + ToGetCostCategoryRuleRuleOrNotTagOutput() GetCostCategoryRuleRuleOrNotTagOutput + ToGetCostCategoryRuleRuleOrNotTagOutputWithContext(context.Context) GetCostCategoryRuleRuleOrNotTagOutput } -type GetCostCategoryRuleRuleNotDimensionArgs struct { +type GetCostCategoryRuleRuleOrNotTagArgs struct { // Key for the tag. Key pulumi.StringInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -7414,323 +17612,323 @@ type GetCostCategoryRuleRuleNotDimensionArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetCostCategoryRuleRuleNotDimensionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleNotDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrNotTag)(nil)).Elem() } -func (i GetCostCategoryRuleRuleNotDimensionArgs) ToGetCostCategoryRuleRuleNotDimensionOutput() GetCostCategoryRuleRuleNotDimensionOutput { - return i.ToGetCostCategoryRuleRuleNotDimensionOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrNotTagArgs) ToGetCostCategoryRuleRuleOrNotTagOutput() GetCostCategoryRuleRuleOrNotTagOutput { + return i.ToGetCostCategoryRuleRuleOrNotTagOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleNotDimensionArgs) ToGetCostCategoryRuleRuleNotDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotDimensionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotDimensionOutput) +func (i GetCostCategoryRuleRuleOrNotTagArgs) ToGetCostCategoryRuleRuleOrNotTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrNotTagOutput) } -// GetCostCategoryRuleRuleNotDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleNotDimensionArray and GetCostCategoryRuleRuleNotDimensionArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleNotDimensionArrayInput` via: +// GetCostCategoryRuleRuleOrNotTagArrayInput is an input type that accepts GetCostCategoryRuleRuleOrNotTagArray and GetCostCategoryRuleRuleOrNotTagArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrNotTagArrayInput` via: // -// GetCostCategoryRuleRuleNotDimensionArray{ GetCostCategoryRuleRuleNotDimensionArgs{...} } -type GetCostCategoryRuleRuleNotDimensionArrayInput interface { +// GetCostCategoryRuleRuleOrNotTagArray{ GetCostCategoryRuleRuleOrNotTagArgs{...} } +type GetCostCategoryRuleRuleOrNotTagArrayInput interface { pulumi.Input - ToGetCostCategoryRuleRuleNotDimensionArrayOutput() GetCostCategoryRuleRuleNotDimensionArrayOutput - ToGetCostCategoryRuleRuleNotDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotDimensionArrayOutput + ToGetCostCategoryRuleRuleOrNotTagArrayOutput() GetCostCategoryRuleRuleOrNotTagArrayOutput + ToGetCostCategoryRuleRuleOrNotTagArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrNotTagArrayOutput } -type GetCostCategoryRuleRuleNotDimensionArray []GetCostCategoryRuleRuleNotDimensionInput +type GetCostCategoryRuleRuleOrNotTagArray []GetCostCategoryRuleRuleOrNotTagInput -func (GetCostCategoryRuleRuleNotDimensionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrNotTag)(nil)).Elem() } -func (i GetCostCategoryRuleRuleNotDimensionArray) ToGetCostCategoryRuleRuleNotDimensionArrayOutput() GetCostCategoryRuleRuleNotDimensionArrayOutput { - return i.ToGetCostCategoryRuleRuleNotDimensionArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrNotTagArray) ToGetCostCategoryRuleRuleOrNotTagArrayOutput() GetCostCategoryRuleRuleOrNotTagArrayOutput { + return i.ToGetCostCategoryRuleRuleOrNotTagArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleNotDimensionArray) ToGetCostCategoryRuleRuleNotDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotDimensionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotDimensionArrayOutput) +func (i GetCostCategoryRuleRuleOrNotTagArray) ToGetCostCategoryRuleRuleOrNotTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrNotTagArrayOutput) } -type GetCostCategoryRuleRuleNotDimensionOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrNotTagOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleNotDimensionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleNotDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrNotTag)(nil)).Elem() } -func (o GetCostCategoryRuleRuleNotDimensionOutput) ToGetCostCategoryRuleRuleNotDimensionOutput() GetCostCategoryRuleRuleNotDimensionOutput { +func (o GetCostCategoryRuleRuleOrNotTagOutput) ToGetCostCategoryRuleRuleOrNotTagOutput() GetCostCategoryRuleRuleOrNotTagOutput { return o } -func (o GetCostCategoryRuleRuleNotDimensionOutput) ToGetCostCategoryRuleRuleNotDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotDimensionOutput { +func (o GetCostCategoryRuleRuleOrNotTagOutput) ToGetCostCategoryRuleRuleOrNotTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotTagOutput { return o } -// Key for the tag. -func (o GetCostCategoryRuleRuleNotDimensionOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleNotDimension) string { return v.Key }).(pulumi.StringOutput) +// Key for the tag. +func (o GetCostCategoryRuleRuleOrNotTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrNotTag) string { return v.Key }).(pulumi.StringOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o GetCostCategoryRuleRuleNotDimensionOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleNotDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrNotTagOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrNotTag) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Parameter values. -func (o GetCostCategoryRuleRuleNotDimensionOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleNotDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrNotTagOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrNotTag) []string { return v.Values }).(pulumi.StringArrayOutput) } -type GetCostCategoryRuleRuleNotDimensionArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrNotTagArrayOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleNotDimensionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrNotTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrNotTag)(nil)).Elem() } -func (o GetCostCategoryRuleRuleNotDimensionArrayOutput) ToGetCostCategoryRuleRuleNotDimensionArrayOutput() GetCostCategoryRuleRuleNotDimensionArrayOutput { +func (o GetCostCategoryRuleRuleOrNotTagArrayOutput) ToGetCostCategoryRuleRuleOrNotTagArrayOutput() GetCostCategoryRuleRuleOrNotTagArrayOutput { return o } -func (o GetCostCategoryRuleRuleNotDimensionArrayOutput) ToGetCostCategoryRuleRuleNotDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotDimensionArrayOutput { +func (o GetCostCategoryRuleRuleOrNotTagArrayOutput) ToGetCostCategoryRuleRuleOrNotTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrNotTagArrayOutput { return o } -func (o GetCostCategoryRuleRuleNotDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotDimensionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotDimension { - return vs[0].([]GetCostCategoryRuleRuleNotDimension)[vs[1].(int)] - }).(GetCostCategoryRuleRuleNotDimensionOutput) +func (o GetCostCategoryRuleRuleOrNotTagArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrNotTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrNotTag { + return vs[0].([]GetCostCategoryRuleRuleOrNotTag)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOrNotTagOutput) } -type GetCostCategoryRuleRuleNotTag struct { - // Key for the tag. - Key string `pulumi:"key"` - // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. - MatchOptions []string `pulumi:"matchOptions"` - // Parameter values. - Values []string `pulumi:"values"` +type GetCostCategoryRuleRuleOrOr struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories []GetCostCategoryRuleRuleOrOrCostCategory `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions []GetCostCategoryRuleRuleOrOrDimension `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags []GetCostCategoryRuleRuleOrOrTag `pulumi:"tags"` } -// GetCostCategoryRuleRuleNotTagInput is an input type that accepts GetCostCategoryRuleRuleNotTagArgs and GetCostCategoryRuleRuleNotTagOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleNotTagInput` via: +// GetCostCategoryRuleRuleOrOrInput is an input type that accepts GetCostCategoryRuleRuleOrOrArgs and GetCostCategoryRuleRuleOrOrOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrOrInput` via: // -// GetCostCategoryRuleRuleNotTagArgs{...} -type GetCostCategoryRuleRuleNotTagInput interface { +// GetCostCategoryRuleRuleOrOrArgs{...} +type GetCostCategoryRuleRuleOrOrInput interface { pulumi.Input - ToGetCostCategoryRuleRuleNotTagOutput() GetCostCategoryRuleRuleNotTagOutput - ToGetCostCategoryRuleRuleNotTagOutputWithContext(context.Context) GetCostCategoryRuleRuleNotTagOutput + ToGetCostCategoryRuleRuleOrOrOutput() GetCostCategoryRuleRuleOrOrOutput + ToGetCostCategoryRuleRuleOrOrOutputWithContext(context.Context) GetCostCategoryRuleRuleOrOrOutput } -type GetCostCategoryRuleRuleNotTagArgs struct { - // Key for the tag. - Key pulumi.StringInput `pulumi:"key"` - // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. - MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` - // Parameter values. - Values pulumi.StringArrayInput `pulumi:"values"` +type GetCostCategoryRuleRuleOrOrArgs struct { + // Configuration block for the filter that's based on `CostCategory` values. See below. + CostCategories GetCostCategoryRuleRuleOrOrCostCategoryArrayInput `pulumi:"costCategories"` + // Configuration block for the specific `Dimension` to use for `Expression`. See below. + Dimensions GetCostCategoryRuleRuleOrOrDimensionArrayInput `pulumi:"dimensions"` + // Configuration block for the specific `Tag` to use for `Expression`. See below. + Tags GetCostCategoryRuleRuleOrOrTagArrayInput `pulumi:"tags"` } -func (GetCostCategoryRuleRuleNotTagArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleNotTag)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrOr)(nil)).Elem() } -func (i GetCostCategoryRuleRuleNotTagArgs) ToGetCostCategoryRuleRuleNotTagOutput() GetCostCategoryRuleRuleNotTagOutput { - return i.ToGetCostCategoryRuleRuleNotTagOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrOrArgs) ToGetCostCategoryRuleRuleOrOrOutput() GetCostCategoryRuleRuleOrOrOutput { + return i.ToGetCostCategoryRuleRuleOrOrOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleNotTagArgs) ToGetCostCategoryRuleRuleNotTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotTagOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotTagOutput) +func (i GetCostCategoryRuleRuleOrOrArgs) ToGetCostCategoryRuleRuleOrOrOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrOrOutput) } -// GetCostCategoryRuleRuleNotTagArrayInput is an input type that accepts GetCostCategoryRuleRuleNotTagArray and GetCostCategoryRuleRuleNotTagArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleNotTagArrayInput` via: +// GetCostCategoryRuleRuleOrOrArrayInput is an input type that accepts GetCostCategoryRuleRuleOrOrArray and GetCostCategoryRuleRuleOrOrArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrOrArrayInput` via: // -// GetCostCategoryRuleRuleNotTagArray{ GetCostCategoryRuleRuleNotTagArgs{...} } -type GetCostCategoryRuleRuleNotTagArrayInput interface { +// GetCostCategoryRuleRuleOrOrArray{ GetCostCategoryRuleRuleOrOrArgs{...} } +type GetCostCategoryRuleRuleOrOrArrayInput interface { pulumi.Input - ToGetCostCategoryRuleRuleNotTagArrayOutput() GetCostCategoryRuleRuleNotTagArrayOutput - ToGetCostCategoryRuleRuleNotTagArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleNotTagArrayOutput + ToGetCostCategoryRuleRuleOrOrArrayOutput() GetCostCategoryRuleRuleOrOrArrayOutput + ToGetCostCategoryRuleRuleOrOrArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrOrArrayOutput } -type GetCostCategoryRuleRuleNotTagArray []GetCostCategoryRuleRuleNotTagInput +type GetCostCategoryRuleRuleOrOrArray []GetCostCategoryRuleRuleOrOrInput -func (GetCostCategoryRuleRuleNotTagArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotTag)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrOr)(nil)).Elem() } -func (i GetCostCategoryRuleRuleNotTagArray) ToGetCostCategoryRuleRuleNotTagArrayOutput() GetCostCategoryRuleRuleNotTagArrayOutput { - return i.ToGetCostCategoryRuleRuleNotTagArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrOrArray) ToGetCostCategoryRuleRuleOrOrArrayOutput() GetCostCategoryRuleRuleOrOrArrayOutput { + return i.ToGetCostCategoryRuleRuleOrOrArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleNotTagArray) ToGetCostCategoryRuleRuleNotTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotTagArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleNotTagArrayOutput) +func (i GetCostCategoryRuleRuleOrOrArray) ToGetCostCategoryRuleRuleOrOrArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrOrArrayOutput) } -type GetCostCategoryRuleRuleNotTagOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrOrOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleNotTagOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleNotTag)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrOr)(nil)).Elem() } -func (o GetCostCategoryRuleRuleNotTagOutput) ToGetCostCategoryRuleRuleNotTagOutput() GetCostCategoryRuleRuleNotTagOutput { +func (o GetCostCategoryRuleRuleOrOrOutput) ToGetCostCategoryRuleRuleOrOrOutput() GetCostCategoryRuleRuleOrOrOutput { return o } -func (o GetCostCategoryRuleRuleNotTagOutput) ToGetCostCategoryRuleRuleNotTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotTagOutput { +func (o GetCostCategoryRuleRuleOrOrOutput) ToGetCostCategoryRuleRuleOrOrOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrOutput { return o } -// Key for the tag. -func (o GetCostCategoryRuleRuleNotTagOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleNotTag) string { return v.Key }).(pulumi.StringOutput) +// Configuration block for the filter that's based on `CostCategory` values. See below. +func (o GetCostCategoryRuleRuleOrOrOutput) CostCategories() GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrOr) []GetCostCategoryRuleRuleOrOrCostCategory { return v.CostCategories }).(GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput) } -// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o GetCostCategoryRuleRuleNotTagOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleNotTag) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +// Configuration block for the specific `Dimension` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleOrOrOutput) Dimensions() GetCostCategoryRuleRuleOrOrDimensionArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrOr) []GetCostCategoryRuleRuleOrOrDimension { return v.Dimensions }).(GetCostCategoryRuleRuleOrOrDimensionArrayOutput) } -// Parameter values. -func (o GetCostCategoryRuleRuleNotTagOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleNotTag) []string { return v.Values }).(pulumi.StringArrayOutput) +// Configuration block for the specific `Tag` to use for `Expression`. See below. +func (o GetCostCategoryRuleRuleOrOrOutput) Tags() GetCostCategoryRuleRuleOrOrTagArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrOr) []GetCostCategoryRuleRuleOrOrTag { return v.Tags }).(GetCostCategoryRuleRuleOrOrTagArrayOutput) } -type GetCostCategoryRuleRuleNotTagArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrOrArrayOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleNotTagArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleNotTag)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrOr)(nil)).Elem() } -func (o GetCostCategoryRuleRuleNotTagArrayOutput) ToGetCostCategoryRuleRuleNotTagArrayOutput() GetCostCategoryRuleRuleNotTagArrayOutput { +func (o GetCostCategoryRuleRuleOrOrArrayOutput) ToGetCostCategoryRuleRuleOrOrArrayOutput() GetCostCategoryRuleRuleOrOrArrayOutput { return o } -func (o GetCostCategoryRuleRuleNotTagArrayOutput) ToGetCostCategoryRuleRuleNotTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleNotTagArrayOutput { +func (o GetCostCategoryRuleRuleOrOrArrayOutput) ToGetCostCategoryRuleRuleOrOrArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrArrayOutput { return o } -func (o GetCostCategoryRuleRuleNotTagArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleNotTagOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleNotTag { - return vs[0].([]GetCostCategoryRuleRuleNotTag)[vs[1].(int)] - }).(GetCostCategoryRuleRuleNotTagOutput) +func (o GetCostCategoryRuleRuleOrOrArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrOrOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrOr { + return vs[0].([]GetCostCategoryRuleRuleOrOr)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOrOrOutput) } -type GetCostCategoryRuleRuleOr struct { - // Configuration block for the filter that's based on `CostCategory` values. See below. - CostCategories []GetCostCategoryRuleRuleOrCostCategory `pulumi:"costCategories"` - // Configuration block for the specific `Dimension` to use for `Expression`. See below. - Dimensions []GetCostCategoryRuleRuleOrDimension `pulumi:"dimensions"` - // Configuration block for the specific `Tag` to use for `Expression`. See below. - Tags []GetCostCategoryRuleRuleOrTag `pulumi:"tags"` +type GetCostCategoryRuleRuleOrOrCostCategory struct { + // Key for the tag. + Key string `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions []string `pulumi:"matchOptions"` + // Parameter values. + Values []string `pulumi:"values"` } -// GetCostCategoryRuleRuleOrInput is an input type that accepts GetCostCategoryRuleRuleOrArgs and GetCostCategoryRuleRuleOrOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleOrInput` via: +// GetCostCategoryRuleRuleOrOrCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleOrOrCostCategoryArgs and GetCostCategoryRuleRuleOrOrCostCategoryOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrOrCostCategoryInput` via: // -// GetCostCategoryRuleRuleOrArgs{...} -type GetCostCategoryRuleRuleOrInput interface { +// GetCostCategoryRuleRuleOrOrCostCategoryArgs{...} +type GetCostCategoryRuleRuleOrOrCostCategoryInput interface { pulumi.Input - ToGetCostCategoryRuleRuleOrOutput() GetCostCategoryRuleRuleOrOutput - ToGetCostCategoryRuleRuleOrOutputWithContext(context.Context) GetCostCategoryRuleRuleOrOutput + ToGetCostCategoryRuleRuleOrOrCostCategoryOutput() GetCostCategoryRuleRuleOrOrCostCategoryOutput + ToGetCostCategoryRuleRuleOrOrCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleOrOrCostCategoryOutput } -type GetCostCategoryRuleRuleOrArgs struct { - // Configuration block for the filter that's based on `CostCategory` values. See below. - CostCategories GetCostCategoryRuleRuleOrCostCategoryArrayInput `pulumi:"costCategories"` - // Configuration block for the specific `Dimension` to use for `Expression`. See below. - Dimensions GetCostCategoryRuleRuleOrDimensionArrayInput `pulumi:"dimensions"` - // Configuration block for the specific `Tag` to use for `Expression`. See below. - Tags GetCostCategoryRuleRuleOrTagArrayInput `pulumi:"tags"` +type GetCostCategoryRuleRuleOrOrCostCategoryArgs struct { + // Key for the tag. + Key pulumi.StringInput `pulumi:"key"` + // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + MatchOptions pulumi.StringArrayInput `pulumi:"matchOptions"` + // Parameter values. + Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetCostCategoryRuleRuleOrArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleOr)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrCostCategoryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrOrCostCategory)(nil)).Elem() } -func (i GetCostCategoryRuleRuleOrArgs) ToGetCostCategoryRuleRuleOrOutput() GetCostCategoryRuleRuleOrOutput { - return i.ToGetCostCategoryRuleRuleOrOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrOrCostCategoryArgs) ToGetCostCategoryRuleRuleOrOrCostCategoryOutput() GetCostCategoryRuleRuleOrOrCostCategoryOutput { + return i.ToGetCostCategoryRuleRuleOrOrCostCategoryOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleOrArgs) ToGetCostCategoryRuleRuleOrOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrOutput) +func (i GetCostCategoryRuleRuleOrOrCostCategoryArgs) ToGetCostCategoryRuleRuleOrOrCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrCostCategoryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrOrCostCategoryOutput) } -// GetCostCategoryRuleRuleOrArrayInput is an input type that accepts GetCostCategoryRuleRuleOrArray and GetCostCategoryRuleRuleOrArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleOrArrayInput` via: +// GetCostCategoryRuleRuleOrOrCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleOrOrCostCategoryArray and GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrOrCostCategoryArrayInput` via: // -// GetCostCategoryRuleRuleOrArray{ GetCostCategoryRuleRuleOrArgs{...} } -type GetCostCategoryRuleRuleOrArrayInput interface { +// GetCostCategoryRuleRuleOrOrCostCategoryArray{ GetCostCategoryRuleRuleOrOrCostCategoryArgs{...} } +type GetCostCategoryRuleRuleOrOrCostCategoryArrayInput interface { pulumi.Input - ToGetCostCategoryRuleRuleOrArrayOutput() GetCostCategoryRuleRuleOrArrayOutput - ToGetCostCategoryRuleRuleOrArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrArrayOutput + ToGetCostCategoryRuleRuleOrOrCostCategoryArrayOutput() GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput + ToGetCostCategoryRuleRuleOrOrCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput } -type GetCostCategoryRuleRuleOrArray []GetCostCategoryRuleRuleOrInput +type GetCostCategoryRuleRuleOrOrCostCategoryArray []GetCostCategoryRuleRuleOrOrCostCategoryInput -func (GetCostCategoryRuleRuleOrArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleOr)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrCostCategoryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrOrCostCategory)(nil)).Elem() } -func (i GetCostCategoryRuleRuleOrArray) ToGetCostCategoryRuleRuleOrArrayOutput() GetCostCategoryRuleRuleOrArrayOutput { - return i.ToGetCostCategoryRuleRuleOrArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrOrCostCategoryArray) ToGetCostCategoryRuleRuleOrOrCostCategoryArrayOutput() GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput { + return i.ToGetCostCategoryRuleRuleOrOrCostCategoryArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleOrArray) ToGetCostCategoryRuleRuleOrArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrArrayOutput) +func (i GetCostCategoryRuleRuleOrOrCostCategoryArray) ToGetCostCategoryRuleRuleOrOrCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput) } -type GetCostCategoryRuleRuleOrOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrOrCostCategoryOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleOrOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleOr)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrCostCategoryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrOrCostCategory)(nil)).Elem() } -func (o GetCostCategoryRuleRuleOrOutput) ToGetCostCategoryRuleRuleOrOutput() GetCostCategoryRuleRuleOrOutput { +func (o GetCostCategoryRuleRuleOrOrCostCategoryOutput) ToGetCostCategoryRuleRuleOrOrCostCategoryOutput() GetCostCategoryRuleRuleOrOrCostCategoryOutput { return o } -func (o GetCostCategoryRuleRuleOrOutput) ToGetCostCategoryRuleRuleOrOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOutput { +func (o GetCostCategoryRuleRuleOrOrCostCategoryOutput) ToGetCostCategoryRuleRuleOrOrCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrCostCategoryOutput { return o } -// Configuration block for the filter that's based on `CostCategory` values. See below. -func (o GetCostCategoryRuleRuleOrOutput) CostCategories() GetCostCategoryRuleRuleOrCostCategoryArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleOr) []GetCostCategoryRuleRuleOrCostCategory { return v.CostCategories }).(GetCostCategoryRuleRuleOrCostCategoryArrayOutput) +// Key for the tag. +func (o GetCostCategoryRuleRuleOrOrCostCategoryOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrOrCostCategory) string { return v.Key }).(pulumi.StringOutput) } -// Configuration block for the specific `Dimension` to use for `Expression`. See below. -func (o GetCostCategoryRuleRuleOrOutput) Dimensions() GetCostCategoryRuleRuleOrDimensionArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleOr) []GetCostCategoryRuleRuleOrDimension { return v.Dimensions }).(GetCostCategoryRuleRuleOrDimensionArrayOutput) +// Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. +func (o GetCostCategoryRuleRuleOrOrCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrOrCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } -// Configuration block for the specific `Tag` to use for `Expression`. See below. -func (o GetCostCategoryRuleRuleOrOutput) Tags() GetCostCategoryRuleRuleOrTagArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleOr) []GetCostCategoryRuleRuleOrTag { return v.Tags }).(GetCostCategoryRuleRuleOrTagArrayOutput) +// Parameter values. +func (o GetCostCategoryRuleRuleOrOrCostCategoryOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrOrCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) } -type GetCostCategoryRuleRuleOrArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleOrArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleOr)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrOrCostCategory)(nil)).Elem() } -func (o GetCostCategoryRuleRuleOrArrayOutput) ToGetCostCategoryRuleRuleOrArrayOutput() GetCostCategoryRuleRuleOrArrayOutput { +func (o GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput) ToGetCostCategoryRuleRuleOrOrCostCategoryArrayOutput() GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput { return o } -func (o GetCostCategoryRuleRuleOrArrayOutput) ToGetCostCategoryRuleRuleOrArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrArrayOutput { +func (o GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput) ToGetCostCategoryRuleRuleOrOrCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput { return o } -func (o GetCostCategoryRuleRuleOrArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOr { - return vs[0].([]GetCostCategoryRuleRuleOr)[vs[1].(int)] - }).(GetCostCategoryRuleRuleOrOutput) +func (o GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrOrCostCategoryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrOrCostCategory { + return vs[0].([]GetCostCategoryRuleRuleOrOrCostCategory)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOrOrCostCategoryOutput) } -type GetCostCategoryRuleRuleOrCostCategory struct { +type GetCostCategoryRuleRuleOrOrDimension struct { // Key for the tag. Key string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -7739,18 +17937,18 @@ type GetCostCategoryRuleRuleOrCostCategory struct { Values []string `pulumi:"values"` } -// GetCostCategoryRuleRuleOrCostCategoryInput is an input type that accepts GetCostCategoryRuleRuleOrCostCategoryArgs and GetCostCategoryRuleRuleOrCostCategoryOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleOrCostCategoryInput` via: +// GetCostCategoryRuleRuleOrOrDimensionInput is an input type that accepts GetCostCategoryRuleRuleOrOrDimensionArgs and GetCostCategoryRuleRuleOrOrDimensionOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrOrDimensionInput` via: // -// GetCostCategoryRuleRuleOrCostCategoryArgs{...} -type GetCostCategoryRuleRuleOrCostCategoryInput interface { +// GetCostCategoryRuleRuleOrOrDimensionArgs{...} +type GetCostCategoryRuleRuleOrOrDimensionInput interface { pulumi.Input - ToGetCostCategoryRuleRuleOrCostCategoryOutput() GetCostCategoryRuleRuleOrCostCategoryOutput - ToGetCostCategoryRuleRuleOrCostCategoryOutputWithContext(context.Context) GetCostCategoryRuleRuleOrCostCategoryOutput + ToGetCostCategoryRuleRuleOrOrDimensionOutput() GetCostCategoryRuleRuleOrOrDimensionOutput + ToGetCostCategoryRuleRuleOrOrDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleOrOrDimensionOutput } -type GetCostCategoryRuleRuleOrCostCategoryArgs struct { +type GetCostCategoryRuleRuleOrOrDimensionArgs struct { // Key for the tag. Key pulumi.StringInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -7759,93 +17957,93 @@ type GetCostCategoryRuleRuleOrCostCategoryArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetCostCategoryRuleRuleOrCostCategoryArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleOrCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrDimensionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrOrDimension)(nil)).Elem() } -func (i GetCostCategoryRuleRuleOrCostCategoryArgs) ToGetCostCategoryRuleRuleOrCostCategoryOutput() GetCostCategoryRuleRuleOrCostCategoryOutput { - return i.ToGetCostCategoryRuleRuleOrCostCategoryOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrOrDimensionArgs) ToGetCostCategoryRuleRuleOrOrDimensionOutput() GetCostCategoryRuleRuleOrOrDimensionOutput { + return i.ToGetCostCategoryRuleRuleOrOrDimensionOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleOrCostCategoryArgs) ToGetCostCategoryRuleRuleOrCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrCostCategoryOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrCostCategoryOutput) +func (i GetCostCategoryRuleRuleOrOrDimensionArgs) ToGetCostCategoryRuleRuleOrOrDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrDimensionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrOrDimensionOutput) } -// GetCostCategoryRuleRuleOrCostCategoryArrayInput is an input type that accepts GetCostCategoryRuleRuleOrCostCategoryArray and GetCostCategoryRuleRuleOrCostCategoryArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleOrCostCategoryArrayInput` via: +// GetCostCategoryRuleRuleOrOrDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleOrOrDimensionArray and GetCostCategoryRuleRuleOrOrDimensionArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrOrDimensionArrayInput` via: // -// GetCostCategoryRuleRuleOrCostCategoryArray{ GetCostCategoryRuleRuleOrCostCategoryArgs{...} } -type GetCostCategoryRuleRuleOrCostCategoryArrayInput interface { +// GetCostCategoryRuleRuleOrOrDimensionArray{ GetCostCategoryRuleRuleOrOrDimensionArgs{...} } +type GetCostCategoryRuleRuleOrOrDimensionArrayInput interface { pulumi.Input - ToGetCostCategoryRuleRuleOrCostCategoryArrayOutput() GetCostCategoryRuleRuleOrCostCategoryArrayOutput - ToGetCostCategoryRuleRuleOrCostCategoryArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrCostCategoryArrayOutput + ToGetCostCategoryRuleRuleOrOrDimensionArrayOutput() GetCostCategoryRuleRuleOrOrDimensionArrayOutput + ToGetCostCategoryRuleRuleOrOrDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrOrDimensionArrayOutput } -type GetCostCategoryRuleRuleOrCostCategoryArray []GetCostCategoryRuleRuleOrCostCategoryInput +type GetCostCategoryRuleRuleOrOrDimensionArray []GetCostCategoryRuleRuleOrOrDimensionInput -func (GetCostCategoryRuleRuleOrCostCategoryArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrDimensionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrOrDimension)(nil)).Elem() } -func (i GetCostCategoryRuleRuleOrCostCategoryArray) ToGetCostCategoryRuleRuleOrCostCategoryArrayOutput() GetCostCategoryRuleRuleOrCostCategoryArrayOutput { - return i.ToGetCostCategoryRuleRuleOrCostCategoryArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrOrDimensionArray) ToGetCostCategoryRuleRuleOrOrDimensionArrayOutput() GetCostCategoryRuleRuleOrOrDimensionArrayOutput { + return i.ToGetCostCategoryRuleRuleOrOrDimensionArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleOrCostCategoryArray) ToGetCostCategoryRuleRuleOrCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrCostCategoryArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrCostCategoryArrayOutput) +func (i GetCostCategoryRuleRuleOrOrDimensionArray) ToGetCostCategoryRuleRuleOrOrDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrDimensionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrOrDimensionArrayOutput) } -type GetCostCategoryRuleRuleOrCostCategoryOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrOrDimensionOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleOrCostCategoryOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleOrCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrDimensionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrOrDimension)(nil)).Elem() } -func (o GetCostCategoryRuleRuleOrCostCategoryOutput) ToGetCostCategoryRuleRuleOrCostCategoryOutput() GetCostCategoryRuleRuleOrCostCategoryOutput { +func (o GetCostCategoryRuleRuleOrOrDimensionOutput) ToGetCostCategoryRuleRuleOrOrDimensionOutput() GetCostCategoryRuleRuleOrOrDimensionOutput { return o } -func (o GetCostCategoryRuleRuleOrCostCategoryOutput) ToGetCostCategoryRuleRuleOrCostCategoryOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrCostCategoryOutput { +func (o GetCostCategoryRuleRuleOrOrDimensionOutput) ToGetCostCategoryRuleRuleOrOrDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrDimensionOutput { return o } // Key for the tag. -func (o GetCostCategoryRuleRuleOrCostCategoryOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleOrCostCategory) string { return v.Key }).(pulumi.StringOutput) +func (o GetCostCategoryRuleRuleOrOrDimensionOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrOrDimension) string { return v.Key }).(pulumi.StringOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o GetCostCategoryRuleRuleOrCostCategoryOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleOrCostCategory) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrOrDimensionOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrOrDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Parameter values. -func (o GetCostCategoryRuleRuleOrCostCategoryOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleOrCostCategory) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrOrDimensionOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrOrDimension) []string { return v.Values }).(pulumi.StringArrayOutput) } -type GetCostCategoryRuleRuleOrCostCategoryArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrOrDimensionArrayOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleOrCostCategoryArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrCostCategory)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrDimensionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrOrDimension)(nil)).Elem() } -func (o GetCostCategoryRuleRuleOrCostCategoryArrayOutput) ToGetCostCategoryRuleRuleOrCostCategoryArrayOutput() GetCostCategoryRuleRuleOrCostCategoryArrayOutput { +func (o GetCostCategoryRuleRuleOrOrDimensionArrayOutput) ToGetCostCategoryRuleRuleOrOrDimensionArrayOutput() GetCostCategoryRuleRuleOrOrDimensionArrayOutput { return o } -func (o GetCostCategoryRuleRuleOrCostCategoryArrayOutput) ToGetCostCategoryRuleRuleOrCostCategoryArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrCostCategoryArrayOutput { +func (o GetCostCategoryRuleRuleOrOrDimensionArrayOutput) ToGetCostCategoryRuleRuleOrOrDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrDimensionArrayOutput { return o } -func (o GetCostCategoryRuleRuleOrCostCategoryArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrCostCategoryOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrCostCategory { - return vs[0].([]GetCostCategoryRuleRuleOrCostCategory)[vs[1].(int)] - }).(GetCostCategoryRuleRuleOrCostCategoryOutput) +func (o GetCostCategoryRuleRuleOrOrDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrOrDimensionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrOrDimension { + return vs[0].([]GetCostCategoryRuleRuleOrOrDimension)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOrOrDimensionOutput) } -type GetCostCategoryRuleRuleOrDimension struct { +type GetCostCategoryRuleRuleOrOrTag struct { // Key for the tag. Key string `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -7854,18 +18052,18 @@ type GetCostCategoryRuleRuleOrDimension struct { Values []string `pulumi:"values"` } -// GetCostCategoryRuleRuleOrDimensionInput is an input type that accepts GetCostCategoryRuleRuleOrDimensionArgs and GetCostCategoryRuleRuleOrDimensionOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleOrDimensionInput` via: +// GetCostCategoryRuleRuleOrOrTagInput is an input type that accepts GetCostCategoryRuleRuleOrOrTagArgs and GetCostCategoryRuleRuleOrOrTagOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrOrTagInput` via: // -// GetCostCategoryRuleRuleOrDimensionArgs{...} -type GetCostCategoryRuleRuleOrDimensionInput interface { +// GetCostCategoryRuleRuleOrOrTagArgs{...} +type GetCostCategoryRuleRuleOrOrTagInput interface { pulumi.Input - ToGetCostCategoryRuleRuleOrDimensionOutput() GetCostCategoryRuleRuleOrDimensionOutput - ToGetCostCategoryRuleRuleOrDimensionOutputWithContext(context.Context) GetCostCategoryRuleRuleOrDimensionOutput + ToGetCostCategoryRuleRuleOrOrTagOutput() GetCostCategoryRuleRuleOrOrTagOutput + ToGetCostCategoryRuleRuleOrOrTagOutputWithContext(context.Context) GetCostCategoryRuleRuleOrOrTagOutput } -type GetCostCategoryRuleRuleOrDimensionArgs struct { +type GetCostCategoryRuleRuleOrOrTagArgs struct { // Key for the tag. Key pulumi.StringInput `pulumi:"key"` // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. @@ -7874,90 +18072,90 @@ type GetCostCategoryRuleRuleOrDimensionArgs struct { Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetCostCategoryRuleRuleOrDimensionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleOrDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrOrTag)(nil)).Elem() } -func (i GetCostCategoryRuleRuleOrDimensionArgs) ToGetCostCategoryRuleRuleOrDimensionOutput() GetCostCategoryRuleRuleOrDimensionOutput { - return i.ToGetCostCategoryRuleRuleOrDimensionOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrOrTagArgs) ToGetCostCategoryRuleRuleOrOrTagOutput() GetCostCategoryRuleRuleOrOrTagOutput { + return i.ToGetCostCategoryRuleRuleOrOrTagOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleOrDimensionArgs) ToGetCostCategoryRuleRuleOrDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrDimensionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrDimensionOutput) +func (i GetCostCategoryRuleRuleOrOrTagArgs) ToGetCostCategoryRuleRuleOrOrTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrOrTagOutput) } -// GetCostCategoryRuleRuleOrDimensionArrayInput is an input type that accepts GetCostCategoryRuleRuleOrDimensionArray and GetCostCategoryRuleRuleOrDimensionArrayOutput values. -// You can construct a concrete instance of `GetCostCategoryRuleRuleOrDimensionArrayInput` via: +// GetCostCategoryRuleRuleOrOrTagArrayInput is an input type that accepts GetCostCategoryRuleRuleOrOrTagArray and GetCostCategoryRuleRuleOrOrTagArrayOutput values. +// You can construct a concrete instance of `GetCostCategoryRuleRuleOrOrTagArrayInput` via: // -// GetCostCategoryRuleRuleOrDimensionArray{ GetCostCategoryRuleRuleOrDimensionArgs{...} } -type GetCostCategoryRuleRuleOrDimensionArrayInput interface { +// GetCostCategoryRuleRuleOrOrTagArray{ GetCostCategoryRuleRuleOrOrTagArgs{...} } +type GetCostCategoryRuleRuleOrOrTagArrayInput interface { pulumi.Input - ToGetCostCategoryRuleRuleOrDimensionArrayOutput() GetCostCategoryRuleRuleOrDimensionArrayOutput - ToGetCostCategoryRuleRuleOrDimensionArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrDimensionArrayOutput + ToGetCostCategoryRuleRuleOrOrTagArrayOutput() GetCostCategoryRuleRuleOrOrTagArrayOutput + ToGetCostCategoryRuleRuleOrOrTagArrayOutputWithContext(context.Context) GetCostCategoryRuleRuleOrOrTagArrayOutput } -type GetCostCategoryRuleRuleOrDimensionArray []GetCostCategoryRuleRuleOrDimensionInput +type GetCostCategoryRuleRuleOrOrTagArray []GetCostCategoryRuleRuleOrOrTagInput -func (GetCostCategoryRuleRuleOrDimensionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrOrTag)(nil)).Elem() } -func (i GetCostCategoryRuleRuleOrDimensionArray) ToGetCostCategoryRuleRuleOrDimensionArrayOutput() GetCostCategoryRuleRuleOrDimensionArrayOutput { - return i.ToGetCostCategoryRuleRuleOrDimensionArrayOutputWithContext(context.Background()) +func (i GetCostCategoryRuleRuleOrOrTagArray) ToGetCostCategoryRuleRuleOrOrTagArrayOutput() GetCostCategoryRuleRuleOrOrTagArrayOutput { + return i.ToGetCostCategoryRuleRuleOrOrTagArrayOutputWithContext(context.Background()) } -func (i GetCostCategoryRuleRuleOrDimensionArray) ToGetCostCategoryRuleRuleOrDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrDimensionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrDimensionArrayOutput) +func (i GetCostCategoryRuleRuleOrOrTagArray) ToGetCostCategoryRuleRuleOrOrTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCostCategoryRuleRuleOrOrTagArrayOutput) } -type GetCostCategoryRuleRuleOrDimensionOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrOrTagOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleOrDimensionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCostCategoryRuleRuleOrDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCostCategoryRuleRuleOrOrTag)(nil)).Elem() } -func (o GetCostCategoryRuleRuleOrDimensionOutput) ToGetCostCategoryRuleRuleOrDimensionOutput() GetCostCategoryRuleRuleOrDimensionOutput { +func (o GetCostCategoryRuleRuleOrOrTagOutput) ToGetCostCategoryRuleRuleOrOrTagOutput() GetCostCategoryRuleRuleOrOrTagOutput { return o } -func (o GetCostCategoryRuleRuleOrDimensionOutput) ToGetCostCategoryRuleRuleOrDimensionOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrDimensionOutput { +func (o GetCostCategoryRuleRuleOrOrTagOutput) ToGetCostCategoryRuleRuleOrOrTagOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrTagOutput { return o } // Key for the tag. -func (o GetCostCategoryRuleRuleOrDimensionOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleOrDimension) string { return v.Key }).(pulumi.StringOutput) +func (o GetCostCategoryRuleRuleOrOrTagOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrOrTag) string { return v.Key }).(pulumi.StringOutput) } // Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. -func (o GetCostCategoryRuleRuleOrDimensionOutput) MatchOptions() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleOrDimension) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrOrTagOutput) MatchOptions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrOrTag) []string { return v.MatchOptions }).(pulumi.StringArrayOutput) } // Parameter values. -func (o GetCostCategoryRuleRuleOrDimensionOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCostCategoryRuleRuleOrDimension) []string { return v.Values }).(pulumi.StringArrayOutput) +func (o GetCostCategoryRuleRuleOrOrTagOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCostCategoryRuleRuleOrOrTag) []string { return v.Values }).(pulumi.StringArrayOutput) } -type GetCostCategoryRuleRuleOrDimensionArrayOutput struct{ *pulumi.OutputState } +type GetCostCategoryRuleRuleOrOrTagArrayOutput struct{ *pulumi.OutputState } -func (GetCostCategoryRuleRuleOrDimensionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrDimension)(nil)).Elem() +func (GetCostCategoryRuleRuleOrOrTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCostCategoryRuleRuleOrOrTag)(nil)).Elem() } -func (o GetCostCategoryRuleRuleOrDimensionArrayOutput) ToGetCostCategoryRuleRuleOrDimensionArrayOutput() GetCostCategoryRuleRuleOrDimensionArrayOutput { +func (o GetCostCategoryRuleRuleOrOrTagArrayOutput) ToGetCostCategoryRuleRuleOrOrTagArrayOutput() GetCostCategoryRuleRuleOrOrTagArrayOutput { return o } -func (o GetCostCategoryRuleRuleOrDimensionArrayOutput) ToGetCostCategoryRuleRuleOrDimensionArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrDimensionArrayOutput { +func (o GetCostCategoryRuleRuleOrOrTagArrayOutput) ToGetCostCategoryRuleRuleOrOrTagArrayOutputWithContext(ctx context.Context) GetCostCategoryRuleRuleOrOrTagArrayOutput { return o } -func (o GetCostCategoryRuleRuleOrDimensionArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrDimensionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrDimension { - return vs[0].([]GetCostCategoryRuleRuleOrDimension)[vs[1].(int)] - }).(GetCostCategoryRuleRuleOrDimensionOutput) +func (o GetCostCategoryRuleRuleOrOrTagArrayOutput) Index(i pulumi.IntInput) GetCostCategoryRuleRuleOrOrTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCostCategoryRuleRuleOrOrTag { + return vs[0].([]GetCostCategoryRuleRuleOrOrTag)[vs[1].(int)] + }).(GetCostCategoryRuleRuleOrOrTagOutput) } type GetCostCategoryRuleRuleOrTag struct { @@ -11299,10 +21497,34 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRulePtrInput)(nil)).Elem(), CostCategoryRuleRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndInput)(nil)).Elem(), CostCategoryRuleRuleAndArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndArrayInput)(nil)).Elem(), CostCategoryRuleRuleAndArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndAndInput)(nil)).Elem(), CostCategoryRuleRuleAndAndArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndAndArrayInput)(nil)).Elem(), CostCategoryRuleRuleAndAndArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndAndCostCategoryInput)(nil)).Elem(), CostCategoryRuleRuleAndAndCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndAndCostCategoryPtrInput)(nil)).Elem(), CostCategoryRuleRuleAndAndCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndAndDimensionInput)(nil)).Elem(), CostCategoryRuleRuleAndAndDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndAndDimensionPtrInput)(nil)).Elem(), CostCategoryRuleRuleAndAndDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndAndTagsInput)(nil)).Elem(), CostCategoryRuleRuleAndAndTagsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndAndTagsPtrInput)(nil)).Elem(), CostCategoryRuleRuleAndAndTagsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndCostCategoryInput)(nil)).Elem(), CostCategoryRuleRuleAndCostCategoryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndCostCategoryPtrInput)(nil)).Elem(), CostCategoryRuleRuleAndCostCategoryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndDimensionInput)(nil)).Elem(), CostCategoryRuleRuleAndDimensionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndDimensionPtrInput)(nil)).Elem(), CostCategoryRuleRuleAndDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndNotInput)(nil)).Elem(), CostCategoryRuleRuleAndNotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndNotPtrInput)(nil)).Elem(), CostCategoryRuleRuleAndNotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndNotCostCategoryInput)(nil)).Elem(), CostCategoryRuleRuleAndNotCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndNotCostCategoryPtrInput)(nil)).Elem(), CostCategoryRuleRuleAndNotCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndNotDimensionInput)(nil)).Elem(), CostCategoryRuleRuleAndNotDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndNotDimensionPtrInput)(nil)).Elem(), CostCategoryRuleRuleAndNotDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndNotTagsInput)(nil)).Elem(), CostCategoryRuleRuleAndNotTagsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndNotTagsPtrInput)(nil)).Elem(), CostCategoryRuleRuleAndNotTagsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndOrInput)(nil)).Elem(), CostCategoryRuleRuleAndOrArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndOrArrayInput)(nil)).Elem(), CostCategoryRuleRuleAndOrArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndOrCostCategoryInput)(nil)).Elem(), CostCategoryRuleRuleAndOrCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndOrCostCategoryPtrInput)(nil)).Elem(), CostCategoryRuleRuleAndOrCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndOrDimensionInput)(nil)).Elem(), CostCategoryRuleRuleAndOrDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndOrDimensionPtrInput)(nil)).Elem(), CostCategoryRuleRuleAndOrDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndOrTagsInput)(nil)).Elem(), CostCategoryRuleRuleAndOrTagsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndOrTagsPtrInput)(nil)).Elem(), CostCategoryRuleRuleAndOrTagsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndTagsInput)(nil)).Elem(), CostCategoryRuleRuleAndTagsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleAndTagsPtrInput)(nil)).Elem(), CostCategoryRuleRuleAndTagsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleCostCategoryInput)(nil)).Elem(), CostCategoryRuleRuleCostCategoryArgs{}) @@ -11311,18 +21533,66 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleDimensionPtrInput)(nil)).Elem(), CostCategoryRuleRuleDimensionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotInput)(nil)).Elem(), CostCategoryRuleRuleNotArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotPtrInput)(nil)).Elem(), CostCategoryRuleRuleNotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotAndInput)(nil)).Elem(), CostCategoryRuleRuleNotAndArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotAndArrayInput)(nil)).Elem(), CostCategoryRuleRuleNotAndArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotAndCostCategoryInput)(nil)).Elem(), CostCategoryRuleRuleNotAndCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotAndCostCategoryPtrInput)(nil)).Elem(), CostCategoryRuleRuleNotAndCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotAndDimensionInput)(nil)).Elem(), CostCategoryRuleRuleNotAndDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotAndDimensionPtrInput)(nil)).Elem(), CostCategoryRuleRuleNotAndDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotAndTagsInput)(nil)).Elem(), CostCategoryRuleRuleNotAndTagsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotAndTagsPtrInput)(nil)).Elem(), CostCategoryRuleRuleNotAndTagsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotCostCategoryInput)(nil)).Elem(), CostCategoryRuleRuleNotCostCategoryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotCostCategoryPtrInput)(nil)).Elem(), CostCategoryRuleRuleNotCostCategoryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotDimensionInput)(nil)).Elem(), CostCategoryRuleRuleNotDimensionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotDimensionPtrInput)(nil)).Elem(), CostCategoryRuleRuleNotDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotNotInput)(nil)).Elem(), CostCategoryRuleRuleNotNotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotNotPtrInput)(nil)).Elem(), CostCategoryRuleRuleNotNotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotNotCostCategoryInput)(nil)).Elem(), CostCategoryRuleRuleNotNotCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotNotCostCategoryPtrInput)(nil)).Elem(), CostCategoryRuleRuleNotNotCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotNotDimensionInput)(nil)).Elem(), CostCategoryRuleRuleNotNotDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotNotDimensionPtrInput)(nil)).Elem(), CostCategoryRuleRuleNotNotDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotNotTagsInput)(nil)).Elem(), CostCategoryRuleRuleNotNotTagsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotNotTagsPtrInput)(nil)).Elem(), CostCategoryRuleRuleNotNotTagsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotOrInput)(nil)).Elem(), CostCategoryRuleRuleNotOrArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotOrArrayInput)(nil)).Elem(), CostCategoryRuleRuleNotOrArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotOrCostCategoryInput)(nil)).Elem(), CostCategoryRuleRuleNotOrCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotOrCostCategoryPtrInput)(nil)).Elem(), CostCategoryRuleRuleNotOrCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotOrDimensionInput)(nil)).Elem(), CostCategoryRuleRuleNotOrDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotOrDimensionPtrInput)(nil)).Elem(), CostCategoryRuleRuleNotOrDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotOrTagsInput)(nil)).Elem(), CostCategoryRuleRuleNotOrTagsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotOrTagsPtrInput)(nil)).Elem(), CostCategoryRuleRuleNotOrTagsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotTagsInput)(nil)).Elem(), CostCategoryRuleRuleNotTagsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleNotTagsPtrInput)(nil)).Elem(), CostCategoryRuleRuleNotTagsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrInput)(nil)).Elem(), CostCategoryRuleRuleOrArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrArrayInput)(nil)).Elem(), CostCategoryRuleRuleOrArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrAndInput)(nil)).Elem(), CostCategoryRuleRuleOrAndArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrAndArrayInput)(nil)).Elem(), CostCategoryRuleRuleOrAndArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrAndCostCategoryInput)(nil)).Elem(), CostCategoryRuleRuleOrAndCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrAndCostCategoryPtrInput)(nil)).Elem(), CostCategoryRuleRuleOrAndCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrAndDimensionInput)(nil)).Elem(), CostCategoryRuleRuleOrAndDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrAndDimensionPtrInput)(nil)).Elem(), CostCategoryRuleRuleOrAndDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrAndTagsInput)(nil)).Elem(), CostCategoryRuleRuleOrAndTagsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrAndTagsPtrInput)(nil)).Elem(), CostCategoryRuleRuleOrAndTagsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrCostCategoryInput)(nil)).Elem(), CostCategoryRuleRuleOrCostCategoryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrCostCategoryPtrInput)(nil)).Elem(), CostCategoryRuleRuleOrCostCategoryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrDimensionInput)(nil)).Elem(), CostCategoryRuleRuleOrDimensionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrDimensionPtrInput)(nil)).Elem(), CostCategoryRuleRuleOrDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrNotInput)(nil)).Elem(), CostCategoryRuleRuleOrNotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrNotPtrInput)(nil)).Elem(), CostCategoryRuleRuleOrNotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrNotCostCategoryInput)(nil)).Elem(), CostCategoryRuleRuleOrNotCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrNotCostCategoryPtrInput)(nil)).Elem(), CostCategoryRuleRuleOrNotCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrNotDimensionInput)(nil)).Elem(), CostCategoryRuleRuleOrNotDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrNotDimensionPtrInput)(nil)).Elem(), CostCategoryRuleRuleOrNotDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrNotTagsInput)(nil)).Elem(), CostCategoryRuleRuleOrNotTagsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrNotTagsPtrInput)(nil)).Elem(), CostCategoryRuleRuleOrNotTagsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrOrInput)(nil)).Elem(), CostCategoryRuleRuleOrOrArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrOrArrayInput)(nil)).Elem(), CostCategoryRuleRuleOrOrArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrOrCostCategoryInput)(nil)).Elem(), CostCategoryRuleRuleOrOrCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrOrCostCategoryPtrInput)(nil)).Elem(), CostCategoryRuleRuleOrOrCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrOrDimensionInput)(nil)).Elem(), CostCategoryRuleRuleOrOrDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrOrDimensionPtrInput)(nil)).Elem(), CostCategoryRuleRuleOrOrDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrOrTagsInput)(nil)).Elem(), CostCategoryRuleRuleOrOrTagsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrOrTagsPtrInput)(nil)).Elem(), CostCategoryRuleRuleOrOrTagsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrTagsInput)(nil)).Elem(), CostCategoryRuleRuleOrTagsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleOrTagsPtrInput)(nil)).Elem(), CostCategoryRuleRuleOrTagsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CostCategoryRuleRuleTagsInput)(nil)).Elem(), CostCategoryRuleRuleTagsArgs{}) @@ -11339,10 +21609,34 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndInput)(nil)).Elem(), GetCostCategoryRuleRuleAndArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndAndInput)(nil)).Elem(), GetCostCategoryRuleRuleAndAndArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndAndArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndAndArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndAndCostCategoryInput)(nil)).Elem(), GetCostCategoryRuleRuleAndAndCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndAndCostCategoryArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndAndCostCategoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndAndDimensionInput)(nil)).Elem(), GetCostCategoryRuleRuleAndAndDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndAndDimensionArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndAndDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndAndTagInput)(nil)).Elem(), GetCostCategoryRuleRuleAndAndTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndAndTagArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndAndTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndCostCategoryInput)(nil)).Elem(), GetCostCategoryRuleRuleAndCostCategoryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndCostCategoryArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndCostCategoryArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndDimensionInput)(nil)).Elem(), GetCostCategoryRuleRuleAndDimensionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndDimensionArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndNotInput)(nil)).Elem(), GetCostCategoryRuleRuleAndNotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndNotArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndNotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndNotCostCategoryInput)(nil)).Elem(), GetCostCategoryRuleRuleAndNotCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndNotCostCategoryArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndNotCostCategoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndNotDimensionInput)(nil)).Elem(), GetCostCategoryRuleRuleAndNotDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndNotDimensionArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndNotDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndNotTagInput)(nil)).Elem(), GetCostCategoryRuleRuleAndNotTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndNotTagArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndNotTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndOrInput)(nil)).Elem(), GetCostCategoryRuleRuleAndOrArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndOrArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndOrArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndOrCostCategoryInput)(nil)).Elem(), GetCostCategoryRuleRuleAndOrCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndOrCostCategoryArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndOrCostCategoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndOrDimensionInput)(nil)).Elem(), GetCostCategoryRuleRuleAndOrDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndOrDimensionArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndOrDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndOrTagInput)(nil)).Elem(), GetCostCategoryRuleRuleAndOrTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndOrTagArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndOrTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndTagInput)(nil)).Elem(), GetCostCategoryRuleRuleAndTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleAndTagArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleAndTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleCostCategoryInput)(nil)).Elem(), GetCostCategoryRuleRuleCostCategoryArgs{}) @@ -11351,18 +21645,66 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleDimensionArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleDimensionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotInput)(nil)).Elem(), GetCostCategoryRuleRuleNotArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotAndInput)(nil)).Elem(), GetCostCategoryRuleRuleNotAndArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotAndArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotAndArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotAndCostCategoryInput)(nil)).Elem(), GetCostCategoryRuleRuleNotAndCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotAndCostCategoryArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotAndCostCategoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotAndDimensionInput)(nil)).Elem(), GetCostCategoryRuleRuleNotAndDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotAndDimensionArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotAndDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotAndTagInput)(nil)).Elem(), GetCostCategoryRuleRuleNotAndTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotAndTagArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotAndTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotCostCategoryInput)(nil)).Elem(), GetCostCategoryRuleRuleNotCostCategoryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotCostCategoryArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotCostCategoryArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotDimensionInput)(nil)).Elem(), GetCostCategoryRuleRuleNotDimensionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotDimensionArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotNotInput)(nil)).Elem(), GetCostCategoryRuleRuleNotNotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotNotArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotNotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotNotCostCategoryInput)(nil)).Elem(), GetCostCategoryRuleRuleNotNotCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotNotCostCategoryArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotNotCostCategoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotNotDimensionInput)(nil)).Elem(), GetCostCategoryRuleRuleNotNotDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotNotDimensionArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotNotDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotNotTagInput)(nil)).Elem(), GetCostCategoryRuleRuleNotNotTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotNotTagArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotNotTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotOrInput)(nil)).Elem(), GetCostCategoryRuleRuleNotOrArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotOrArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotOrArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotOrCostCategoryInput)(nil)).Elem(), GetCostCategoryRuleRuleNotOrCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotOrCostCategoryArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotOrCostCategoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotOrDimensionInput)(nil)).Elem(), GetCostCategoryRuleRuleNotOrDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotOrDimensionArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotOrDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotOrTagInput)(nil)).Elem(), GetCostCategoryRuleRuleNotOrTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotOrTagArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotOrTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotTagInput)(nil)).Elem(), GetCostCategoryRuleRuleNotTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleNotTagArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleNotTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrInput)(nil)).Elem(), GetCostCategoryRuleRuleOrArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrAndInput)(nil)).Elem(), GetCostCategoryRuleRuleOrAndArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrAndArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrAndArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrAndCostCategoryInput)(nil)).Elem(), GetCostCategoryRuleRuleOrAndCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrAndCostCategoryArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrAndCostCategoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrAndDimensionInput)(nil)).Elem(), GetCostCategoryRuleRuleOrAndDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrAndDimensionArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrAndDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrAndTagInput)(nil)).Elem(), GetCostCategoryRuleRuleOrAndTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrAndTagArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrAndTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrCostCategoryInput)(nil)).Elem(), GetCostCategoryRuleRuleOrCostCategoryArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrCostCategoryArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrCostCategoryArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrDimensionInput)(nil)).Elem(), GetCostCategoryRuleRuleOrDimensionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrDimensionArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrNotInput)(nil)).Elem(), GetCostCategoryRuleRuleOrNotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrNotArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrNotArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrNotCostCategoryInput)(nil)).Elem(), GetCostCategoryRuleRuleOrNotCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrNotCostCategoryArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrNotCostCategoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrNotDimensionInput)(nil)).Elem(), GetCostCategoryRuleRuleOrNotDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrNotDimensionArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrNotDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrNotTagInput)(nil)).Elem(), GetCostCategoryRuleRuleOrNotTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrNotTagArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrNotTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrOrInput)(nil)).Elem(), GetCostCategoryRuleRuleOrOrArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrOrArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrOrArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrOrCostCategoryInput)(nil)).Elem(), GetCostCategoryRuleRuleOrOrCostCategoryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrOrCostCategoryArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrOrCostCategoryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrOrDimensionInput)(nil)).Elem(), GetCostCategoryRuleRuleOrOrDimensionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrOrDimensionArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrOrDimensionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrOrTagInput)(nil)).Elem(), GetCostCategoryRuleRuleOrOrTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrOrTagArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrOrTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrTagInput)(nil)).Elem(), GetCostCategoryRuleRuleOrTagArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleOrTagArrayInput)(nil)).Elem(), GetCostCategoryRuleRuleOrTagArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCostCategoryRuleRuleTagInput)(nil)).Elem(), GetCostCategoryRuleRuleTagArgs{}) @@ -11448,10 +21790,34 @@ func init() { pulumi.RegisterOutputType(CostCategoryRuleRulePtrOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleAndOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleAndArrayOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndAndOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndAndArrayOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndAndCostCategoryOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndAndCostCategoryPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndAndDimensionOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndAndDimensionPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndAndTagsOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndAndTagsPtrOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleAndCostCategoryOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleAndCostCategoryPtrOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleAndDimensionOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleAndDimensionPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndNotOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndNotPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndNotCostCategoryOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndNotCostCategoryPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndNotDimensionOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndNotDimensionPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndNotTagsOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndNotTagsPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndOrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndOrArrayOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndOrCostCategoryOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndOrCostCategoryPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndOrDimensionOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndOrDimensionPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndOrTagsOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleAndOrTagsPtrOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleAndTagsOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleAndTagsPtrOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleCostCategoryOutput{}) @@ -11460,18 +21826,66 @@ func init() { pulumi.RegisterOutputType(CostCategoryRuleRuleDimensionPtrOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleNotOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleNotPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotAndOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotAndArrayOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotAndCostCategoryOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotAndCostCategoryPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotAndDimensionOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotAndDimensionPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotAndTagsOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotAndTagsPtrOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleNotCostCategoryOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleNotCostCategoryPtrOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleNotDimensionOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleNotDimensionPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotNotOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotNotPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotNotCostCategoryOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotNotCostCategoryPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotNotDimensionOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotNotDimensionPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotNotTagsOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotNotTagsPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotOrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotOrArrayOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotOrCostCategoryOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotOrCostCategoryPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotOrDimensionOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotOrDimensionPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotOrTagsOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleNotOrTagsPtrOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleNotTagsOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleNotTagsPtrOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleOrOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleOrArrayOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrAndOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrAndArrayOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrAndCostCategoryOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrAndCostCategoryPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrAndDimensionOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrAndDimensionPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrAndTagsOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrAndTagsPtrOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleOrCostCategoryOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleOrCostCategoryPtrOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleOrDimensionOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleOrDimensionPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrNotOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrNotPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrNotCostCategoryOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrNotCostCategoryPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrNotDimensionOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrNotDimensionPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrNotTagsOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrNotTagsPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrOrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrOrArrayOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrOrCostCategoryOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrOrCostCategoryPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrOrDimensionOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrOrDimensionPtrOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrOrTagsOutput{}) + pulumi.RegisterOutputType(CostCategoryRuleRuleOrOrTagsPtrOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleOrTagsOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleOrTagsPtrOutput{}) pulumi.RegisterOutputType(CostCategoryRuleRuleTagsOutput{}) @@ -11488,10 +21902,34 @@ func init() { pulumi.RegisterOutputType(GetCostCategoryRuleRuleArrayOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndAndOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndAndArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndAndCostCategoryOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndAndCostCategoryArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndAndDimensionOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndAndDimensionArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndAndTagOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndAndTagArrayOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndCostCategoryOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndCostCategoryArrayOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndDimensionOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndDimensionArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndNotOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndNotArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndNotCostCategoryOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndNotCostCategoryArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndNotDimensionOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndNotDimensionArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndNotTagOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndNotTagArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndOrOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndOrArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndOrCostCategoryOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndOrCostCategoryArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndOrDimensionOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndOrDimensionArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndOrTagOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndOrTagArrayOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndTagOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleAndTagArrayOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleCostCategoryOutput{}) @@ -11500,18 +21938,66 @@ func init() { pulumi.RegisterOutputType(GetCostCategoryRuleRuleDimensionArrayOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotAndOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotAndArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotAndCostCategoryOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotAndCostCategoryArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotAndDimensionOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotAndDimensionArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotAndTagOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotAndTagArrayOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotCostCategoryOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotCostCategoryArrayOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotDimensionOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotDimensionArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotNotOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotNotArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotNotCostCategoryOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotNotCostCategoryArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotNotDimensionOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotNotDimensionArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotNotTagOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotNotTagArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotOrOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotOrArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotOrCostCategoryOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotOrCostCategoryArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotOrDimensionOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotOrDimensionArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotOrTagOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotOrTagArrayOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotTagOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleNotTagArrayOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrAndOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrAndArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrAndCostCategoryOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrAndCostCategoryArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrAndDimensionOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrAndDimensionArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrAndTagOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrAndTagArrayOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrCostCategoryOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrCostCategoryArrayOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrDimensionOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrDimensionArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrNotOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrNotArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrNotCostCategoryOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrNotCostCategoryArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrNotDimensionOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrNotDimensionArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrNotTagOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrNotTagArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrOrOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrOrArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrOrCostCategoryOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrOrCostCategoryArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrOrDimensionOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrOrDimensionArrayOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrOrTagOutput{}) + pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrOrTagArrayOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrTagOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleOrTagArrayOutput{}) pulumi.RegisterOutputType(GetCostCategoryRuleRuleTagOutput{}) diff --git a/sdk/go/aws/ec2/eip.go b/sdk/go/aws/ec2/eip.go index 7d92f626889..ff396f34fde 100644 --- a/sdk/go/aws/ec2/eip.go +++ b/sdk/go/aws/ec2/eip.go @@ -195,6 +195,7 @@ type Eip struct { Address pulumi.StringPtrOutput `pulumi:"address"` // ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC. AllocationId pulumi.StringOutput `pulumi:"allocationId"` + Arn pulumi.StringOutput `pulumi:"arn"` // User-specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address. AssociateWithPrivateIp pulumi.StringPtrOutput `pulumi:"associateWithPrivateIp"` // ID representing the association of the address with an instance in a VPC. @@ -278,6 +279,7 @@ type eipState struct { Address *string `pulumi:"address"` // ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC. AllocationId *string `pulumi:"allocationId"` + Arn *string `pulumi:"arn"` // User-specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address. AssociateWithPrivateIp *string `pulumi:"associateWithPrivateIp"` // ID representing the association of the address with an instance in a VPC. @@ -332,6 +334,7 @@ type EipState struct { Address pulumi.StringPtrInput // ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC. AllocationId pulumi.StringPtrInput + Arn pulumi.StringPtrInput // User-specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address. AssociateWithPrivateIp pulumi.StringPtrInput // ID representing the association of the address with an instance in a VPC. @@ -547,6 +550,10 @@ func (o EipOutput) AllocationId() pulumi.StringOutput { return o.ApplyT(func(v *Eip) pulumi.StringOutput { return v.AllocationId }).(pulumi.StringOutput) } +func (o EipOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Eip) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + // User-specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address. func (o EipOutput) AssociateWithPrivateIp() pulumi.StringPtrOutput { return o.ApplyT(func(v *Eip) pulumi.StringPtrOutput { return v.AssociateWithPrivateIp }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/ec2/getElasticIp.go b/sdk/go/aws/ec2/getElasticIp.go index fc31a3331d2..62cbadce7a3 100644 --- a/sdk/go/aws/ec2/getElasticIp.go +++ b/sdk/go/aws/ec2/getElasticIp.go @@ -151,6 +151,7 @@ type GetElasticIpArgs struct { // A collection of values returned by getElasticIp. type GetElasticIpResult struct { + Arn string `pulumi:"arn"` // ID representing the association of the address with an instance in a VPC. AssociationId string `pulumi:"associationId"` // Carrier IP address. @@ -230,6 +231,10 @@ func (o GetElasticIpResultOutput) ToGetElasticIpResultOutputWithContext(ctx cont return o } +func (o GetElasticIpResultOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v GetElasticIpResult) string { return v.Arn }).(pulumi.StringOutput) +} + // ID representing the association of the address with an instance in a VPC. func (o GetElasticIpResultOutput) AssociationId() pulumi.StringOutput { return o.ApplyT(func(v GetElasticIpResult) string { return v.AssociationId }).(pulumi.StringOutput) diff --git a/sdk/go/aws/elasticache/replicationGroup.go b/sdk/go/aws/elasticache/replicationGroup.go index a585eda1ee5..d25cd829f02 100644 --- a/sdk/go/aws/elasticache/replicationGroup.go +++ b/sdk/go/aws/elasticache/replicationGroup.go @@ -415,7 +415,14 @@ type ReplicationGroup struct { // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // Whether to enable encryption in transit. + // Changing this argument with an `engineVersion` < `7.0.5` will force a replacement. + // Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. TransitEncryptionEnabled pulumi.BoolOutput `pulumi:"transitEncryptionEnabled"` + // A setting that enables clients to migrate to in-transit encryption with no downtime. + // Valid values are `preferred` and `required`. + // When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + // See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + TransitEncryptionMode pulumi.StringOutput `pulumi:"transitEncryptionMode"` // User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. UserGroupIds pulumi.StringArrayOutput `pulumi:"userGroupIds"` } @@ -558,7 +565,14 @@ type replicationGroupState struct { // Deprecated: Please use `tags` instead. TagsAll map[string]string `pulumi:"tagsAll"` // Whether to enable encryption in transit. + // Changing this argument with an `engineVersion` < `7.0.5` will force a replacement. + // Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. TransitEncryptionEnabled *bool `pulumi:"transitEncryptionEnabled"` + // A setting that enables clients to migrate to in-transit encryption with no downtime. + // Valid values are `preferred` and `required`. + // When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + // See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + TransitEncryptionMode *string `pulumi:"transitEncryptionMode"` // User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. UserGroupIds []string `pulumi:"userGroupIds"` } @@ -665,7 +679,14 @@ type ReplicationGroupState struct { // Deprecated: Please use `tags` instead. TagsAll pulumi.StringMapInput // Whether to enable encryption in transit. + // Changing this argument with an `engineVersion` < `7.0.5` will force a replacement. + // Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. TransitEncryptionEnabled pulumi.BoolPtrInput + // A setting that enables clients to migrate to in-transit encryption with no downtime. + // Valid values are `preferred` and `required`. + // When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + // See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + TransitEncryptionMode pulumi.StringPtrInput // User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. UserGroupIds pulumi.StringArrayInput } @@ -758,7 +779,14 @@ type replicationGroupArgs struct { // Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. 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"` // Whether to enable encryption in transit. + // Changing this argument with an `engineVersion` < `7.0.5` will force a replacement. + // Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. TransitEncryptionEnabled *bool `pulumi:"transitEncryptionEnabled"` + // A setting that enables clients to migrate to in-transit encryption with no downtime. + // Valid values are `preferred` and `required`. + // When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + // See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + TransitEncryptionMode *string `pulumi:"transitEncryptionMode"` // User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. UserGroupIds []string `pulumi:"userGroupIds"` } @@ -848,7 +876,14 @@ type ReplicationGroupArgs struct { // Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // Whether to enable encryption in transit. + // Changing this argument with an `engineVersion` < `7.0.5` will force a replacement. + // Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. TransitEncryptionEnabled pulumi.BoolPtrInput + // A setting that enables clients to migrate to in-transit encryption with no downtime. + // Valid values are `preferred` and `required`. + // When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + // See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + TransitEncryptionMode pulumi.StringPtrInput // User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. UserGroupIds pulumi.StringArrayInput } @@ -1172,10 +1207,20 @@ func (o ReplicationGroupOutput) TagsAll() pulumi.StringMapOutput { } // Whether to enable encryption in transit. +// Changing this argument with an `engineVersion` < `7.0.5` will force a replacement. +// Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. func (o ReplicationGroupOutput) TransitEncryptionEnabled() pulumi.BoolOutput { return o.ApplyT(func(v *ReplicationGroup) pulumi.BoolOutput { return v.TransitEncryptionEnabled }).(pulumi.BoolOutput) } +// A setting that enables clients to migrate to in-transit encryption with no downtime. +// Valid values are `preferred` and `required`. +// When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. +// See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. +func (o ReplicationGroupOutput) TransitEncryptionMode() pulumi.StringOutput { + return o.ApplyT(func(v *ReplicationGroup) pulumi.StringOutput { return v.TransitEncryptionMode }).(pulumi.StringOutput) +} + // User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. func (o ReplicationGroupOutput) UserGroupIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *ReplicationGroup) pulumi.StringArrayOutput { return v.UserGroupIds }).(pulumi.StringArrayOutput) diff --git a/sdk/go/aws/globalaccelerator/crossAccountAttachment.go b/sdk/go/aws/globalaccelerator/crossAccountAttachment.go new file mode 100644 index 00000000000..6970ed921f6 --- /dev/null +++ b/sdk/go/aws/globalaccelerator/crossAccountAttachment.go @@ -0,0 +1,395 @@ +// 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 globalaccelerator + +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 Global Accelerator Cross Account Attachment. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := globalaccelerator.NewCrossAccountAttachment(ctx, "example", &globalaccelerator.CrossAccountAttachmentArgs{ +// Name: pulumi.String("example-cross-account-attachment"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ### Usage with Optional Arguments +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/globalaccelerator" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := globalaccelerator.NewCrossAccountAttachment(ctx, "example", &globalaccelerator.CrossAccountAttachmentArgs{ +// Name: pulumi.String("example-cross-account-attachment"), +// Principals: pulumi.StringArray{ +// pulumi.String("123456789012"), +// }, +// Resources: globalaccelerator.CrossAccountAttachmentResourceArray{ +// &globalaccelerator.CrossAccountAttachmentResourceArgs{ +// EndpointId: pulumi.String("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188"), +// Region: pulumi.String("us-west-2"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import Global Accelerator Cross Account Attachment using the `example_id_arg`. For example: +// +// ```sh +// $ pulumi import aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment example arn:aws:globalaccelerator::012345678910:attachment/01234567-abcd-8910-efgh-123456789012 +// ``` +type CrossAccountAttachment struct { + pulumi.CustomResourceState + + // ARN of the Cross Account Attachment. + Arn pulumi.StringOutput `pulumi:"arn"` + // Creation Time when the Cross Account Attachment. + CreatedTime pulumi.StringOutput `pulumi:"createdTime"` + // Last modified time of the Cross Account Attachment. + LastModifiedTime pulumi.StringOutput `pulumi:"lastModifiedTime"` + // Name of the Cross Account Attachment. + // + // The following arguments are optional: + Name pulumi.StringOutput `pulumi:"name"` + // List of AWS account IDs that are allowed to associate resources with the accelerator. + Principals pulumi.StringArrayOutput `pulumi:"principals"` + // List of resources to be associated with the accelerator. + Resources CrossAccountAttachmentResourceArrayOutput `pulumi:"resources"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` +} + +// NewCrossAccountAttachment registers a new resource with the given unique name, arguments, and options. +func NewCrossAccountAttachment(ctx *pulumi.Context, + name string, args *CrossAccountAttachmentArgs, opts ...pulumi.ResourceOption) (*CrossAccountAttachment, error) { + if args == nil { + args = &CrossAccountAttachmentArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource CrossAccountAttachment + err := ctx.RegisterResource("aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCrossAccountAttachment gets an existing CrossAccountAttachment 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 GetCrossAccountAttachment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CrossAccountAttachmentState, opts ...pulumi.ResourceOption) (*CrossAccountAttachment, error) { + var resource CrossAccountAttachment + err := ctx.ReadResource("aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CrossAccountAttachment resources. +type crossAccountAttachmentState struct { + // ARN of the Cross Account Attachment. + Arn *string `pulumi:"arn"` + // Creation Time when the Cross Account Attachment. + CreatedTime *string `pulumi:"createdTime"` + // Last modified time of the Cross Account Attachment. + LastModifiedTime *string `pulumi:"lastModifiedTime"` + // Name of the Cross Account Attachment. + // + // The following arguments are optional: + Name *string `pulumi:"name"` + // List of AWS account IDs that are allowed to associate resources with the accelerator. + Principals []string `pulumi:"principals"` + // List of resources to be associated with the accelerator. + Resources []CrossAccountAttachmentResource `pulumi:"resources"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll map[string]string `pulumi:"tagsAll"` +} + +type CrossAccountAttachmentState struct { + // ARN of the Cross Account Attachment. + Arn pulumi.StringPtrInput + // Creation Time when the Cross Account Attachment. + CreatedTime pulumi.StringPtrInput + // Last modified time of the Cross Account Attachment. + LastModifiedTime pulumi.StringPtrInput + // Name of the Cross Account Attachment. + // + // The following arguments are optional: + Name pulumi.StringPtrInput + // List of AWS account IDs that are allowed to associate resources with the accelerator. + Principals pulumi.StringArrayInput + // List of resources to be associated with the accelerator. + Resources CrossAccountAttachmentResourceArrayInput + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + // + // Deprecated: Please use `tags` instead. + TagsAll pulumi.StringMapInput +} + +func (CrossAccountAttachmentState) ElementType() reflect.Type { + return reflect.TypeOf((*crossAccountAttachmentState)(nil)).Elem() +} + +type crossAccountAttachmentArgs struct { + // Name of the Cross Account Attachment. + // + // The following arguments are optional: + Name *string `pulumi:"name"` + // List of AWS account IDs that are allowed to associate resources with the accelerator. + Principals []string `pulumi:"principals"` + // List of resources to be associated with the accelerator. + Resources []CrossAccountAttachmentResource `pulumi:"resources"` + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a CrossAccountAttachment resource. +type CrossAccountAttachmentArgs struct { + // Name of the Cross Account Attachment. + // + // The following arguments are optional: + Name pulumi.StringPtrInput + // List of AWS account IDs that are allowed to associate resources with the accelerator. + Principals pulumi.StringArrayInput + // List of resources to be associated with the accelerator. + Resources CrossAccountAttachmentResourceArrayInput + // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + Tags pulumi.StringMapInput +} + +func (CrossAccountAttachmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*crossAccountAttachmentArgs)(nil)).Elem() +} + +type CrossAccountAttachmentInput interface { + pulumi.Input + + ToCrossAccountAttachmentOutput() CrossAccountAttachmentOutput + ToCrossAccountAttachmentOutputWithContext(ctx context.Context) CrossAccountAttachmentOutput +} + +func (*CrossAccountAttachment) ElementType() reflect.Type { + return reflect.TypeOf((**CrossAccountAttachment)(nil)).Elem() +} + +func (i *CrossAccountAttachment) ToCrossAccountAttachmentOutput() CrossAccountAttachmentOutput { + return i.ToCrossAccountAttachmentOutputWithContext(context.Background()) +} + +func (i *CrossAccountAttachment) ToCrossAccountAttachmentOutputWithContext(ctx context.Context) CrossAccountAttachmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(CrossAccountAttachmentOutput) +} + +// CrossAccountAttachmentArrayInput is an input type that accepts CrossAccountAttachmentArray and CrossAccountAttachmentArrayOutput values. +// You can construct a concrete instance of `CrossAccountAttachmentArrayInput` via: +// +// CrossAccountAttachmentArray{ CrossAccountAttachmentArgs{...} } +type CrossAccountAttachmentArrayInput interface { + pulumi.Input + + ToCrossAccountAttachmentArrayOutput() CrossAccountAttachmentArrayOutput + ToCrossAccountAttachmentArrayOutputWithContext(context.Context) CrossAccountAttachmentArrayOutput +} + +type CrossAccountAttachmentArray []CrossAccountAttachmentInput + +func (CrossAccountAttachmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CrossAccountAttachment)(nil)).Elem() +} + +func (i CrossAccountAttachmentArray) ToCrossAccountAttachmentArrayOutput() CrossAccountAttachmentArrayOutput { + return i.ToCrossAccountAttachmentArrayOutputWithContext(context.Background()) +} + +func (i CrossAccountAttachmentArray) ToCrossAccountAttachmentArrayOutputWithContext(ctx context.Context) CrossAccountAttachmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CrossAccountAttachmentArrayOutput) +} + +// CrossAccountAttachmentMapInput is an input type that accepts CrossAccountAttachmentMap and CrossAccountAttachmentMapOutput values. +// You can construct a concrete instance of `CrossAccountAttachmentMapInput` via: +// +// CrossAccountAttachmentMap{ "key": CrossAccountAttachmentArgs{...} } +type CrossAccountAttachmentMapInput interface { + pulumi.Input + + ToCrossAccountAttachmentMapOutput() CrossAccountAttachmentMapOutput + ToCrossAccountAttachmentMapOutputWithContext(context.Context) CrossAccountAttachmentMapOutput +} + +type CrossAccountAttachmentMap map[string]CrossAccountAttachmentInput + +func (CrossAccountAttachmentMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CrossAccountAttachment)(nil)).Elem() +} + +func (i CrossAccountAttachmentMap) ToCrossAccountAttachmentMapOutput() CrossAccountAttachmentMapOutput { + return i.ToCrossAccountAttachmentMapOutputWithContext(context.Background()) +} + +func (i CrossAccountAttachmentMap) ToCrossAccountAttachmentMapOutputWithContext(ctx context.Context) CrossAccountAttachmentMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CrossAccountAttachmentMapOutput) +} + +type CrossAccountAttachmentOutput struct{ *pulumi.OutputState } + +func (CrossAccountAttachmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CrossAccountAttachment)(nil)).Elem() +} + +func (o CrossAccountAttachmentOutput) ToCrossAccountAttachmentOutput() CrossAccountAttachmentOutput { + return o +} + +func (o CrossAccountAttachmentOutput) ToCrossAccountAttachmentOutputWithContext(ctx context.Context) CrossAccountAttachmentOutput { + return o +} + +// ARN of the Cross Account Attachment. +func (o CrossAccountAttachmentOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *CrossAccountAttachment) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// Creation Time when the Cross Account Attachment. +func (o CrossAccountAttachmentOutput) CreatedTime() pulumi.StringOutput { + return o.ApplyT(func(v *CrossAccountAttachment) pulumi.StringOutput { return v.CreatedTime }).(pulumi.StringOutput) +} + +// Last modified time of the Cross Account Attachment. +func (o CrossAccountAttachmentOutput) LastModifiedTime() pulumi.StringOutput { + return o.ApplyT(func(v *CrossAccountAttachment) pulumi.StringOutput { return v.LastModifiedTime }).(pulumi.StringOutput) +} + +// Name of the Cross Account Attachment. +// +// The following arguments are optional: +func (o CrossAccountAttachmentOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *CrossAccountAttachment) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// List of AWS account IDs that are allowed to associate resources with the accelerator. +func (o CrossAccountAttachmentOutput) Principals() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CrossAccountAttachment) pulumi.StringArrayOutput { return v.Principals }).(pulumi.StringArrayOutput) +} + +// List of resources to be associated with the accelerator. +func (o CrossAccountAttachmentOutput) Resources() CrossAccountAttachmentResourceArrayOutput { + return o.ApplyT(func(v *CrossAccountAttachment) CrossAccountAttachmentResourceArrayOutput { return v.Resources }).(CrossAccountAttachmentResourceArrayOutput) +} + +// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. +func (o CrossAccountAttachmentOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *CrossAccountAttachment) 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 CrossAccountAttachmentOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *CrossAccountAttachment) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +type CrossAccountAttachmentArrayOutput struct{ *pulumi.OutputState } + +func (CrossAccountAttachmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CrossAccountAttachment)(nil)).Elem() +} + +func (o CrossAccountAttachmentArrayOutput) ToCrossAccountAttachmentArrayOutput() CrossAccountAttachmentArrayOutput { + return o +} + +func (o CrossAccountAttachmentArrayOutput) ToCrossAccountAttachmentArrayOutputWithContext(ctx context.Context) CrossAccountAttachmentArrayOutput { + return o +} + +func (o CrossAccountAttachmentArrayOutput) Index(i pulumi.IntInput) CrossAccountAttachmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CrossAccountAttachment { + return vs[0].([]*CrossAccountAttachment)[vs[1].(int)] + }).(CrossAccountAttachmentOutput) +} + +type CrossAccountAttachmentMapOutput struct{ *pulumi.OutputState } + +func (CrossAccountAttachmentMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CrossAccountAttachment)(nil)).Elem() +} + +func (o CrossAccountAttachmentMapOutput) ToCrossAccountAttachmentMapOutput() CrossAccountAttachmentMapOutput { + return o +} + +func (o CrossAccountAttachmentMapOutput) ToCrossAccountAttachmentMapOutputWithContext(ctx context.Context) CrossAccountAttachmentMapOutput { + return o +} + +func (o CrossAccountAttachmentMapOutput) MapIndex(k pulumi.StringInput) CrossAccountAttachmentOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CrossAccountAttachment { + return vs[0].(map[string]*CrossAccountAttachment)[vs[1].(string)] + }).(CrossAccountAttachmentOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CrossAccountAttachmentInput)(nil)).Elem(), &CrossAccountAttachment{}) + pulumi.RegisterInputType(reflect.TypeOf((*CrossAccountAttachmentArrayInput)(nil)).Elem(), CrossAccountAttachmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CrossAccountAttachmentMapInput)(nil)).Elem(), CrossAccountAttachmentMap{}) + pulumi.RegisterOutputType(CrossAccountAttachmentOutput{}) + pulumi.RegisterOutputType(CrossAccountAttachmentArrayOutput{}) + pulumi.RegisterOutputType(CrossAccountAttachmentMapOutput{}) +} diff --git a/sdk/go/aws/globalaccelerator/init.go b/sdk/go/aws/globalaccelerator/init.go index b65af5095d8..7a3c7234748 100644 --- a/sdk/go/aws/globalaccelerator/init.go +++ b/sdk/go/aws/globalaccelerator/init.go @@ -23,6 +23,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi switch typ { case "aws:globalaccelerator/accelerator:Accelerator": r = &Accelerator{} + case "aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment": + r = &CrossAccountAttachment{} case "aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator": r = &CustomRoutingAccelerator{} case "aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup": @@ -51,6 +53,11 @@ func init() { "globalaccelerator/accelerator", &module{version}, ) + pulumi.RegisterResourceModule( + "aws", + "globalaccelerator/crossAccountAttachment", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "globalaccelerator/customRoutingAccelerator", diff --git a/sdk/go/aws/globalaccelerator/pulumiTypes.go b/sdk/go/aws/globalaccelerator/pulumiTypes.go index 90ead58a13d..638c4cf0644 100644 --- a/sdk/go/aws/globalaccelerator/pulumiTypes.go +++ b/sdk/go/aws/globalaccelerator/pulumiTypes.go @@ -294,6 +294,112 @@ func (o AcceleratorIpSetArrayOutput) Index(i pulumi.IntInput) AcceleratorIpSetOu }).(AcceleratorIpSetOutput) } +type CrossAccountAttachmentResource struct { + // The endpoint ID for the endpoint that is specified as a AWS resource. + EndpointId *string `pulumi:"endpointId"` + // The AWS Region where a shared endpoint resource is located. + Region *string `pulumi:"region"` +} + +// CrossAccountAttachmentResourceInput is an input type that accepts CrossAccountAttachmentResourceArgs and CrossAccountAttachmentResourceOutput values. +// You can construct a concrete instance of `CrossAccountAttachmentResourceInput` via: +// +// CrossAccountAttachmentResourceArgs{...} +type CrossAccountAttachmentResourceInput interface { + pulumi.Input + + ToCrossAccountAttachmentResourceOutput() CrossAccountAttachmentResourceOutput + ToCrossAccountAttachmentResourceOutputWithContext(context.Context) CrossAccountAttachmentResourceOutput +} + +type CrossAccountAttachmentResourceArgs struct { + // The endpoint ID for the endpoint that is specified as a AWS resource. + EndpointId pulumi.StringPtrInput `pulumi:"endpointId"` + // The AWS Region where a shared endpoint resource is located. + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (CrossAccountAttachmentResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CrossAccountAttachmentResource)(nil)).Elem() +} + +func (i CrossAccountAttachmentResourceArgs) ToCrossAccountAttachmentResourceOutput() CrossAccountAttachmentResourceOutput { + return i.ToCrossAccountAttachmentResourceOutputWithContext(context.Background()) +} + +func (i CrossAccountAttachmentResourceArgs) ToCrossAccountAttachmentResourceOutputWithContext(ctx context.Context) CrossAccountAttachmentResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(CrossAccountAttachmentResourceOutput) +} + +// CrossAccountAttachmentResourceArrayInput is an input type that accepts CrossAccountAttachmentResourceArray and CrossAccountAttachmentResourceArrayOutput values. +// You can construct a concrete instance of `CrossAccountAttachmentResourceArrayInput` via: +// +// CrossAccountAttachmentResourceArray{ CrossAccountAttachmentResourceArgs{...} } +type CrossAccountAttachmentResourceArrayInput interface { + pulumi.Input + + ToCrossAccountAttachmentResourceArrayOutput() CrossAccountAttachmentResourceArrayOutput + ToCrossAccountAttachmentResourceArrayOutputWithContext(context.Context) CrossAccountAttachmentResourceArrayOutput +} + +type CrossAccountAttachmentResourceArray []CrossAccountAttachmentResourceInput + +func (CrossAccountAttachmentResourceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CrossAccountAttachmentResource)(nil)).Elem() +} + +func (i CrossAccountAttachmentResourceArray) ToCrossAccountAttachmentResourceArrayOutput() CrossAccountAttachmentResourceArrayOutput { + return i.ToCrossAccountAttachmentResourceArrayOutputWithContext(context.Background()) +} + +func (i CrossAccountAttachmentResourceArray) ToCrossAccountAttachmentResourceArrayOutputWithContext(ctx context.Context) CrossAccountAttachmentResourceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CrossAccountAttachmentResourceArrayOutput) +} + +type CrossAccountAttachmentResourceOutput struct{ *pulumi.OutputState } + +func (CrossAccountAttachmentResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CrossAccountAttachmentResource)(nil)).Elem() +} + +func (o CrossAccountAttachmentResourceOutput) ToCrossAccountAttachmentResourceOutput() CrossAccountAttachmentResourceOutput { + return o +} + +func (o CrossAccountAttachmentResourceOutput) ToCrossAccountAttachmentResourceOutputWithContext(ctx context.Context) CrossAccountAttachmentResourceOutput { + return o +} + +// The endpoint ID for the endpoint that is specified as a AWS resource. +func (o CrossAccountAttachmentResourceOutput) EndpointId() pulumi.StringPtrOutput { + return o.ApplyT(func(v CrossAccountAttachmentResource) *string { return v.EndpointId }).(pulumi.StringPtrOutput) +} + +// The AWS Region where a shared endpoint resource is located. +func (o CrossAccountAttachmentResourceOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v CrossAccountAttachmentResource) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +type CrossAccountAttachmentResourceArrayOutput struct{ *pulumi.OutputState } + +func (CrossAccountAttachmentResourceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CrossAccountAttachmentResource)(nil)).Elem() +} + +func (o CrossAccountAttachmentResourceArrayOutput) ToCrossAccountAttachmentResourceArrayOutput() CrossAccountAttachmentResourceArrayOutput { + return o +} + +func (o CrossAccountAttachmentResourceArrayOutput) ToCrossAccountAttachmentResourceArrayOutputWithContext(ctx context.Context) CrossAccountAttachmentResourceArrayOutput { + return o +} + +func (o CrossAccountAttachmentResourceArrayOutput) Index(i pulumi.IntInput) CrossAccountAttachmentResourceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CrossAccountAttachmentResource { + return vs[0].([]CrossAccountAttachmentResource)[vs[1].(int)] + }).(CrossAccountAttachmentResourceOutput) +} + type CustomRoutingAcceleratorAttributes struct { // Indicates whether flow logs are enabled. Defaults to `false`. Valid values: `true`, `false`. FlowLogsEnabled *bool `pulumi:"flowLogsEnabled"` @@ -1640,6 +1746,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*AcceleratorAttributesPtrInput)(nil)).Elem(), AcceleratorAttributesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AcceleratorIpSetInput)(nil)).Elem(), AcceleratorIpSetArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AcceleratorIpSetArrayInput)(nil)).Elem(), AcceleratorIpSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CrossAccountAttachmentResourceInput)(nil)).Elem(), CrossAccountAttachmentResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CrossAccountAttachmentResourceArrayInput)(nil)).Elem(), CrossAccountAttachmentResourceArray{}) pulumi.RegisterInputType(reflect.TypeOf((*CustomRoutingAcceleratorAttributesInput)(nil)).Elem(), CustomRoutingAcceleratorAttributesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CustomRoutingAcceleratorAttributesPtrInput)(nil)).Elem(), CustomRoutingAcceleratorAttributesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*CustomRoutingAcceleratorIpSetInput)(nil)).Elem(), CustomRoutingAcceleratorIpSetArgs{}) @@ -1668,6 +1776,8 @@ func init() { pulumi.RegisterOutputType(AcceleratorAttributesPtrOutput{}) pulumi.RegisterOutputType(AcceleratorIpSetOutput{}) pulumi.RegisterOutputType(AcceleratorIpSetArrayOutput{}) + pulumi.RegisterOutputType(CrossAccountAttachmentResourceOutput{}) + pulumi.RegisterOutputType(CrossAccountAttachmentResourceArrayOutput{}) pulumi.RegisterOutputType(CustomRoutingAcceleratorAttributesOutput{}) pulumi.RegisterOutputType(CustomRoutingAcceleratorAttributesPtrOutput{}) pulumi.RegisterOutputType(CustomRoutingAcceleratorIpSetOutput{}) diff --git a/sdk/go/aws/identitystore/getGroups.go b/sdk/go/aws/identitystore/getGroups.go new file mode 100644 index 00000000000..7e2c634cec4 --- /dev/null +++ b/sdk/go/aws/identitystore/getGroups.go @@ -0,0 +1,127 @@ +// 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 identitystore + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Data source for managing an AWS SSO Identity Store Groups. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/identitystore" +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := ssoadmin.GetInstances(ctx, nil, nil) +// if err != nil { +// return err +// } +// _, err = identitystore.GetGroups(ctx, &identitystore.GetGroupsArgs{ +// IdentityStoreId: example.IdentityStoreIds[0], +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetGroups(ctx *pulumi.Context, args *GetGroupsArgs, opts ...pulumi.InvokeOption) (*GetGroupsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetGroupsResult + err := ctx.Invoke("aws:identitystore/getGroups:getGroups", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getGroups. +type GetGroupsArgs struct { + // Identity Store ID associated with the Single Sign-On (SSO) Instance. + IdentityStoreId string `pulumi:"identityStoreId"` +} + +// A collection of values returned by getGroups. +type GetGroupsResult struct { + // List of Identity Store Groups + Groups []GetGroupsGroup `pulumi:"groups"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + IdentityStoreId string `pulumi:"identityStoreId"` +} + +func GetGroupsOutput(ctx *pulumi.Context, args GetGroupsOutputArgs, opts ...pulumi.InvokeOption) GetGroupsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetGroupsResult, error) { + args := v.(GetGroupsArgs) + r, err := GetGroups(ctx, &args, opts...) + var s GetGroupsResult + if r != nil { + s = *r + } + return s, err + }).(GetGroupsResultOutput) +} + +// A collection of arguments for invoking getGroups. +type GetGroupsOutputArgs struct { + // Identity Store ID associated with the Single Sign-On (SSO) Instance. + IdentityStoreId pulumi.StringInput `pulumi:"identityStoreId"` +} + +func (GetGroupsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupsArgs)(nil)).Elem() +} + +// A collection of values returned by getGroups. +type GetGroupsResultOutput struct{ *pulumi.OutputState } + +func (GetGroupsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupsResult)(nil)).Elem() +} + +func (o GetGroupsResultOutput) ToGetGroupsResultOutput() GetGroupsResultOutput { + return o +} + +func (o GetGroupsResultOutput) ToGetGroupsResultOutputWithContext(ctx context.Context) GetGroupsResultOutput { + return o +} + +// List of Identity Store Groups +func (o GetGroupsResultOutput) Groups() GetGroupsGroupArrayOutput { + return o.ApplyT(func(v GetGroupsResult) []GetGroupsGroup { return v.Groups }).(GetGroupsGroupArrayOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetGroupsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetGroupsResultOutput) IdentityStoreId() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupsResult) string { return v.IdentityStoreId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetGroupsResultOutput{}) +} diff --git a/sdk/go/aws/identitystore/pulumiTypes.go b/sdk/go/aws/identitystore/pulumiTypes.go index 1eae4b35bd4..b5e57a0661c 100644 --- a/sdk/go/aws/identitystore/pulumiTypes.go +++ b/sdk/go/aws/identitystore/pulumiTypes.go @@ -1825,6 +1825,139 @@ func (o GetGroupFilterPtrOutput) AttributeValue() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type GetGroupsGroup struct { + // Description of the specified group. + Description string `pulumi:"description"` + // Group's display name. + DisplayName string `pulumi:"displayName"` + // List of identifiers issued to this resource by an external identity provider. + ExternalIds []interface{} `pulumi:"externalIds"` + // Identifier of the group in the Identity Store. + GroupId string `pulumi:"groupId"` + // Identity Store ID associated with the Single Sign-On (SSO) Instance. + IdentityStoreId string `pulumi:"identityStoreId"` +} + +// GetGroupsGroupInput is an input type that accepts GetGroupsGroupArgs and GetGroupsGroupOutput values. +// You can construct a concrete instance of `GetGroupsGroupInput` via: +// +// GetGroupsGroupArgs{...} +type GetGroupsGroupInput interface { + pulumi.Input + + ToGetGroupsGroupOutput() GetGroupsGroupOutput + ToGetGroupsGroupOutputWithContext(context.Context) GetGroupsGroupOutput +} + +type GetGroupsGroupArgs struct { + // Description of the specified group. + Description pulumi.StringInput `pulumi:"description"` + // Group's display name. + DisplayName pulumi.StringInput `pulumi:"displayName"` + // List of identifiers issued to this resource by an external identity provider. + ExternalIds pulumi.ArrayInput `pulumi:"externalIds"` + // Identifier of the group in the Identity Store. + GroupId pulumi.StringInput `pulumi:"groupId"` + // Identity Store ID associated with the Single Sign-On (SSO) Instance. + IdentityStoreId pulumi.StringInput `pulumi:"identityStoreId"` +} + +func (GetGroupsGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupsGroup)(nil)).Elem() +} + +func (i GetGroupsGroupArgs) ToGetGroupsGroupOutput() GetGroupsGroupOutput { + return i.ToGetGroupsGroupOutputWithContext(context.Background()) +} + +func (i GetGroupsGroupArgs) ToGetGroupsGroupOutputWithContext(ctx context.Context) GetGroupsGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGroupsGroupOutput) +} + +// GetGroupsGroupArrayInput is an input type that accepts GetGroupsGroupArray and GetGroupsGroupArrayOutput values. +// You can construct a concrete instance of `GetGroupsGroupArrayInput` via: +// +// GetGroupsGroupArray{ GetGroupsGroupArgs{...} } +type GetGroupsGroupArrayInput interface { + pulumi.Input + + ToGetGroupsGroupArrayOutput() GetGroupsGroupArrayOutput + ToGetGroupsGroupArrayOutputWithContext(context.Context) GetGroupsGroupArrayOutput +} + +type GetGroupsGroupArray []GetGroupsGroupInput + +func (GetGroupsGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGroupsGroup)(nil)).Elem() +} + +func (i GetGroupsGroupArray) ToGetGroupsGroupArrayOutput() GetGroupsGroupArrayOutput { + return i.ToGetGroupsGroupArrayOutputWithContext(context.Background()) +} + +func (i GetGroupsGroupArray) ToGetGroupsGroupArrayOutputWithContext(ctx context.Context) GetGroupsGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGroupsGroupArrayOutput) +} + +type GetGroupsGroupOutput struct{ *pulumi.OutputState } + +func (GetGroupsGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGroupsGroup)(nil)).Elem() +} + +func (o GetGroupsGroupOutput) ToGetGroupsGroupOutput() GetGroupsGroupOutput { + return o +} + +func (o GetGroupsGroupOutput) ToGetGroupsGroupOutputWithContext(ctx context.Context) GetGroupsGroupOutput { + return o +} + +// Description of the specified group. +func (o GetGroupsGroupOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupsGroup) string { return v.Description }).(pulumi.StringOutput) +} + +// Group's display name. +func (o GetGroupsGroupOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupsGroup) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// List of identifiers issued to this resource by an external identity provider. +func (o GetGroupsGroupOutput) ExternalIds() pulumi.ArrayOutput { + return o.ApplyT(func(v GetGroupsGroup) []interface{} { return v.ExternalIds }).(pulumi.ArrayOutput) +} + +// Identifier of the group in the Identity Store. +func (o GetGroupsGroupOutput) GroupId() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupsGroup) string { return v.GroupId }).(pulumi.StringOutput) +} + +// Identity Store ID associated with the Single Sign-On (SSO) Instance. +func (o GetGroupsGroupOutput) IdentityStoreId() pulumi.StringOutput { + return o.ApplyT(func(v GetGroupsGroup) string { return v.IdentityStoreId }).(pulumi.StringOutput) +} + +type GetGroupsGroupArrayOutput struct{ *pulumi.OutputState } + +func (GetGroupsGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGroupsGroup)(nil)).Elem() +} + +func (o GetGroupsGroupArrayOutput) ToGetGroupsGroupArrayOutput() GetGroupsGroupArrayOutput { + return o +} + +func (o GetGroupsGroupArrayOutput) ToGetGroupsGroupArrayOutputWithContext(ctx context.Context) GetGroupsGroupArrayOutput { + return o +} + +func (o GetGroupsGroupArrayOutput) Index(i pulumi.IntInput) GetGroupsGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGroupsGroup { + return vs[0].([]GetGroupsGroup)[vs[1].(int)] + }).(GetGroupsGroupOutput) +} + type GetUserAddress struct { // The country that this address is in. Country string `pulumi:"country"` @@ -3120,6 +3253,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetGroupExternalIdArrayInput)(nil)).Elem(), GetGroupExternalIdArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetGroupFilterInput)(nil)).Elem(), GetGroupFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetGroupFilterPtrInput)(nil)).Elem(), GetGroupFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGroupsGroupInput)(nil)).Elem(), GetGroupsGroupArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGroupsGroupArrayInput)(nil)).Elem(), GetGroupsGroupArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserAddressInput)(nil)).Elem(), GetUserAddressArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserAddressArrayInput)(nil)).Elem(), GetUserAddressArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetUserAlternateIdentifierInput)(nil)).Elem(), GetUserAlternateIdentifierArgs{}) @@ -3160,6 +3295,8 @@ func init() { pulumi.RegisterOutputType(GetGroupExternalIdArrayOutput{}) pulumi.RegisterOutputType(GetGroupFilterOutput{}) pulumi.RegisterOutputType(GetGroupFilterPtrOutput{}) + pulumi.RegisterOutputType(GetGroupsGroupOutput{}) + pulumi.RegisterOutputType(GetGroupsGroupArrayOutput{}) pulumi.RegisterOutputType(GetUserAddressOutput{}) pulumi.RegisterOutputType(GetUserAddressArrayOutput{}) pulumi.RegisterOutputType(GetUserAlternateIdentifierOutput{}) diff --git a/sdk/go/aws/kinesis/firehoseDeliveryStream.go b/sdk/go/aws/kinesis/firehoseDeliveryStream.go index 307187e272d..5f3bacf29d2 100644 --- a/sdk/go/aws/kinesis/firehoseDeliveryStream.go +++ b/sdk/go/aws/kinesis/firehoseDeliveryStream.go @@ -12,7 +12,7 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) -// Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 and Amazon Redshift. +// Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 , Amazon Redshift and Snowflake. // // For more details, see the [Amazon Kinesis Firehose Documentation](https://aws.amazon.com/documentation/firehose/). // @@ -868,6 +868,49 @@ import ( // // ``` // +// ### Snowflake Destination +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/kinesis" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := kinesis.NewFirehoseDeliveryStream(ctx, "example_snowflake_destination", &kinesis.FirehoseDeliveryStreamArgs{ +// Name: pulumi.String("example-snowflake-destination"), +// Destination: pulumi.String("snowflake"), +// SnowflakeConfiguration: &kinesis.FirehoseDeliveryStreamSnowflakeConfigurationArgs{ +// AccountUrl: pulumi.String("https://example.snowflakecomputing.com"), +// Database: pulumi.String("example-db"), +// PrivateKey: pulumi.String("..."), +// RoleArn: pulumi.Any(firehose.Arn), +// Schema: pulumi.String("example-schema"), +// Table: pulumi.String("example-table"), +// User: pulumi.String("example-usr"), +// S3Configuration: &kinesis.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs{ +// RoleArn: pulumi.Any(firehose.Arn), +// BucketArn: pulumi.Any(bucket.Arn), +// BufferingSize: pulumi.Int(10), +// BufferingInterval: pulumi.Int(400), +// CompressionFormat: pulumi.String("GZIP"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// // ## Import // // Using `pulumi import`, import Kinesis Firehose Delivery streams using the stream ARN. For example: @@ -881,7 +924,7 @@ type FirehoseDeliveryStream struct { // The Amazon Resource Name (ARN) specifying the Stream Arn pulumi.StringOutput `pulumi:"arn"` - // This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch` and `opensearchserverless`. + // This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch`, `opensearchserverless` and `snowflake`. Destination pulumi.StringOutput `pulumi:"destination"` DestinationId pulumi.StringOutput `pulumi:"destinationId"` // Configuration options when `destination` is `elasticsearch`. See `elasticsearchConfiguration` block below for details. @@ -906,6 +949,8 @@ type FirehoseDeliveryStream struct { // // **NOTE:** Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream. ServerSideEncryption FirehoseDeliveryStreamServerSideEncryptionPtrOutput `pulumi:"serverSideEncryption"` + // Configuration options when `destination` is `snowflake`. See `snowflakeConfiguration` block below for details. + SnowflakeConfiguration FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput `pulumi:"snowflakeConfiguration"` // Configuration options when `destination` is `splunk`. See `splunkConfiguration` block below for details. SplunkConfiguration FirehoseDeliveryStreamSplunkConfigurationPtrOutput `pulumi:"splunkConfiguration"` // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -952,7 +997,7 @@ func GetFirehoseDeliveryStream(ctx *pulumi.Context, type firehoseDeliveryStreamState struct { // The Amazon Resource Name (ARN) specifying the Stream Arn *string `pulumi:"arn"` - // This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch` and `opensearchserverless`. + // This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch`, `opensearchserverless` and `snowflake`. Destination *string `pulumi:"destination"` DestinationId *string `pulumi:"destinationId"` // Configuration options when `destination` is `elasticsearch`. See `elasticsearchConfiguration` block below for details. @@ -977,6 +1022,8 @@ type firehoseDeliveryStreamState struct { // // **NOTE:** Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream. ServerSideEncryption *FirehoseDeliveryStreamServerSideEncryption `pulumi:"serverSideEncryption"` + // Configuration options when `destination` is `snowflake`. See `snowflakeConfiguration` block below for details. + SnowflakeConfiguration *FirehoseDeliveryStreamSnowflakeConfiguration `pulumi:"snowflakeConfiguration"` // Configuration options when `destination` is `splunk`. See `splunkConfiguration` block below for details. SplunkConfiguration *FirehoseDeliveryStreamSplunkConfiguration `pulumi:"splunkConfiguration"` // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -991,7 +1038,7 @@ type firehoseDeliveryStreamState struct { type FirehoseDeliveryStreamState struct { // The Amazon Resource Name (ARN) specifying the Stream Arn pulumi.StringPtrInput - // This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch` and `opensearchserverless`. + // This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch`, `opensearchserverless` and `snowflake`. Destination pulumi.StringPtrInput DestinationId pulumi.StringPtrInput // Configuration options when `destination` is `elasticsearch`. See `elasticsearchConfiguration` block below for details. @@ -1016,6 +1063,8 @@ type FirehoseDeliveryStreamState struct { // // **NOTE:** Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream. ServerSideEncryption FirehoseDeliveryStreamServerSideEncryptionPtrInput + // Configuration options when `destination` is `snowflake`. See `snowflakeConfiguration` block below for details. + SnowflakeConfiguration FirehoseDeliveryStreamSnowflakeConfigurationPtrInput // Configuration options when `destination` is `splunk`. See `splunkConfiguration` block below for details. SplunkConfiguration FirehoseDeliveryStreamSplunkConfigurationPtrInput // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -1034,7 +1083,7 @@ func (FirehoseDeliveryStreamState) ElementType() reflect.Type { type firehoseDeliveryStreamArgs struct { // The Amazon Resource Name (ARN) specifying the Stream Arn *string `pulumi:"arn"` - // This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch` and `opensearchserverless`. + // This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch`, `opensearchserverless` and `snowflake`. Destination string `pulumi:"destination"` DestinationId *string `pulumi:"destinationId"` // Configuration options when `destination` is `elasticsearch`. See `elasticsearchConfiguration` block below for details. @@ -1059,6 +1108,8 @@ type firehoseDeliveryStreamArgs struct { // // **NOTE:** Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream. ServerSideEncryption *FirehoseDeliveryStreamServerSideEncryption `pulumi:"serverSideEncryption"` + // Configuration options when `destination` is `snowflake`. See `snowflakeConfiguration` block below for details. + SnowflakeConfiguration *FirehoseDeliveryStreamSnowflakeConfiguration `pulumi:"snowflakeConfiguration"` // Configuration options when `destination` is `splunk`. See `splunkConfiguration` block below for details. SplunkConfiguration *FirehoseDeliveryStreamSplunkConfiguration `pulumi:"splunkConfiguration"` // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -1070,7 +1121,7 @@ type firehoseDeliveryStreamArgs struct { type FirehoseDeliveryStreamArgs struct { // The Amazon Resource Name (ARN) specifying the Stream Arn pulumi.StringPtrInput - // This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch` and `opensearchserverless`. + // This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch`, `opensearchserverless` and `snowflake`. Destination pulumi.StringInput DestinationId pulumi.StringPtrInput // Configuration options when `destination` is `elasticsearch`. See `elasticsearchConfiguration` block below for details. @@ -1095,6 +1146,8 @@ type FirehoseDeliveryStreamArgs struct { // // **NOTE:** Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream. ServerSideEncryption FirehoseDeliveryStreamServerSideEncryptionPtrInput + // Configuration options when `destination` is `snowflake`. See `snowflakeConfiguration` block below for details. + SnowflakeConfiguration FirehoseDeliveryStreamSnowflakeConfigurationPtrInput // Configuration options when `destination` is `splunk`. See `splunkConfiguration` block below for details. SplunkConfiguration FirehoseDeliveryStreamSplunkConfigurationPtrInput // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -1194,7 +1247,7 @@ func (o FirehoseDeliveryStreamOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *FirehoseDeliveryStream) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } -// This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch` and `opensearchserverless`. +// This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch`, `opensearchserverless` and `snowflake`. func (o FirehoseDeliveryStreamOutput) Destination() pulumi.StringOutput { return o.ApplyT(func(v *FirehoseDeliveryStream) pulumi.StringOutput { return v.Destination }).(pulumi.StringOutput) } @@ -1273,6 +1326,13 @@ func (o FirehoseDeliveryStreamOutput) ServerSideEncryption() FirehoseDeliveryStr }).(FirehoseDeliveryStreamServerSideEncryptionPtrOutput) } +// Configuration options when `destination` is `snowflake`. See `snowflakeConfiguration` block below for details. +func (o FirehoseDeliveryStreamOutput) SnowflakeConfiguration() FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStream) FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput { + return v.SnowflakeConfiguration + }).(FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) +} + // Configuration options when `destination` is `splunk`. See `splunkConfiguration` block below for details. func (o FirehoseDeliveryStreamOutput) SplunkConfiguration() FirehoseDeliveryStreamSplunkConfigurationPtrOutput { return o.ApplyT(func(v *FirehoseDeliveryStream) FirehoseDeliveryStreamSplunkConfigurationPtrOutput { diff --git a/sdk/go/aws/kinesis/pulumiTypes.go b/sdk/go/aws/kinesis/pulumiTypes.go index b2c50d0b889..b27c2b150e2 100644 --- a/sdk/go/aws/kinesis/pulumiTypes.go +++ b/sdk/go/aws/kinesis/pulumiTypes.go @@ -16969,6 +16969,1820 @@ func (o FirehoseDeliveryStreamServerSideEncryptionPtrOutput) KeyType() pulumi.St }).(pulumi.StringPtrOutput) } +type FirehoseDeliveryStreamSnowflakeConfiguration struct { + // The URL of the Snowflake account. Format: https://[accountIdentifier].snowflakecomputing.com. + AccountUrl string `pulumi:"accountUrl"` + // The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. + CloudwatchLoggingOptions *FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions `pulumi:"cloudwatchLoggingOptions"` + // The name of the content column. + ContentColumnName *string `pulumi:"contentColumnName"` + // The data loading option. + DataLoadingOption *string `pulumi:"dataLoadingOption"` + // The Snowflake database name. + Database string `pulumi:"database"` + // The passphrase for the private key. + KeyPassphrase *string `pulumi:"keyPassphrase"` + // The name of the metadata column. + MetadataColumnName *string `pulumi:"metadataColumnName"` + // The private key for authentication. + PrivateKey string `pulumi:"privateKey"` + // The processing configuration. See `processingConfiguration` block below for details. + ProcessingConfiguration *FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration `pulumi:"processingConfiguration"` + // After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + RetryDuration *int `pulumi:"retryDuration"` + // The ARN of the IAM role. + RoleArn string `pulumi:"roleArn"` + // The S3 backup mode. + S3BackupMode *string `pulumi:"s3BackupMode"` + // The S3 configuration. See `s3Configuration` block below for details. + S3Configuration FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration `pulumi:"s3Configuration"` + // The Snowflake schema name. + Schema string `pulumi:"schema"` + // The configuration for Snowflake role. + SnowflakeRoleConfiguration *FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration `pulumi:"snowflakeRoleConfiguration"` + // The VPC configuration for Snowflake. + SnowflakeVpcConfiguration *FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration `pulumi:"snowflakeVpcConfiguration"` + // The Snowflake table name. + Table string `pulumi:"table"` + // The user for authentication. + User string `pulumi:"user"` +} + +// FirehoseDeliveryStreamSnowflakeConfigurationInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationArgs and FirehoseDeliveryStreamSnowflakeConfigurationOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationArgs{...} +type FirehoseDeliveryStreamSnowflakeConfigurationInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationOutput() FirehoseDeliveryStreamSnowflakeConfigurationOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationOutput +} + +type FirehoseDeliveryStreamSnowflakeConfigurationArgs struct { + // The URL of the Snowflake account. Format: https://[accountIdentifier].snowflakecomputing.com. + AccountUrl pulumi.StringInput `pulumi:"accountUrl"` + // The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. + CloudwatchLoggingOptions FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrInput `pulumi:"cloudwatchLoggingOptions"` + // The name of the content column. + ContentColumnName pulumi.StringPtrInput `pulumi:"contentColumnName"` + // The data loading option. + DataLoadingOption pulumi.StringPtrInput `pulumi:"dataLoadingOption"` + // The Snowflake database name. + Database pulumi.StringInput `pulumi:"database"` + // The passphrase for the private key. + KeyPassphrase pulumi.StringPtrInput `pulumi:"keyPassphrase"` + // The name of the metadata column. + MetadataColumnName pulumi.StringPtrInput `pulumi:"metadataColumnName"` + // The private key for authentication. + PrivateKey pulumi.StringInput `pulumi:"privateKey"` + // The processing configuration. See `processingConfiguration` block below for details. + ProcessingConfiguration FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrInput `pulumi:"processingConfiguration"` + // After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + RetryDuration pulumi.IntPtrInput `pulumi:"retryDuration"` + // The ARN of the IAM role. + RoleArn pulumi.StringInput `pulumi:"roleArn"` + // The S3 backup mode. + S3BackupMode pulumi.StringPtrInput `pulumi:"s3BackupMode"` + // The S3 configuration. See `s3Configuration` block below for details. + S3Configuration FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationInput `pulumi:"s3Configuration"` + // The Snowflake schema name. + Schema pulumi.StringInput `pulumi:"schema"` + // The configuration for Snowflake role. + SnowflakeRoleConfiguration FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrInput `pulumi:"snowflakeRoleConfiguration"` + // The VPC configuration for Snowflake. + SnowflakeVpcConfiguration FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrInput `pulumi:"snowflakeVpcConfiguration"` + // The Snowflake table name. + Table pulumi.StringInput `pulumi:"table"` + // The user for authentication. + User pulumi.StringInput `pulumi:"user"` +} + +func (FirehoseDeliveryStreamSnowflakeConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfiguration)(nil)).Elem() +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationOutput() FirehoseDeliveryStreamSnowflakeConfigurationOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationOutput) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationPtrOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationOutput).ToFirehoseDeliveryStreamSnowflakeConfigurationPtrOutputWithContext(ctx) +} + +// FirehoseDeliveryStreamSnowflakeConfigurationPtrInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationArgs, FirehoseDeliveryStreamSnowflakeConfigurationPtr and FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationPtrInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationArgs{...} +// +// or: +// +// nil +type FirehoseDeliveryStreamSnowflakeConfigurationPtrInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationPtrOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput +} + +type firehoseDeliveryStreamSnowflakeConfigurationPtrType FirehoseDeliveryStreamSnowflakeConfigurationArgs + +func FirehoseDeliveryStreamSnowflakeConfigurationPtr(v *FirehoseDeliveryStreamSnowflakeConfigurationArgs) FirehoseDeliveryStreamSnowflakeConfigurationPtrInput { + return (*firehoseDeliveryStreamSnowflakeConfigurationPtrType)(v) +} + +func (*firehoseDeliveryStreamSnowflakeConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FirehoseDeliveryStreamSnowflakeConfiguration)(nil)).Elem() +} + +func (i *firehoseDeliveryStreamSnowflakeConfigurationPtrType) ToFirehoseDeliveryStreamSnowflakeConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *firehoseDeliveryStreamSnowflakeConfigurationPtrType) ToFirehoseDeliveryStreamSnowflakeConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfiguration)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationOutput() FirehoseDeliveryStreamSnowflakeConfigurationOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput { + return o.ToFirehoseDeliveryStreamSnowflakeConfigurationPtrOutputWithContext(context.Background()) +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FirehoseDeliveryStreamSnowflakeConfiguration) *FirehoseDeliveryStreamSnowflakeConfiguration { + return &v + }).(FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) +} + +// The URL of the Snowflake account. Format: https://[accountIdentifier].snowflakecomputing.com. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) AccountUrl() pulumi.StringOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) string { return v.AccountUrl }).(pulumi.StringOutput) +} + +// The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) CloudwatchLoggingOptions() FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) *FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions { + return v.CloudwatchLoggingOptions + }).(FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput) +} + +// The name of the content column. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) ContentColumnName() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) *string { return v.ContentColumnName }).(pulumi.StringPtrOutput) +} + +// The data loading option. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) DataLoadingOption() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) *string { return v.DataLoadingOption }).(pulumi.StringPtrOutput) +} + +// The Snowflake database name. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) Database() pulumi.StringOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) string { return v.Database }).(pulumi.StringOutput) +} + +// The passphrase for the private key. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) KeyPassphrase() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) *string { return v.KeyPassphrase }).(pulumi.StringPtrOutput) +} + +// The name of the metadata column. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) MetadataColumnName() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) *string { return v.MetadataColumnName }).(pulumi.StringPtrOutput) +} + +// The private key for authentication. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) PrivateKey() pulumi.StringOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) string { return v.PrivateKey }).(pulumi.StringOutput) +} + +// The processing configuration. See `processingConfiguration` block below for details. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) ProcessingConfiguration() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) *FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration { + return v.ProcessingConfiguration + }).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput) +} + +// After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) RetryDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) *int { return v.RetryDuration }).(pulumi.IntPtrOutput) +} + +// The ARN of the IAM role. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) RoleArn() pulumi.StringOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) string { return v.RoleArn }).(pulumi.StringOutput) +} + +// The S3 backup mode. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) S3BackupMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) *string { return v.S3BackupMode }).(pulumi.StringPtrOutput) +} + +// The S3 configuration. See `s3Configuration` block below for details. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) S3Configuration() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration { + return v.S3Configuration + }).(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) +} + +// The Snowflake schema name. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) Schema() pulumi.StringOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) string { return v.Schema }).(pulumi.StringOutput) +} + +// The configuration for Snowflake role. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) SnowflakeRoleConfiguration() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) *FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration { + return v.SnowflakeRoleConfiguration + }).(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput) +} + +// The VPC configuration for Snowflake. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) SnowflakeVpcConfiguration() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) *FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration { + return v.SnowflakeVpcConfiguration + }).(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput) +} + +// The Snowflake table name. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) Table() pulumi.StringOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) string { return v.Table }).(pulumi.StringOutput) +} + +// The user for authentication. +func (o FirehoseDeliveryStreamSnowflakeConfigurationOutput) User() pulumi.StringOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfiguration) string { return v.User }).(pulumi.StringOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FirehoseDeliveryStreamSnowflakeConfiguration)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) Elem() FirehoseDeliveryStreamSnowflakeConfigurationOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) FirehoseDeliveryStreamSnowflakeConfiguration { + if v != nil { + return *v + } + var ret FirehoseDeliveryStreamSnowflakeConfiguration + return ret + }).(FirehoseDeliveryStreamSnowflakeConfigurationOutput) +} + +// The URL of the Snowflake account. Format: https://[accountIdentifier].snowflakecomputing.com. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) AccountUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *string { + if v == nil { + return nil + } + return &v.AccountUrl + }).(pulumi.StringPtrOutput) +} + +// The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) CloudwatchLoggingOptions() FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions { + if v == nil { + return nil + } + return v.CloudwatchLoggingOptions + }).(FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput) +} + +// The name of the content column. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) ContentColumnName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *string { + if v == nil { + return nil + } + return v.ContentColumnName + }).(pulumi.StringPtrOutput) +} + +// The data loading option. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) DataLoadingOption() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *string { + if v == nil { + return nil + } + return v.DataLoadingOption + }).(pulumi.StringPtrOutput) +} + +// The Snowflake database name. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) Database() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *string { + if v == nil { + return nil + } + return &v.Database + }).(pulumi.StringPtrOutput) +} + +// The passphrase for the private key. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) KeyPassphrase() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *string { + if v == nil { + return nil + } + return v.KeyPassphrase + }).(pulumi.StringPtrOutput) +} + +// The name of the metadata column. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) MetadataColumnName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *string { + if v == nil { + return nil + } + return v.MetadataColumnName + }).(pulumi.StringPtrOutput) +} + +// The private key for authentication. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) PrivateKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *string { + if v == nil { + return nil + } + return &v.PrivateKey + }).(pulumi.StringPtrOutput) +} + +// The processing configuration. See `processingConfiguration` block below for details. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) ProcessingConfiguration() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration { + if v == nil { + return nil + } + return v.ProcessingConfiguration + }).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput) +} + +// After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) RetryDuration() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *int { + if v == nil { + return nil + } + return v.RetryDuration + }).(pulumi.IntPtrOutput) +} + +// The ARN of the IAM role. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) RoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *string { + if v == nil { + return nil + } + return &v.RoleArn + }).(pulumi.StringPtrOutput) +} + +// The S3 backup mode. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) S3BackupMode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *string { + if v == nil { + return nil + } + return v.S3BackupMode + }).(pulumi.StringPtrOutput) +} + +// The S3 configuration. See `s3Configuration` block below for details. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) S3Configuration() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration { + if v == nil { + return nil + } + return &v.S3Configuration + }).(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) +} + +// The Snowflake schema name. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) Schema() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *string { + if v == nil { + return nil + } + return &v.Schema + }).(pulumi.StringPtrOutput) +} + +// The configuration for Snowflake role. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) SnowflakeRoleConfiguration() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration { + if v == nil { + return nil + } + return v.SnowflakeRoleConfiguration + }).(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput) +} + +// The VPC configuration for Snowflake. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) SnowflakeVpcConfiguration() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration { + if v == nil { + return nil + } + return v.SnowflakeVpcConfiguration + }).(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput) +} + +// The Snowflake table name. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) Table() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *string { + if v == nil { + return nil + } + return &v.Table + }).(pulumi.StringPtrOutput) +} + +// The user for authentication. +func (o FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput) User() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfiguration) *string { + if v == nil { + return nil + } + return &v.User + }).(pulumi.StringPtrOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions struct { + // Enables or disables the logging. Defaults to `false`. + Enabled *bool `pulumi:"enabled"` + // The CloudWatch group name for logging. This value is required if `enabled` is true. + LogGroupName *string `pulumi:"logGroupName"` + // The CloudWatch log stream name for logging. This value is required if `enabled` is true. + LogStreamName *string `pulumi:"logStreamName"` +} + +// FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs and FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs{...} +type FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput() FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput +} + +type FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs struct { + // Enables or disables the logging. Defaults to `false`. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + // The CloudWatch group name for logging. This value is required if `enabled` is true. + LogGroupName pulumi.StringPtrInput `pulumi:"logGroupName"` + // The CloudWatch log stream name for logging. This value is required if `enabled` is true. + LogStreamName pulumi.StringPtrInput `pulumi:"logStreamName"` +} + +func (FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions)(nil)).Elem() +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput() FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput).ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(ctx) +} + +// FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs, FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtr and FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs{...} +// +// or: +// +// nil +type FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput +} + +type firehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrType FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs + +func FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtr(v *FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs) FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrInput { + return (*firehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrType)(v) +} + +func (*firehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions)(nil)).Elem() +} + +func (i *firehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrType) ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(context.Background()) +} + +func (i *firehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrType) ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput() FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput { + return o.ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(context.Background()) +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions) *FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions { + return &v + }).(FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput) +} + +// Enables or disables the logging. Defaults to `false`. +func (o FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +// The CloudWatch group name for logging. This value is required if `enabled` is true. +func (o FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput) LogGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions) *string { + return v.LogGroupName + }).(pulumi.StringPtrOutput) +} + +// The CloudWatch log stream name for logging. This value is required if `enabled` is true. +func (o FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput) LogStreamName() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions) *string { + return v.LogStreamName + }).(pulumi.StringPtrOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput) Elem() FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions) FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions { + if v != nil { + return *v + } + var ret FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions + return ret + }).(FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput) +} + +// Enables or disables the logging. Defaults to `false`. +func (o FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// The CloudWatch group name for logging. This value is required if `enabled` is true. +func (o FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput) LogGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions) *string { + if v == nil { + return nil + } + return v.LogGroupName + }).(pulumi.StringPtrOutput) +} + +// The CloudWatch log stream name for logging. This value is required if `enabled` is true. +func (o FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput) LogStreamName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions) *string { + if v == nil { + return nil + } + return v.LogStreamName + }).(pulumi.StringPtrOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration struct { + // Enables or disables data processing. + Enabled *bool `pulumi:"enabled"` + // Specifies the data processors as multiple blocks. See `processors` block below for details. + Processors []FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor `pulumi:"processors"` +} + +// FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs and FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs{...} +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput +} + +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs struct { + // Enables or disables data processing. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + // Specifies the data processors as multiple blocks. See `processors` block below for details. + Processors FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayInput `pulumi:"processors"` +} + +func (FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration)(nil)).Elem() +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput).ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutputWithContext(ctx) +} + +// FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs, FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtr and FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs{...} +// +// or: +// +// nil +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput +} + +type firehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrType FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs + +func FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtr(v *FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrInput { + return (*firehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrType)(v) +} + +func (*firehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration)(nil)).Elem() +} + +func (i *firehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrType) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *firehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrType) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput { + return o.ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutputWithContext(context.Background()) +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration) *FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration { + return &v + }).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput) +} + +// Enables or disables data processing. +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +// Specifies the data processors as multiple blocks. See `processors` block below for details. +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput) Processors() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration) []FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor { + return v.Processors + }).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput) Elem() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration { + if v != nil { + return *v + } + var ret FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration + return ret + }).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput) +} + +// Enables or disables data processing. +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// Specifies the data processors as multiple blocks. See `processors` block below for details. +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput) Processors() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration) []FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor { + if v == nil { + return nil + } + return v.Processors + }).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor struct { + // Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + Parameters []FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter `pulumi:"parameters"` + // The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + Type string `pulumi:"type"` +} + +// FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs and FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs{...} +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput +} + +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs struct { + // Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + Parameters FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayInput `pulumi:"parameters"` + // The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + Type pulumi.StringInput `pulumi:"type"` +} + +func (FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor)(nil)).Elem() +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput) +} + +// FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArray and FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArray{ FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs{...} } +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput +} + +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArray []FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorInput + +func (FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor)(nil)).Elem() +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArray) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArray) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput { + return o +} + +// Specifies the processor parameters as multiple blocks. See `parameters` block below for details. +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput) Parameters() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor) []FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter { + return v.Parameters + }).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput) +} + +// The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor) string { + return v.Type + }).(pulumi.StringOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput) Index(i pulumi.IntInput) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor { + return vs[0].([]FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor)[vs[1].(int)] + }).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter struct { + // Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + ParameterName string `pulumi:"parameterName"` + // Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + // + // > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + ParameterValue string `pulumi:"parameterValue"` +} + +// FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs and FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs{...} +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput +} + +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs struct { + // Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + ParameterName pulumi.StringInput `pulumi:"parameterName"` + // Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + // + // > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + ParameterValue pulumi.StringInput `pulumi:"parameterValue"` +} + +func (FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter)(nil)).Elem() +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput) +} + +// FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArray and FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArray{ FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs{...} } +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput +} + +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArray []FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterInput + +func (FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter)(nil)).Elem() +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArray) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArray) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput { + return o +} + +// Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput) ParameterName() pulumi.StringOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter) string { + return v.ParameterName + }).(pulumi.StringOutput) +} + +// Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. +// +// > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput) ParameterValue() pulumi.StringOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter) string { + return v.ParameterValue + }).(pulumi.StringOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput() FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput) Index(i pulumi.IntInput) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter { + return vs[0].([]FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter)[vs[1].(int)] + }).(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration struct { + // The ARN of the S3 bucket + BucketArn string `pulumi:"bucketArn"` + // Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + BufferingInterval *int `pulumi:"bufferingInterval"` + // Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + // We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + BufferingSize *int `pulumi:"bufferingSize"` + // The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. + CloudwatchLoggingOptions *FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions `pulumi:"cloudwatchLoggingOptions"` + // The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + CompressionFormat *string `pulumi:"compressionFormat"` + // Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + ErrorOutputPrefix *string `pulumi:"errorOutputPrefix"` + // Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + // be used. + KmsKeyArn *string `pulumi:"kmsKeyArn"` + // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + Prefix *string `pulumi:"prefix"` + // The ARN of the AWS credentials. + RoleArn string `pulumi:"roleArn"` +} + +// FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs and FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs{...} +type FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput +} + +type FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs struct { + // The ARN of the S3 bucket + BucketArn pulumi.StringInput `pulumi:"bucketArn"` + // Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + BufferingInterval pulumi.IntPtrInput `pulumi:"bufferingInterval"` + // Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + // We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + BufferingSize pulumi.IntPtrInput `pulumi:"bufferingSize"` + // The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. + CloudwatchLoggingOptions FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrInput `pulumi:"cloudwatchLoggingOptions"` + // The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + CompressionFormat pulumi.StringPtrInput `pulumi:"compressionFormat"` + // Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + ErrorOutputPrefix pulumi.StringPtrInput `pulumi:"errorOutputPrefix"` + // Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + // be used. + KmsKeyArn pulumi.StringPtrInput `pulumi:"kmsKeyArn"` + // The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // The ARN of the AWS credentials. + RoleArn pulumi.StringInput `pulumi:"roleArn"` +} + +func (FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration)(nil)).Elem() +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput).ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutputWithContext(ctx) +} + +// FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs, FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtr and FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs{...} +// +// or: +// +// nil +type FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput +} + +type firehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrType FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs + +func FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtr(v *FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrInput { + return (*firehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrType)(v) +} + +func (*firehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration)(nil)).Elem() +} + +func (i *firehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrType) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *firehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrType) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput { + return o.ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutputWithContext(context.Background()) +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration { + return &v + }).(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) +} + +// The ARN of the S3 bucket +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) BucketArn() pulumi.StringOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) string { return v.BucketArn }).(pulumi.StringOutput) +} + +// Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) BufferingInterval() pulumi.IntPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *int { return v.BufferingInterval }).(pulumi.IntPtrOutput) +} + +// Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. +// We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) BufferingSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *int { return v.BufferingSize }).(pulumi.IntPtrOutput) +} + +// The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) CloudwatchLoggingOptions() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions { + return v.CloudwatchLoggingOptions + }).(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput) +} + +// The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) CompressionFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *string { + return v.CompressionFormat + }).(pulumi.StringPtrOutput) +} + +// Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) ErrorOutputPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *string { + return v.ErrorOutputPrefix + }).(pulumi.StringPtrOutput) +} + +// Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will +// be used. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) KmsKeyArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *string { return v.KmsKeyArn }).(pulumi.StringPtrOutput) +} + +// The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +// The ARN of the AWS credentials. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) RoleArn() pulumi.StringOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) string { return v.RoleArn }).(pulumi.StringOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) Elem() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration { + if v != nil { + return *v + } + var ret FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration + return ret + }).(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput) +} + +// The ARN of the S3 bucket +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) BucketArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *string { + if v == nil { + return nil + } + return &v.BucketArn + }).(pulumi.StringPtrOutput) +} + +// Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) BufferingInterval() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *int { + if v == nil { + return nil + } + return v.BufferingInterval + }).(pulumi.IntPtrOutput) +} + +// Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. +// We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) BufferingSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *int { + if v == nil { + return nil + } + return v.BufferingSize + }).(pulumi.IntPtrOutput) +} + +// The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) CloudwatchLoggingOptions() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions { + if v == nil { + return nil + } + return v.CloudwatchLoggingOptions + }).(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput) +} + +// The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) CompressionFormat() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *string { + if v == nil { + return nil + } + return v.CompressionFormat + }).(pulumi.StringPtrOutput) +} + +// Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) ErrorOutputPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *string { + if v == nil { + return nil + } + return v.ErrorOutputPrefix + }).(pulumi.StringPtrOutput) +} + +// Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will +// be used. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) KmsKeyArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *string { + if v == nil { + return nil + } + return v.KmsKeyArn + }).(pulumi.StringPtrOutput) +} + +// The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *string { + if v == nil { + return nil + } + return v.Prefix + }).(pulumi.StringPtrOutput) +} + +// The ARN of the AWS credentials. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput) RoleArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration) *string { + if v == nil { + return nil + } + return &v.RoleArn + }).(pulumi.StringPtrOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions struct { + // Enables or disables the logging. Defaults to `false`. + Enabled *bool `pulumi:"enabled"` + // The CloudWatch group name for logging. This value is required if `enabled` is true. + LogGroupName *string `pulumi:"logGroupName"` + // The CloudWatch log stream name for logging. This value is required if `enabled` is true. + LogStreamName *string `pulumi:"logStreamName"` +} + +// FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs and FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs{...} +type FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput +} + +type FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs struct { + // Enables or disables the logging. Defaults to `false`. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + // The CloudWatch group name for logging. This value is required if `enabled` is true. + LogGroupName pulumi.StringPtrInput `pulumi:"logGroupName"` + // The CloudWatch log stream name for logging. This value is required if `enabled` is true. + LogStreamName pulumi.StringPtrInput `pulumi:"logStreamName"` +} + +func (FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions)(nil)).Elem() +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput).ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(ctx) +} + +// FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs, FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtr and FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs{...} +// +// or: +// +// nil +type FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput +} + +type firehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrType FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs + +func FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtr(v *FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrInput { + return (*firehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrType)(v) +} + +func (*firehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions)(nil)).Elem() +} + +func (i *firehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrType) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(context.Background()) +} + +func (i *firehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrType) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput { + return o.ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(context.Background()) +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions) *FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions { + return &v + }).(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput) +} + +// Enables or disables the logging. Defaults to `false`. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions) *bool { + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// The CloudWatch group name for logging. This value is required if `enabled` is true. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput) LogGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions) *string { + return v.LogGroupName + }).(pulumi.StringPtrOutput) +} + +// The CloudWatch log stream name for logging. This value is required if `enabled` is true. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput) LogStreamName() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions) *string { + return v.LogStreamName + }).(pulumi.StringPtrOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput) Elem() FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions) FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions { + if v != nil { + return *v + } + var ret FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions + return ret + }).(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput) +} + +// Enables or disables the logging. Defaults to `false`. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// The CloudWatch group name for logging. This value is required if `enabled` is true. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput) LogGroupName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions) *string { + if v == nil { + return nil + } + return v.LogGroupName + }).(pulumi.StringPtrOutput) +} + +// The CloudWatch log stream name for logging. This value is required if `enabled` is true. +func (o FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput) LogStreamName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions) *string { + if v == nil { + return nil + } + return v.LogStreamName + }).(pulumi.StringPtrOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration struct { + // Whether the Snowflake role is enabled. + Enabled *bool `pulumi:"enabled"` + // The Snowflake role. + SnowflakeRole *string `pulumi:"snowflakeRole"` +} + +// FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs and FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs{...} +type FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput +} + +type FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs struct { + // Whether the Snowflake role is enabled. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + // The Snowflake role. + SnowflakeRole pulumi.StringPtrInput `pulumi:"snowflakeRole"` +} + +func (FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration)(nil)).Elem() +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput).ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutputWithContext(ctx) +} + +// FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs, FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtr and FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs{...} +// +// or: +// +// nil +type FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput +} + +type firehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrType FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs + +func FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtr(v *FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrInput { + return (*firehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrType)(v) +} + +func (*firehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration)(nil)).Elem() +} + +func (i *firehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrType) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *firehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrType) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput { + return o.ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutputWithContext(context.Background()) +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration) *FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration { + return &v + }).(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput) +} + +// Whether the Snowflake role is enabled. +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +// The Snowflake role. +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput) SnowflakeRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration) *string { + return v.SnowflakeRole + }).(pulumi.StringPtrOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput) Elem() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration { + if v != nil { + return *v + } + var ret FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration + return ret + }).(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput) +} + +// Whether the Snowflake role is enabled. +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// The Snowflake role. +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput) SnowflakeRole() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration) *string { + if v == nil { + return nil + } + return v.SnowflakeRole + }).(pulumi.StringPtrOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration struct { + // The VPCE ID for Firehose to privately connect with Snowflake. + PrivateLinkVpceId string `pulumi:"privateLinkVpceId"` +} + +// FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs and FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs{...} +type FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput +} + +type FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs struct { + // The VPCE ID for Firehose to privately connect with Snowflake. + PrivateLinkVpceId pulumi.StringInput `pulumi:"privateLinkVpceId"` +} + +func (FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration)(nil)).Elem() +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutputWithContext(context.Background()) +} + +func (i FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput).ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutputWithContext(ctx) +} + +// FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrInput is an input type that accepts FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs, FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtr and FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput values. +// You can construct a concrete instance of `FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrInput` via: +// +// FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs{...} +// +// or: +// +// nil +type FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrInput interface { + pulumi.Input + + ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput + ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutputWithContext(context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput +} + +type firehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrType FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs + +func FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtr(v *FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrInput { + return (*firehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrType)(v) +} + +func (*firehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration)(nil)).Elem() +} + +func (i *firehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrType) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput { + return i.ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *firehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrType) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput { + return o.ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutputWithContext(context.Background()) +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration) *FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration { + return &v + }).(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput) +} + +// The VPCE ID for Firehose to privately connect with Snowflake. +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput) PrivateLinkVpceId() pulumi.StringOutput { + return o.ApplyT(func(v FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration) string { + return v.PrivateLinkVpceId + }).(pulumi.StringOutput) +} + +type FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration)(nil)).Elem() +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput) ToFirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutputWithContext(ctx context.Context) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput { + return o +} + +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput) Elem() FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration) FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration { + if v != nil { + return *v + } + var ret FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration + return ret + }).(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput) +} + +// The VPCE ID for Firehose to privately connect with Snowflake. +func (o FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput) PrivateLinkVpceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration) *string { + if v == nil { + return nil + } + return &v.PrivateLinkVpceId + }).(pulumi.StringPtrOutput) +} + type FirehoseDeliveryStreamSplunkConfiguration struct { // Buffer incoming data for the specified period of time, in seconds between 0 to 60, before delivering it to the destination. The default value is 60s. BufferingInterval *int `pulumi:"bufferingInterval"` @@ -18763,6 +20577,24 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrInput)(nil)).Elem(), FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamServerSideEncryptionInput)(nil)).Elem(), FirehoseDeliveryStreamServerSideEncryptionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamServerSideEncryptionPtrInput)(nil)).Elem(), FirehoseDeliveryStreamServerSideEncryptionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationPtrInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrInput)(nil)).Elem(), FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSplunkConfigurationInput)(nil)).Elem(), FirehoseDeliveryStreamSplunkConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSplunkConfigurationPtrInput)(nil)).Elem(), FirehoseDeliveryStreamSplunkConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*FirehoseDeliveryStreamSplunkConfigurationCloudwatchLoggingOptionsInput)(nil)).Elem(), FirehoseDeliveryStreamSplunkConfigurationCloudwatchLoggingOptionsArgs{}) @@ -18964,6 +20796,24 @@ func init() { pulumi.RegisterOutputType(FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput{}) pulumi.RegisterOutputType(FirehoseDeliveryStreamServerSideEncryptionOutput{}) pulumi.RegisterOutputType(FirehoseDeliveryStreamServerSideEncryptionPtrOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationPtrOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsPtrOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationPtrOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArrayOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArrayOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationPtrOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsPtrOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationPtrOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationOutput{}) + pulumi.RegisterOutputType(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationPtrOutput{}) pulumi.RegisterOutputType(FirehoseDeliveryStreamSplunkConfigurationOutput{}) pulumi.RegisterOutputType(FirehoseDeliveryStreamSplunkConfigurationPtrOutput{}) pulumi.RegisterOutputType(FirehoseDeliveryStreamSplunkConfigurationCloudwatchLoggingOptionsOutput{}) diff --git a/sdk/go/aws/memorydb/getUser.go b/sdk/go/aws/memorydb/getUser.go index 200fd66a46e..f88b0b532a3 100644 --- a/sdk/go/aws/memorydb/getUser.go +++ b/sdk/go/aws/memorydb/getUser.go @@ -50,7 +50,7 @@ func LookupUser(ctx *pulumi.Context, args *LookupUserArgs, opts ...pulumi.Invoke // A collection of arguments for invoking getUser. type LookupUserArgs struct { - // Map of tags assigned to the subnet group. + // Map of tags assigned to the user. Tags map[string]string `pulumi:"tags"` // Name of the user. UserName string `pulumi:"userName"` @@ -66,9 +66,9 @@ type LookupUserResult struct { AuthenticationModes []GetUserAuthenticationMode `pulumi:"authenticationModes"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` - // The minimum engine version supported for the user. + // Minimum engine version supported for the user. MinimumEngineVersion string `pulumi:"minimumEngineVersion"` - // Map of tags assigned to the subnet group. + // Map of tags assigned to the user. Tags map[string]string `pulumi:"tags"` UserName string `pulumi:"userName"` } @@ -88,7 +88,7 @@ func LookupUserOutput(ctx *pulumi.Context, args LookupUserOutputArgs, opts ...pu // A collection of arguments for invoking getUser. type LookupUserOutputArgs struct { - // Map of tags assigned to the subnet group. + // Map of tags assigned to the user. Tags pulumi.StringMapInput `pulumi:"tags"` // Name of the user. UserName pulumi.StringInput `pulumi:"userName"` @@ -133,12 +133,12 @@ func (o LookupUserResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupUserResult) string { return v.Id }).(pulumi.StringOutput) } -// The minimum engine version supported for the user. +// Minimum engine version supported for the user. func (o LookupUserResultOutput) MinimumEngineVersion() pulumi.StringOutput { return o.ApplyT(func(v LookupUserResult) string { return v.MinimumEngineVersion }).(pulumi.StringOutput) } -// Map of tags assigned to the subnet group. +// Map of tags assigned to the user. func (o LookupUserResultOutput) Tags() pulumi.StringMapOutput { return o.ApplyT(func(v LookupUserResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) } diff --git a/sdk/go/aws/memorydb/pulumiTypes.go b/sdk/go/aws/memorydb/pulumiTypes.go index 95d40df2a36..090fe1c4e5c 100644 --- a/sdk/go/aws/memorydb/pulumiTypes.go +++ b/sdk/go/aws/memorydb/pulumiTypes.go @@ -782,11 +782,11 @@ func (o SnapshotClusterConfigurationArrayOutput) Index(i pulumi.IntInput) Snapsh } type UserAuthenticationMode struct { - // The number of passwords belonging to the user. + // Number of passwords belonging to the user if `type` is set to `password`. PasswordCount *int `pulumi:"passwordCount"` - // The set of passwords used for authentication. You can create up to two passwords for each user. + // Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. Passwords []string `pulumi:"passwords"` - // Indicates whether the user requires a password to authenticate. Must be set to `password`. + // Specifies the authentication type. Valid values are: `password` or `iam`. Type string `pulumi:"type"` } @@ -802,11 +802,11 @@ type UserAuthenticationModeInput interface { } type UserAuthenticationModeArgs struct { - // The number of passwords belonging to the user. + // Number of passwords belonging to the user if `type` is set to `password`. PasswordCount pulumi.IntPtrInput `pulumi:"passwordCount"` - // The set of passwords used for authentication. You can create up to two passwords for each user. + // Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. Passwords pulumi.StringArrayInput `pulumi:"passwords"` - // Indicates whether the user requires a password to authenticate. Must be set to `password`. + // Specifies the authentication type. Valid values are: `password` or `iam`. Type pulumi.StringInput `pulumi:"type"` } @@ -887,17 +887,17 @@ func (o UserAuthenticationModeOutput) ToUserAuthenticationModePtrOutputWithConte }).(UserAuthenticationModePtrOutput) } -// The number of passwords belonging to the user. +// Number of passwords belonging to the user if `type` is set to `password`. func (o UserAuthenticationModeOutput) PasswordCount() pulumi.IntPtrOutput { return o.ApplyT(func(v UserAuthenticationMode) *int { return v.PasswordCount }).(pulumi.IntPtrOutput) } -// The set of passwords used for authentication. You can create up to two passwords for each user. +// Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. func (o UserAuthenticationModeOutput) Passwords() pulumi.StringArrayOutput { return o.ApplyT(func(v UserAuthenticationMode) []string { return v.Passwords }).(pulumi.StringArrayOutput) } -// Indicates whether the user requires a password to authenticate. Must be set to `password`. +// Specifies the authentication type. Valid values are: `password` or `iam`. func (o UserAuthenticationModeOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v UserAuthenticationMode) string { return v.Type }).(pulumi.StringOutput) } @@ -926,7 +926,7 @@ func (o UserAuthenticationModePtrOutput) Elem() UserAuthenticationModeOutput { }).(UserAuthenticationModeOutput) } -// The number of passwords belonging to the user. +// Number of passwords belonging to the user if `type` is set to `password`. func (o UserAuthenticationModePtrOutput) PasswordCount() pulumi.IntPtrOutput { return o.ApplyT(func(v *UserAuthenticationMode) *int { if v == nil { @@ -936,7 +936,7 @@ func (o UserAuthenticationModePtrOutput) PasswordCount() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } -// The set of passwords used for authentication. You can create up to two passwords for each user. +// Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. func (o UserAuthenticationModePtrOutput) Passwords() pulumi.StringArrayOutput { return o.ApplyT(func(v *UserAuthenticationMode) []string { if v == nil { @@ -946,7 +946,7 @@ func (o UserAuthenticationModePtrOutput) Passwords() pulumi.StringArrayOutput { }).(pulumi.StringArrayOutput) } -// Indicates whether the user requires a password to authenticate. Must be set to `password`. +// Specifies the authentication type. Valid values are: `password` or `iam`. func (o UserAuthenticationModePtrOutput) Type() pulumi.StringPtrOutput { return o.ApplyT(func(v *UserAuthenticationMode) *string { if v == nil { @@ -1725,9 +1725,9 @@ func (o GetSnapshotClusterConfigurationArrayOutput) Index(i pulumi.IntInput) Get } type GetUserAuthenticationMode struct { - // The number of passwords belonging to the user. + // Number of passwords belonging to the user if `type` is set to `password`. PasswordCount int `pulumi:"passwordCount"` - // Whether the user requires a password to authenticate. + // Type of authentication configured. Type string `pulumi:"type"` } @@ -1743,9 +1743,9 @@ type GetUserAuthenticationModeInput interface { } type GetUserAuthenticationModeArgs struct { - // The number of passwords belonging to the user. + // Number of passwords belonging to the user if `type` is set to `password`. PasswordCount pulumi.IntInput `pulumi:"passwordCount"` - // Whether the user requires a password to authenticate. + // Type of authentication configured. Type pulumi.StringInput `pulumi:"type"` } @@ -1800,12 +1800,12 @@ func (o GetUserAuthenticationModeOutput) ToGetUserAuthenticationModeOutputWithCo return o } -// The number of passwords belonging to the user. +// Number of passwords belonging to the user if `type` is set to `password`. func (o GetUserAuthenticationModeOutput) PasswordCount() pulumi.IntOutput { return o.ApplyT(func(v GetUserAuthenticationMode) int { return v.PasswordCount }).(pulumi.IntOutput) } -// Whether the user requires a password to authenticate. +// Type of authentication configured. func (o GetUserAuthenticationModeOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v GetUserAuthenticationMode) string { return v.Type }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/memorydb/user.go b/sdk/go/aws/memorydb/user.go index 3e2c2549e28..e5cf40875c5 100644 --- a/sdk/go/aws/memorydb/user.go +++ b/sdk/go/aws/memorydb/user.go @@ -68,13 +68,13 @@ import ( type User struct { pulumi.CustomResourceState - // The access permissions string used for this user. + // Access permissions string used for this user. AccessString pulumi.StringOutput `pulumi:"accessString"` - // The ARN of the user. + // ARN of the user. Arn pulumi.StringOutput `pulumi:"arn"` // Denotes the user's authentication properties. Detailed below. AuthenticationMode UserAuthenticationModeOutput `pulumi:"authenticationMode"` - // The minimum engine version supported for the user. + // Minimum engine version supported for the user. MinimumEngineVersion pulumi.StringOutput `pulumi:"minimumEngineVersion"` // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` @@ -127,13 +127,13 @@ func GetUser(ctx *pulumi.Context, // Input properties used for looking up and filtering User resources. type userState struct { - // The access permissions string used for this user. + // Access permissions string used for this user. AccessString *string `pulumi:"accessString"` - // The ARN of the user. + // ARN of the user. Arn *string `pulumi:"arn"` // Denotes the user's authentication properties. Detailed below. AuthenticationMode *UserAuthenticationMode `pulumi:"authenticationMode"` - // The minimum engine version supported for the user. + // Minimum engine version supported for the user. MinimumEngineVersion *string `pulumi:"minimumEngineVersion"` // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` @@ -148,13 +148,13 @@ type userState struct { } type UserState struct { - // The access permissions string used for this user. + // Access permissions string used for this user. AccessString pulumi.StringPtrInput - // The ARN of the user. + // ARN of the user. Arn pulumi.StringPtrInput // Denotes the user's authentication properties. Detailed below. AuthenticationMode UserAuthenticationModePtrInput - // The minimum engine version supported for the user. + // Minimum engine version supported for the user. MinimumEngineVersion pulumi.StringPtrInput // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput @@ -173,7 +173,7 @@ func (UserState) ElementType() reflect.Type { } type userArgs struct { - // The access permissions string used for this user. + // Access permissions string used for this user. AccessString string `pulumi:"accessString"` // Denotes the user's authentication properties. Detailed below. AuthenticationMode UserAuthenticationMode `pulumi:"authenticationMode"` @@ -187,7 +187,7 @@ type userArgs struct { // The set of arguments for constructing a User resource. type UserArgs struct { - // The access permissions string used for this user. + // Access permissions string used for this user. AccessString pulumi.StringInput // Denotes the user's authentication properties. Detailed below. AuthenticationMode UserAuthenticationModeInput @@ -286,12 +286,12 @@ func (o UserOutput) ToUserOutputWithContext(ctx context.Context) UserOutput { return o } -// The access permissions string used for this user. +// Access permissions string used for this user. func (o UserOutput) AccessString() pulumi.StringOutput { return o.ApplyT(func(v *User) pulumi.StringOutput { return v.AccessString }).(pulumi.StringOutput) } -// The ARN of the user. +// ARN of the user. func (o UserOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *User) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } @@ -301,7 +301,7 @@ func (o UserOutput) AuthenticationMode() UserAuthenticationModeOutput { return o.ApplyT(func(v *User) UserAuthenticationModeOutput { return v.AuthenticationMode }).(UserAuthenticationModeOutput) } -// The minimum engine version supported for the user. +// Minimum engine version supported for the user. func (o UserOutput) MinimumEngineVersion() pulumi.StringOutput { return o.ApplyT(func(v *User) pulumi.StringOutput { return v.MinimumEngineVersion }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/pulumiTypes.go b/sdk/go/aws/pulumiTypes.go index a0b23895eac..ff3fe396ebb 100644 --- a/sdk/go/aws/pulumiTypes.go +++ b/sdk/go/aws/pulumiTypes.go @@ -1132,6 +1132,8 @@ type ProviderEndpoint struct { // Use this to override the default service endpoint URL Route53domains *string `pulumi:"route53domains"` // Use this to override the default service endpoint URL + Route53profiles *string `pulumi:"route53profiles"` + // Use this to override the default service endpoint URL Route53recoverycontrolconfig *string `pulumi:"route53recoverycontrolconfig"` // Use this to override the default service endpoint URL Route53recoveryreadiness *string `pulumi:"route53recoveryreadiness"` @@ -1702,6 +1704,8 @@ type ProviderEndpointArgs struct { // Use this to override the default service endpoint URL Route53domains pulumi.StringPtrInput `pulumi:"route53domains"` // Use this to override the default service endpoint URL + Route53profiles pulumi.StringPtrInput `pulumi:"route53profiles"` + // Use this to override the default service endpoint URL Route53recoverycontrolconfig pulumi.StringPtrInput `pulumi:"route53recoverycontrolconfig"` // Use this to override the default service endpoint URL Route53recoveryreadiness pulumi.StringPtrInput `pulumi:"route53recoveryreadiness"` @@ -2982,6 +2986,11 @@ func (o ProviderEndpointOutput) Route53domains() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Route53domains }).(pulumi.StringPtrOutput) } +// Use this to override the default service endpoint URL +func (o ProviderEndpointOutput) Route53profiles() pulumi.StringPtrOutput { + return o.ApplyT(func(v ProviderEndpoint) *string { return v.Route53profiles }).(pulumi.StringPtrOutput) +} + // Use this to override the default service endpoint URL func (o ProviderEndpointOutput) Route53recoverycontrolconfig() pulumi.StringPtrOutput { return o.ApplyT(func(v ProviderEndpoint) *string { return v.Route53recoverycontrolconfig }).(pulumi.StringPtrOutput) diff --git a/sdk/go/aws/rds/instance.go b/sdk/go/aws/rds/instance.go index 81dbd540ed6..aa9de0eb684 100644 --- a/sdk/go/aws/rds/instance.go +++ b/sdk/go/aws/rds/instance.go @@ -488,6 +488,8 @@ type Instance struct { // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) // for additional read replica constraints. DbSubnetGroupName pulumi.StringOutput `pulumi:"dbSubnetGroupName"` + // Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + DedicatedLogVolume pulumi.BoolPtrOutput `pulumi:"dedicatedLogVolume"` // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. DeleteAutomatedBackups pulumi.BoolPtrOutput `pulumi:"deleteAutomatedBackups"` // If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. @@ -769,6 +771,8 @@ type instanceState struct { // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) // for additional read replica constraints. DbSubnetGroupName *string `pulumi:"dbSubnetGroupName"` + // Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + DedicatedLogVolume *bool `pulumi:"dedicatedLogVolume"` // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. DeleteAutomatedBackups *bool `pulumi:"deleteAutomatedBackups"` // If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. @@ -1011,6 +1015,8 @@ type InstanceState struct { // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) // for additional read replica constraints. DbSubnetGroupName pulumi.StringPtrInput + // Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + DedicatedLogVolume pulumi.BoolPtrInput // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. DeleteAutomatedBackups pulumi.BoolPtrInput // If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. @@ -1253,6 +1259,8 @@ type instanceArgs struct { // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) // for additional read replica constraints. DbSubnetGroupName *string `pulumi:"dbSubnetGroupName"` + // Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + DedicatedLogVolume *bool `pulumi:"dedicatedLogVolume"` // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. DeleteAutomatedBackups *bool `pulumi:"deleteAutomatedBackups"` // If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. @@ -1471,6 +1479,8 @@ type InstanceArgs struct { // action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) // for additional read replica constraints. DbSubnetGroupName pulumi.StringPtrInput + // Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + DedicatedLogVolume pulumi.BoolPtrInput // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. DeleteAutomatedBackups pulumi.BoolPtrInput // If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. @@ -1832,6 +1842,11 @@ func (o InstanceOutput) DbSubnetGroupName() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.DbSubnetGroupName }).(pulumi.StringOutput) } +// Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. +func (o InstanceOutput) DedicatedLogVolume() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.DedicatedLogVolume }).(pulumi.BoolPtrOutput) +} + // Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. func (o InstanceOutput) DeleteAutomatedBackups() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.DeleteAutomatedBackups }).(pulumi.BoolPtrOutput) diff --git a/sdk/go/aws/sagemaker/appImageConfig.go b/sdk/go/aws/sagemaker/appImageConfig.go index e8addfd7680..dd0d1d2c9b0 100644 --- a/sdk/go/aws/sagemaker/appImageConfig.go +++ b/sdk/go/aws/sagemaker/appImageConfig.go @@ -16,69 +16,6 @@ import ( // // ## Example Usage // -// ### Basic usage -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := sagemaker.NewAppImageConfig(ctx, "test", &sagemaker.AppImageConfigArgs{ -// AppImageConfigName: pulumi.String("example"), -// KernelGatewayImageConfig: &sagemaker.AppImageConfigKernelGatewayImageConfigArgs{ -// KernelSpec: &sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs{ -// Name: pulumi.String("example"), -// }, -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// -// ### Default File System Config -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// _, err := sagemaker.NewAppImageConfig(ctx, "test", &sagemaker.AppImageConfigArgs{ -// AppImageConfigName: pulumi.String("example"), -// KernelGatewayImageConfig: &sagemaker.AppImageConfigKernelGatewayImageConfigArgs{ -// KernelSpec: &sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs{ -// Name: pulumi.String("example"), -// }, -// FileSystemConfig: nil, -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// // ## Import // // Using `pulumi import`, import SageMaker App Image Configs using the `name`. For example: @@ -92,7 +29,10 @@ type AppImageConfig struct { // The name of the App Image Config. AppImageConfigName pulumi.StringOutput `pulumi:"appImageConfigName"` // The Amazon Resource Name (ARN) assigned by AWS to this App Image Config. - Arn pulumi.StringOutput `pulumi:"arn"` + Arn pulumi.StringOutput `pulumi:"arn"` + // The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + CodeEditorAppImageConfig AppImageConfigCodeEditorAppImageConfigPtrOutput `pulumi:"codeEditorAppImageConfig"` + // The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. JupyterLabImageConfig AppImageConfigJupyterLabImageConfigPtrOutput `pulumi:"jupyterLabImageConfig"` // The configuration for the file system and kernels in a SageMaker image running as a KernelGateway app. See Kernel Gateway Image Config details below. KernelGatewayImageConfig AppImageConfigKernelGatewayImageConfigPtrOutput `pulumi:"kernelGatewayImageConfig"` @@ -140,7 +80,10 @@ type appImageConfigState struct { // The name of the App Image Config. AppImageConfigName *string `pulumi:"appImageConfigName"` // The Amazon Resource Name (ARN) assigned by AWS to this App Image Config. - Arn *string `pulumi:"arn"` + Arn *string `pulumi:"arn"` + // The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + CodeEditorAppImageConfig *AppImageConfigCodeEditorAppImageConfig `pulumi:"codeEditorAppImageConfig"` + // The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. JupyterLabImageConfig *AppImageConfigJupyterLabImageConfig `pulumi:"jupyterLabImageConfig"` // The configuration for the file system and kernels in a SageMaker image running as a KernelGateway app. See Kernel Gateway Image Config details below. KernelGatewayImageConfig *AppImageConfigKernelGatewayImageConfig `pulumi:"kernelGatewayImageConfig"` @@ -156,7 +99,10 @@ type AppImageConfigState struct { // The name of the App Image Config. AppImageConfigName pulumi.StringPtrInput // The Amazon Resource Name (ARN) assigned by AWS to this App Image Config. - Arn pulumi.StringPtrInput + Arn pulumi.StringPtrInput + // The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + CodeEditorAppImageConfig AppImageConfigCodeEditorAppImageConfigPtrInput + // The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. JupyterLabImageConfig AppImageConfigJupyterLabImageConfigPtrInput // The configuration for the file system and kernels in a SageMaker image running as a KernelGateway app. See Kernel Gateway Image Config details below. KernelGatewayImageConfig AppImageConfigKernelGatewayImageConfigPtrInput @@ -174,7 +120,10 @@ func (AppImageConfigState) ElementType() reflect.Type { type appImageConfigArgs struct { // The name of the App Image Config. - AppImageConfigName string `pulumi:"appImageConfigName"` + AppImageConfigName string `pulumi:"appImageConfigName"` + // The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + CodeEditorAppImageConfig *AppImageConfigCodeEditorAppImageConfig `pulumi:"codeEditorAppImageConfig"` + // The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. JupyterLabImageConfig *AppImageConfigJupyterLabImageConfig `pulumi:"jupyterLabImageConfig"` // The configuration for the file system and kernels in a SageMaker image running as a KernelGateway app. See Kernel Gateway Image Config details below. KernelGatewayImageConfig *AppImageConfigKernelGatewayImageConfig `pulumi:"kernelGatewayImageConfig"` @@ -185,7 +134,10 @@ type appImageConfigArgs struct { // The set of arguments for constructing a AppImageConfig resource. type AppImageConfigArgs struct { // The name of the App Image Config. - AppImageConfigName pulumi.StringInput + AppImageConfigName pulumi.StringInput + // The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + CodeEditorAppImageConfig AppImageConfigCodeEditorAppImageConfigPtrInput + // The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. JupyterLabImageConfig AppImageConfigJupyterLabImageConfigPtrInput // The configuration for the file system and kernels in a SageMaker image running as a KernelGateway app. See Kernel Gateway Image Config details below. KernelGatewayImageConfig AppImageConfigKernelGatewayImageConfigPtrInput @@ -290,6 +242,14 @@ func (o AppImageConfigOutput) Arn() pulumi.StringOutput { return o.ApplyT(func(v *AppImageConfig) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) } +// The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. +func (o AppImageConfigOutput) CodeEditorAppImageConfig() AppImageConfigCodeEditorAppImageConfigPtrOutput { + return o.ApplyT(func(v *AppImageConfig) AppImageConfigCodeEditorAppImageConfigPtrOutput { + return v.CodeEditorAppImageConfig + }).(AppImageConfigCodeEditorAppImageConfigPtrOutput) +} + +// The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. func (o AppImageConfigOutput) JupyterLabImageConfig() AppImageConfigJupyterLabImageConfigPtrOutput { return o.ApplyT(func(v *AppImageConfig) AppImageConfigJupyterLabImageConfigPtrOutput { return v.JupyterLabImageConfig }).(AppImageConfigJupyterLabImageConfigPtrOutput) } diff --git a/sdk/go/aws/sagemaker/domain.go b/sdk/go/aws/sagemaker/domain.go index b63345495b9..1f0744fa5fb 100644 --- a/sdk/go/aws/sagemaker/domain.go +++ b/sdk/go/aws/sagemaker/domain.go @@ -79,73 +79,6 @@ import ( // // ``` // -// ### Using Custom Images -// -// ```go -// package main -// -// import ( -// -// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sagemaker" -// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" -// -// ) -// -// func main() { -// pulumi.Run(func(ctx *pulumi.Context) error { -// example, err := sagemaker.NewImage(ctx, "example", &sagemaker.ImageArgs{ -// ImageName: pulumi.String("example"), -// RoleArn: pulumi.Any(exampleAwsIamRole.Arn), -// }) -// if err != nil { -// return err -// } -// exampleAppImageConfig, err := sagemaker.NewAppImageConfig(ctx, "example", &sagemaker.AppImageConfigArgs{ -// AppImageConfigName: pulumi.String("example"), -// KernelGatewayImageConfig: &sagemaker.AppImageConfigKernelGatewayImageConfigArgs{ -// KernelSpec: &sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs{ -// Name: pulumi.String("example"), -// }, -// }, -// }) -// if err != nil { -// return err -// } -// exampleImageVersion, err := sagemaker.NewImageVersion(ctx, "example", &sagemaker.ImageVersionArgs{ -// ImageName: example.ID(), -// BaseImage: pulumi.String("base-image"), -// }) -// if err != nil { -// return err -// } -// _, err = sagemaker.NewDomain(ctx, "example", &sagemaker.DomainArgs{ -// DomainName: pulumi.String("example"), -// AuthMode: pulumi.String("IAM"), -// VpcId: pulumi.Any(exampleAwsVpc.Id), -// SubnetIds: pulumi.StringArray{ -// exampleAwsSubnet.Id, -// }, -// DefaultUserSettings: &sagemaker.DomainDefaultUserSettingsArgs{ -// ExecutionRole: pulumi.Any(exampleAwsIamRole.Arn), -// KernelGatewayAppSettings: &sagemaker.DomainDefaultUserSettingsKernelGatewayAppSettingsArgs{ -// CustomImages: sagemaker.DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArray{ -// &sagemaker.DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs{ -// AppImageConfigName: exampleAppImageConfig.AppImageConfigName, -// ImageName: exampleImageVersion.ImageName, -// }, -// }, -// }, -// }, -// }) -// if err != nil { -// return err -// } -// return nil -// }) -// } -// -// ``` -// // ## Import // // Using `pulumi import`, import SageMaker Domains using the `id`. For example: diff --git a/sdk/go/aws/sagemaker/pulumiTypes.go b/sdk/go/aws/sagemaker/pulumiTypes.go index 88025e0a864..ad507694427 100644 --- a/sdk/go/aws/sagemaker/pulumiTypes.go +++ b/sdk/go/aws/sagemaker/pulumiTypes.go @@ -13,9 +13,531 @@ import ( var _ = internal.GetEnvOrDefault +type AppImageConfigCodeEditorAppImageConfig struct { + // The configuration used to run the application image container. See Container Config details below. + ContainerConfig *AppImageConfigCodeEditorAppImageConfigContainerConfig `pulumi:"containerConfig"` + // The URL where the Git repository is located. See File System Config details below. + FileSystemConfig *AppImageConfigCodeEditorAppImageConfigFileSystemConfig `pulumi:"fileSystemConfig"` +} + +// AppImageConfigCodeEditorAppImageConfigInput is an input type that accepts AppImageConfigCodeEditorAppImageConfigArgs and AppImageConfigCodeEditorAppImageConfigOutput values. +// You can construct a concrete instance of `AppImageConfigCodeEditorAppImageConfigInput` via: +// +// AppImageConfigCodeEditorAppImageConfigArgs{...} +type AppImageConfigCodeEditorAppImageConfigInput interface { + pulumi.Input + + ToAppImageConfigCodeEditorAppImageConfigOutput() AppImageConfigCodeEditorAppImageConfigOutput + ToAppImageConfigCodeEditorAppImageConfigOutputWithContext(context.Context) AppImageConfigCodeEditorAppImageConfigOutput +} + +type AppImageConfigCodeEditorAppImageConfigArgs struct { + // The configuration used to run the application image container. See Container Config details below. + ContainerConfig AppImageConfigCodeEditorAppImageConfigContainerConfigPtrInput `pulumi:"containerConfig"` + // The URL where the Git repository is located. See File System Config details below. + FileSystemConfig AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrInput `pulumi:"fileSystemConfig"` +} + +func (AppImageConfigCodeEditorAppImageConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppImageConfigCodeEditorAppImageConfig)(nil)).Elem() +} + +func (i AppImageConfigCodeEditorAppImageConfigArgs) ToAppImageConfigCodeEditorAppImageConfigOutput() AppImageConfigCodeEditorAppImageConfigOutput { + return i.ToAppImageConfigCodeEditorAppImageConfigOutputWithContext(context.Background()) +} + +func (i AppImageConfigCodeEditorAppImageConfigArgs) ToAppImageConfigCodeEditorAppImageConfigOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppImageConfigCodeEditorAppImageConfigOutput) +} + +func (i AppImageConfigCodeEditorAppImageConfigArgs) ToAppImageConfigCodeEditorAppImageConfigPtrOutput() AppImageConfigCodeEditorAppImageConfigPtrOutput { + return i.ToAppImageConfigCodeEditorAppImageConfigPtrOutputWithContext(context.Background()) +} + +func (i AppImageConfigCodeEditorAppImageConfigArgs) ToAppImageConfigCodeEditorAppImageConfigPtrOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppImageConfigCodeEditorAppImageConfigOutput).ToAppImageConfigCodeEditorAppImageConfigPtrOutputWithContext(ctx) +} + +// AppImageConfigCodeEditorAppImageConfigPtrInput is an input type that accepts AppImageConfigCodeEditorAppImageConfigArgs, AppImageConfigCodeEditorAppImageConfigPtr and AppImageConfigCodeEditorAppImageConfigPtrOutput values. +// You can construct a concrete instance of `AppImageConfigCodeEditorAppImageConfigPtrInput` via: +// +// AppImageConfigCodeEditorAppImageConfigArgs{...} +// +// or: +// +// nil +type AppImageConfigCodeEditorAppImageConfigPtrInput interface { + pulumi.Input + + ToAppImageConfigCodeEditorAppImageConfigPtrOutput() AppImageConfigCodeEditorAppImageConfigPtrOutput + ToAppImageConfigCodeEditorAppImageConfigPtrOutputWithContext(context.Context) AppImageConfigCodeEditorAppImageConfigPtrOutput +} + +type appImageConfigCodeEditorAppImageConfigPtrType AppImageConfigCodeEditorAppImageConfigArgs + +func AppImageConfigCodeEditorAppImageConfigPtr(v *AppImageConfigCodeEditorAppImageConfigArgs) AppImageConfigCodeEditorAppImageConfigPtrInput { + return (*appImageConfigCodeEditorAppImageConfigPtrType)(v) +} + +func (*appImageConfigCodeEditorAppImageConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppImageConfigCodeEditorAppImageConfig)(nil)).Elem() +} + +func (i *appImageConfigCodeEditorAppImageConfigPtrType) ToAppImageConfigCodeEditorAppImageConfigPtrOutput() AppImageConfigCodeEditorAppImageConfigPtrOutput { + return i.ToAppImageConfigCodeEditorAppImageConfigPtrOutputWithContext(context.Background()) +} + +func (i *appImageConfigCodeEditorAppImageConfigPtrType) ToAppImageConfigCodeEditorAppImageConfigPtrOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppImageConfigCodeEditorAppImageConfigPtrOutput) +} + +type AppImageConfigCodeEditorAppImageConfigOutput struct{ *pulumi.OutputState } + +func (AppImageConfigCodeEditorAppImageConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppImageConfigCodeEditorAppImageConfig)(nil)).Elem() +} + +func (o AppImageConfigCodeEditorAppImageConfigOutput) ToAppImageConfigCodeEditorAppImageConfigOutput() AppImageConfigCodeEditorAppImageConfigOutput { + return o +} + +func (o AppImageConfigCodeEditorAppImageConfigOutput) ToAppImageConfigCodeEditorAppImageConfigOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigOutput { + return o +} + +func (o AppImageConfigCodeEditorAppImageConfigOutput) ToAppImageConfigCodeEditorAppImageConfigPtrOutput() AppImageConfigCodeEditorAppImageConfigPtrOutput { + return o.ToAppImageConfigCodeEditorAppImageConfigPtrOutputWithContext(context.Background()) +} + +func (o AppImageConfigCodeEditorAppImageConfigOutput) ToAppImageConfigCodeEditorAppImageConfigPtrOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppImageConfigCodeEditorAppImageConfig) *AppImageConfigCodeEditorAppImageConfig { + return &v + }).(AppImageConfigCodeEditorAppImageConfigPtrOutput) +} + +// The configuration used to run the application image container. See Container Config details below. +func (o AppImageConfigCodeEditorAppImageConfigOutput) ContainerConfig() AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput { + return o.ApplyT(func(v AppImageConfigCodeEditorAppImageConfig) *AppImageConfigCodeEditorAppImageConfigContainerConfig { + return v.ContainerConfig + }).(AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput) +} + +// The URL where the Git repository is located. See File System Config details below. +func (o AppImageConfigCodeEditorAppImageConfigOutput) FileSystemConfig() AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput { + return o.ApplyT(func(v AppImageConfigCodeEditorAppImageConfig) *AppImageConfigCodeEditorAppImageConfigFileSystemConfig { + return v.FileSystemConfig + }).(AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput) +} + +type AppImageConfigCodeEditorAppImageConfigPtrOutput struct{ *pulumi.OutputState } + +func (AppImageConfigCodeEditorAppImageConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppImageConfigCodeEditorAppImageConfig)(nil)).Elem() +} + +func (o AppImageConfigCodeEditorAppImageConfigPtrOutput) ToAppImageConfigCodeEditorAppImageConfigPtrOutput() AppImageConfigCodeEditorAppImageConfigPtrOutput { + return o +} + +func (o AppImageConfigCodeEditorAppImageConfigPtrOutput) ToAppImageConfigCodeEditorAppImageConfigPtrOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigPtrOutput { + return o +} + +func (o AppImageConfigCodeEditorAppImageConfigPtrOutput) Elem() AppImageConfigCodeEditorAppImageConfigOutput { + return o.ApplyT(func(v *AppImageConfigCodeEditorAppImageConfig) AppImageConfigCodeEditorAppImageConfig { + if v != nil { + return *v + } + var ret AppImageConfigCodeEditorAppImageConfig + return ret + }).(AppImageConfigCodeEditorAppImageConfigOutput) +} + +// The configuration used to run the application image container. See Container Config details below. +func (o AppImageConfigCodeEditorAppImageConfigPtrOutput) ContainerConfig() AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput { + return o.ApplyT(func(v *AppImageConfigCodeEditorAppImageConfig) *AppImageConfigCodeEditorAppImageConfigContainerConfig { + if v == nil { + return nil + } + return v.ContainerConfig + }).(AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput) +} + +// The URL where the Git repository is located. See File System Config details below. +func (o AppImageConfigCodeEditorAppImageConfigPtrOutput) FileSystemConfig() AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput { + return o.ApplyT(func(v *AppImageConfigCodeEditorAppImageConfig) *AppImageConfigCodeEditorAppImageConfigFileSystemConfig { + if v == nil { + return nil + } + return v.FileSystemConfig + }).(AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput) +} + +type AppImageConfigCodeEditorAppImageConfigContainerConfig struct { + // The arguments for the container when you're running the application. + ContainerArguments []string `pulumi:"containerArguments"` + // The entrypoint used to run the application in the container. + ContainerEntrypoints []string `pulumi:"containerEntrypoints"` + // The environment variables to set in the container. + ContainerEnvironmentVariables map[string]string `pulumi:"containerEnvironmentVariables"` +} + +// AppImageConfigCodeEditorAppImageConfigContainerConfigInput is an input type that accepts AppImageConfigCodeEditorAppImageConfigContainerConfigArgs and AppImageConfigCodeEditorAppImageConfigContainerConfigOutput values. +// You can construct a concrete instance of `AppImageConfigCodeEditorAppImageConfigContainerConfigInput` via: +// +// AppImageConfigCodeEditorAppImageConfigContainerConfigArgs{...} +type AppImageConfigCodeEditorAppImageConfigContainerConfigInput interface { + pulumi.Input + + ToAppImageConfigCodeEditorAppImageConfigContainerConfigOutput() AppImageConfigCodeEditorAppImageConfigContainerConfigOutput + ToAppImageConfigCodeEditorAppImageConfigContainerConfigOutputWithContext(context.Context) AppImageConfigCodeEditorAppImageConfigContainerConfigOutput +} + +type AppImageConfigCodeEditorAppImageConfigContainerConfigArgs struct { + // The arguments for the container when you're running the application. + ContainerArguments pulumi.StringArrayInput `pulumi:"containerArguments"` + // The entrypoint used to run the application in the container. + ContainerEntrypoints pulumi.StringArrayInput `pulumi:"containerEntrypoints"` + // The environment variables to set in the container. + ContainerEnvironmentVariables pulumi.StringMapInput `pulumi:"containerEnvironmentVariables"` +} + +func (AppImageConfigCodeEditorAppImageConfigContainerConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppImageConfigCodeEditorAppImageConfigContainerConfig)(nil)).Elem() +} + +func (i AppImageConfigCodeEditorAppImageConfigContainerConfigArgs) ToAppImageConfigCodeEditorAppImageConfigContainerConfigOutput() AppImageConfigCodeEditorAppImageConfigContainerConfigOutput { + return i.ToAppImageConfigCodeEditorAppImageConfigContainerConfigOutputWithContext(context.Background()) +} + +func (i AppImageConfigCodeEditorAppImageConfigContainerConfigArgs) ToAppImageConfigCodeEditorAppImageConfigContainerConfigOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigContainerConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppImageConfigCodeEditorAppImageConfigContainerConfigOutput) +} + +func (i AppImageConfigCodeEditorAppImageConfigContainerConfigArgs) ToAppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput() AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput { + return i.ToAppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutputWithContext(context.Background()) +} + +func (i AppImageConfigCodeEditorAppImageConfigContainerConfigArgs) ToAppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppImageConfigCodeEditorAppImageConfigContainerConfigOutput).ToAppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutputWithContext(ctx) +} + +// AppImageConfigCodeEditorAppImageConfigContainerConfigPtrInput is an input type that accepts AppImageConfigCodeEditorAppImageConfigContainerConfigArgs, AppImageConfigCodeEditorAppImageConfigContainerConfigPtr and AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput values. +// You can construct a concrete instance of `AppImageConfigCodeEditorAppImageConfigContainerConfigPtrInput` via: +// +// AppImageConfigCodeEditorAppImageConfigContainerConfigArgs{...} +// +// or: +// +// nil +type AppImageConfigCodeEditorAppImageConfigContainerConfigPtrInput interface { + pulumi.Input + + ToAppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput() AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput + ToAppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutputWithContext(context.Context) AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput +} + +type appImageConfigCodeEditorAppImageConfigContainerConfigPtrType AppImageConfigCodeEditorAppImageConfigContainerConfigArgs + +func AppImageConfigCodeEditorAppImageConfigContainerConfigPtr(v *AppImageConfigCodeEditorAppImageConfigContainerConfigArgs) AppImageConfigCodeEditorAppImageConfigContainerConfigPtrInput { + return (*appImageConfigCodeEditorAppImageConfigContainerConfigPtrType)(v) +} + +func (*appImageConfigCodeEditorAppImageConfigContainerConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppImageConfigCodeEditorAppImageConfigContainerConfig)(nil)).Elem() +} + +func (i *appImageConfigCodeEditorAppImageConfigContainerConfigPtrType) ToAppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput() AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput { + return i.ToAppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutputWithContext(context.Background()) +} + +func (i *appImageConfigCodeEditorAppImageConfigContainerConfigPtrType) ToAppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput) +} + +type AppImageConfigCodeEditorAppImageConfigContainerConfigOutput struct{ *pulumi.OutputState } + +func (AppImageConfigCodeEditorAppImageConfigContainerConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppImageConfigCodeEditorAppImageConfigContainerConfig)(nil)).Elem() +} + +func (o AppImageConfigCodeEditorAppImageConfigContainerConfigOutput) ToAppImageConfigCodeEditorAppImageConfigContainerConfigOutput() AppImageConfigCodeEditorAppImageConfigContainerConfigOutput { + return o +} + +func (o AppImageConfigCodeEditorAppImageConfigContainerConfigOutput) ToAppImageConfigCodeEditorAppImageConfigContainerConfigOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigContainerConfigOutput { + return o +} + +func (o AppImageConfigCodeEditorAppImageConfigContainerConfigOutput) ToAppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput() AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput { + return o.ToAppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutputWithContext(context.Background()) +} + +func (o AppImageConfigCodeEditorAppImageConfigContainerConfigOutput) ToAppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppImageConfigCodeEditorAppImageConfigContainerConfig) *AppImageConfigCodeEditorAppImageConfigContainerConfig { + return &v + }).(AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput) +} + +// The arguments for the container when you're running the application. +func (o AppImageConfigCodeEditorAppImageConfigContainerConfigOutput) ContainerArguments() pulumi.StringArrayOutput { + return o.ApplyT(func(v AppImageConfigCodeEditorAppImageConfigContainerConfig) []string { return v.ContainerArguments }).(pulumi.StringArrayOutput) +} + +// The entrypoint used to run the application in the container. +func (o AppImageConfigCodeEditorAppImageConfigContainerConfigOutput) ContainerEntrypoints() pulumi.StringArrayOutput { + return o.ApplyT(func(v AppImageConfigCodeEditorAppImageConfigContainerConfig) []string { return v.ContainerEntrypoints }).(pulumi.StringArrayOutput) +} + +// The environment variables to set in the container. +func (o AppImageConfigCodeEditorAppImageConfigContainerConfigOutput) ContainerEnvironmentVariables() pulumi.StringMapOutput { + return o.ApplyT(func(v AppImageConfigCodeEditorAppImageConfigContainerConfig) map[string]string { + return v.ContainerEnvironmentVariables + }).(pulumi.StringMapOutput) +} + +type AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput struct{ *pulumi.OutputState } + +func (AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppImageConfigCodeEditorAppImageConfigContainerConfig)(nil)).Elem() +} + +func (o AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput) ToAppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput() AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput { + return o +} + +func (o AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput) ToAppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput { + return o +} + +func (o AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput) Elem() AppImageConfigCodeEditorAppImageConfigContainerConfigOutput { + return o.ApplyT(func(v *AppImageConfigCodeEditorAppImageConfigContainerConfig) AppImageConfigCodeEditorAppImageConfigContainerConfig { + if v != nil { + return *v + } + var ret AppImageConfigCodeEditorAppImageConfigContainerConfig + return ret + }).(AppImageConfigCodeEditorAppImageConfigContainerConfigOutput) +} + +// The arguments for the container when you're running the application. +func (o AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput) ContainerArguments() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AppImageConfigCodeEditorAppImageConfigContainerConfig) []string { + if v == nil { + return nil + } + return v.ContainerArguments + }).(pulumi.StringArrayOutput) +} + +// The entrypoint used to run the application in the container. +func (o AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput) ContainerEntrypoints() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AppImageConfigCodeEditorAppImageConfigContainerConfig) []string { + if v == nil { + return nil + } + return v.ContainerEntrypoints + }).(pulumi.StringArrayOutput) +} + +// The environment variables to set in the container. +func (o AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput) ContainerEnvironmentVariables() pulumi.StringMapOutput { + return o.ApplyT(func(v *AppImageConfigCodeEditorAppImageConfigContainerConfig) map[string]string { + if v == nil { + return nil + } + return v.ContainerEnvironmentVariables + }).(pulumi.StringMapOutput) +} + +type AppImageConfigCodeEditorAppImageConfigFileSystemConfig struct { + // The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + DefaultGid *int `pulumi:"defaultGid"` + // The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + DefaultUid *int `pulumi:"defaultUid"` + // The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + // + // > **Note:** When specifying `defaultGid` and `defaultUid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + MountPath *string `pulumi:"mountPath"` +} + +// AppImageConfigCodeEditorAppImageConfigFileSystemConfigInput is an input type that accepts AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs and AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput values. +// You can construct a concrete instance of `AppImageConfigCodeEditorAppImageConfigFileSystemConfigInput` via: +// +// AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs{...} +type AppImageConfigCodeEditorAppImageConfigFileSystemConfigInput interface { + pulumi.Input + + ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput() AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput + ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigOutputWithContext(context.Context) AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput +} + +type AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs struct { + // The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + DefaultGid pulumi.IntPtrInput `pulumi:"defaultGid"` + // The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + DefaultUid pulumi.IntPtrInput `pulumi:"defaultUid"` + // The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + // + // > **Note:** When specifying `defaultGid` and `defaultUid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + MountPath pulumi.StringPtrInput `pulumi:"mountPath"` +} + +func (AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppImageConfigCodeEditorAppImageConfigFileSystemConfig)(nil)).Elem() +} + +func (i AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs) ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput() AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput { + return i.ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigOutputWithContext(context.Background()) +} + +func (i AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs) ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput) +} + +func (i AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs) ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput() AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput { + return i.ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutputWithContext(context.Background()) +} + +func (i AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs) ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput).ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutputWithContext(ctx) +} + +// AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrInput is an input type that accepts AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs, AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtr and AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput values. +// You can construct a concrete instance of `AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrInput` via: +// +// AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs{...} +// +// or: +// +// nil +type AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrInput interface { + pulumi.Input + + ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput() AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput + ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutputWithContext(context.Context) AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput +} + +type appImageConfigCodeEditorAppImageConfigFileSystemConfigPtrType AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs + +func AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtr(v *AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs) AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrInput { + return (*appImageConfigCodeEditorAppImageConfigFileSystemConfigPtrType)(v) +} + +func (*appImageConfigCodeEditorAppImageConfigFileSystemConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppImageConfigCodeEditorAppImageConfigFileSystemConfig)(nil)).Elem() +} + +func (i *appImageConfigCodeEditorAppImageConfigFileSystemConfigPtrType) ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput() AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput { + return i.ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutputWithContext(context.Background()) +} + +func (i *appImageConfigCodeEditorAppImageConfigFileSystemConfigPtrType) ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput) +} + +type AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput struct{ *pulumi.OutputState } + +func (AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppImageConfigCodeEditorAppImageConfigFileSystemConfig)(nil)).Elem() +} + +func (o AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput) ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput() AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput { + return o +} + +func (o AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput) ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput { + return o +} + +func (o AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput) ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput() AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput { + return o.ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutputWithContext(context.Background()) +} + +func (o AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput) ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppImageConfigCodeEditorAppImageConfigFileSystemConfig) *AppImageConfigCodeEditorAppImageConfigFileSystemConfig { + return &v + }).(AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput) +} + +// The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. +func (o AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput) DefaultGid() pulumi.IntPtrOutput { + return o.ApplyT(func(v AppImageConfigCodeEditorAppImageConfigFileSystemConfig) *int { return v.DefaultGid }).(pulumi.IntPtrOutput) +} + +// The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. +func (o AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput) DefaultUid() pulumi.IntPtrOutput { + return o.ApplyT(func(v AppImageConfigCodeEditorAppImageConfigFileSystemConfig) *int { return v.DefaultUid }).(pulumi.IntPtrOutput) +} + +// The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. +// +// > **Note:** When specifying `defaultGid` and `defaultUid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. +func (o AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput) MountPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppImageConfigCodeEditorAppImageConfigFileSystemConfig) *string { return v.MountPath }).(pulumi.StringPtrOutput) +} + +type AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput struct{ *pulumi.OutputState } + +func (AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppImageConfigCodeEditorAppImageConfigFileSystemConfig)(nil)).Elem() +} + +func (o AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput) ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput() AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput { + return o +} + +func (o AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput) ToAppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutputWithContext(ctx context.Context) AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput { + return o +} + +func (o AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput) Elem() AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput { + return o.ApplyT(func(v *AppImageConfigCodeEditorAppImageConfigFileSystemConfig) AppImageConfigCodeEditorAppImageConfigFileSystemConfig { + if v != nil { + return *v + } + var ret AppImageConfigCodeEditorAppImageConfigFileSystemConfig + return ret + }).(AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput) +} + +// The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. +func (o AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput) DefaultGid() pulumi.IntPtrOutput { + return o.ApplyT(func(v *AppImageConfigCodeEditorAppImageConfigFileSystemConfig) *int { + if v == nil { + return nil + } + return v.DefaultGid + }).(pulumi.IntPtrOutput) +} + +// The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. +func (o AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput) DefaultUid() pulumi.IntPtrOutput { + return o.ApplyT(func(v *AppImageConfigCodeEditorAppImageConfigFileSystemConfig) *int { + if v == nil { + return nil + } + return v.DefaultUid + }).(pulumi.IntPtrOutput) +} + +// The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. +// +// > **Note:** When specifying `defaultGid` and `defaultUid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. +func (o AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput) MountPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppImageConfigCodeEditorAppImageConfigFileSystemConfig) *string { + if v == nil { + return nil + } + return v.MountPath + }).(pulumi.StringPtrOutput) +} + type AppImageConfigJupyterLabImageConfig struct { // The configuration used to run the application image container. See Container Config details below. ContainerConfig *AppImageConfigJupyterLabImageConfigContainerConfig `pulumi:"containerConfig"` + // The URL where the Git repository is located. See File System Config details below. + FileSystemConfig *AppImageConfigJupyterLabImageConfigFileSystemConfig `pulumi:"fileSystemConfig"` } // AppImageConfigJupyterLabImageConfigInput is an input type that accepts AppImageConfigJupyterLabImageConfigArgs and AppImageConfigJupyterLabImageConfigOutput values. @@ -32,6 +554,8 @@ type AppImageConfigJupyterLabImageConfigInput interface { type AppImageConfigJupyterLabImageConfigArgs struct { // The configuration used to run the application image container. See Container Config details below. ContainerConfig AppImageConfigJupyterLabImageConfigContainerConfigPtrInput `pulumi:"containerConfig"` + // The URL where the Git repository is located. See File System Config details below. + FileSystemConfig AppImageConfigJupyterLabImageConfigFileSystemConfigPtrInput `pulumi:"fileSystemConfig"` } func (AppImageConfigJupyterLabImageConfigArgs) ElementType() reflect.Type { @@ -118,6 +642,13 @@ func (o AppImageConfigJupyterLabImageConfigOutput) ContainerConfig() AppImageCon }).(AppImageConfigJupyterLabImageConfigContainerConfigPtrOutput) } +// The URL where the Git repository is located. See File System Config details below. +func (o AppImageConfigJupyterLabImageConfigOutput) FileSystemConfig() AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput { + return o.ApplyT(func(v AppImageConfigJupyterLabImageConfig) *AppImageConfigJupyterLabImageConfigFileSystemConfig { + return v.FileSystemConfig + }).(AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput) +} + type AppImageConfigJupyterLabImageConfigPtrOutput struct{ *pulumi.OutputState } func (AppImageConfigJupyterLabImageConfigPtrOutput) ElementType() reflect.Type { @@ -152,6 +683,16 @@ func (o AppImageConfigJupyterLabImageConfigPtrOutput) ContainerConfig() AppImage }).(AppImageConfigJupyterLabImageConfigContainerConfigPtrOutput) } +// The URL where the Git repository is located. See File System Config details below. +func (o AppImageConfigJupyterLabImageConfigPtrOutput) FileSystemConfig() AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput { + return o.ApplyT(func(v *AppImageConfigJupyterLabImageConfig) *AppImageConfigJupyterLabImageConfigFileSystemConfig { + if v == nil { + return nil + } + return v.FileSystemConfig + }).(AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput) +} + type AppImageConfigJupyterLabImageConfigContainerConfig struct { // The arguments for the container when you're running the application. ContainerArguments []string `pulumi:"containerArguments"` @@ -329,6 +870,189 @@ func (o AppImageConfigJupyterLabImageConfigContainerConfigPtrOutput) ContainerEn }).(pulumi.StringMapOutput) } +type AppImageConfigJupyterLabImageConfigFileSystemConfig struct { + // The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + DefaultGid *int `pulumi:"defaultGid"` + // The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + DefaultUid *int `pulumi:"defaultUid"` + // The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + // + // > **Note:** When specifying `defaultGid` and `defaultUid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + MountPath *string `pulumi:"mountPath"` +} + +// AppImageConfigJupyterLabImageConfigFileSystemConfigInput is an input type that accepts AppImageConfigJupyterLabImageConfigFileSystemConfigArgs and AppImageConfigJupyterLabImageConfigFileSystemConfigOutput values. +// You can construct a concrete instance of `AppImageConfigJupyterLabImageConfigFileSystemConfigInput` via: +// +// AppImageConfigJupyterLabImageConfigFileSystemConfigArgs{...} +type AppImageConfigJupyterLabImageConfigFileSystemConfigInput interface { + pulumi.Input + + ToAppImageConfigJupyterLabImageConfigFileSystemConfigOutput() AppImageConfigJupyterLabImageConfigFileSystemConfigOutput + ToAppImageConfigJupyterLabImageConfigFileSystemConfigOutputWithContext(context.Context) AppImageConfigJupyterLabImageConfigFileSystemConfigOutput +} + +type AppImageConfigJupyterLabImageConfigFileSystemConfigArgs struct { + // The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + DefaultGid pulumi.IntPtrInput `pulumi:"defaultGid"` + // The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + DefaultUid pulumi.IntPtrInput `pulumi:"defaultUid"` + // The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + // + // > **Note:** When specifying `defaultGid` and `defaultUid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + MountPath pulumi.StringPtrInput `pulumi:"mountPath"` +} + +func (AppImageConfigJupyterLabImageConfigFileSystemConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AppImageConfigJupyterLabImageConfigFileSystemConfig)(nil)).Elem() +} + +func (i AppImageConfigJupyterLabImageConfigFileSystemConfigArgs) ToAppImageConfigJupyterLabImageConfigFileSystemConfigOutput() AppImageConfigJupyterLabImageConfigFileSystemConfigOutput { + return i.ToAppImageConfigJupyterLabImageConfigFileSystemConfigOutputWithContext(context.Background()) +} + +func (i AppImageConfigJupyterLabImageConfigFileSystemConfigArgs) ToAppImageConfigJupyterLabImageConfigFileSystemConfigOutputWithContext(ctx context.Context) AppImageConfigJupyterLabImageConfigFileSystemConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppImageConfigJupyterLabImageConfigFileSystemConfigOutput) +} + +func (i AppImageConfigJupyterLabImageConfigFileSystemConfigArgs) ToAppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput() AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput { + return i.ToAppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutputWithContext(context.Background()) +} + +func (i AppImageConfigJupyterLabImageConfigFileSystemConfigArgs) ToAppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutputWithContext(ctx context.Context) AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppImageConfigJupyterLabImageConfigFileSystemConfigOutput).ToAppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutputWithContext(ctx) +} + +// AppImageConfigJupyterLabImageConfigFileSystemConfigPtrInput is an input type that accepts AppImageConfigJupyterLabImageConfigFileSystemConfigArgs, AppImageConfigJupyterLabImageConfigFileSystemConfigPtr and AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput values. +// You can construct a concrete instance of `AppImageConfigJupyterLabImageConfigFileSystemConfigPtrInput` via: +// +// AppImageConfigJupyterLabImageConfigFileSystemConfigArgs{...} +// +// or: +// +// nil +type AppImageConfigJupyterLabImageConfigFileSystemConfigPtrInput interface { + pulumi.Input + + ToAppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput() AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput + ToAppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutputWithContext(context.Context) AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput +} + +type appImageConfigJupyterLabImageConfigFileSystemConfigPtrType AppImageConfigJupyterLabImageConfigFileSystemConfigArgs + +func AppImageConfigJupyterLabImageConfigFileSystemConfigPtr(v *AppImageConfigJupyterLabImageConfigFileSystemConfigArgs) AppImageConfigJupyterLabImageConfigFileSystemConfigPtrInput { + return (*appImageConfigJupyterLabImageConfigFileSystemConfigPtrType)(v) +} + +func (*appImageConfigJupyterLabImageConfigFileSystemConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AppImageConfigJupyterLabImageConfigFileSystemConfig)(nil)).Elem() +} + +func (i *appImageConfigJupyterLabImageConfigFileSystemConfigPtrType) ToAppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput() AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput { + return i.ToAppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutputWithContext(context.Background()) +} + +func (i *appImageConfigJupyterLabImageConfigFileSystemConfigPtrType) ToAppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutputWithContext(ctx context.Context) AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput) +} + +type AppImageConfigJupyterLabImageConfigFileSystemConfigOutput struct{ *pulumi.OutputState } + +func (AppImageConfigJupyterLabImageConfigFileSystemConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AppImageConfigJupyterLabImageConfigFileSystemConfig)(nil)).Elem() +} + +func (o AppImageConfigJupyterLabImageConfigFileSystemConfigOutput) ToAppImageConfigJupyterLabImageConfigFileSystemConfigOutput() AppImageConfigJupyterLabImageConfigFileSystemConfigOutput { + return o +} + +func (o AppImageConfigJupyterLabImageConfigFileSystemConfigOutput) ToAppImageConfigJupyterLabImageConfigFileSystemConfigOutputWithContext(ctx context.Context) AppImageConfigJupyterLabImageConfigFileSystemConfigOutput { + return o +} + +func (o AppImageConfigJupyterLabImageConfigFileSystemConfigOutput) ToAppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput() AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput { + return o.ToAppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutputWithContext(context.Background()) +} + +func (o AppImageConfigJupyterLabImageConfigFileSystemConfigOutput) ToAppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutputWithContext(ctx context.Context) AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AppImageConfigJupyterLabImageConfigFileSystemConfig) *AppImageConfigJupyterLabImageConfigFileSystemConfig { + return &v + }).(AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput) +} + +// The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. +func (o AppImageConfigJupyterLabImageConfigFileSystemConfigOutput) DefaultGid() pulumi.IntPtrOutput { + return o.ApplyT(func(v AppImageConfigJupyterLabImageConfigFileSystemConfig) *int { return v.DefaultGid }).(pulumi.IntPtrOutput) +} + +// The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. +func (o AppImageConfigJupyterLabImageConfigFileSystemConfigOutput) DefaultUid() pulumi.IntPtrOutput { + return o.ApplyT(func(v AppImageConfigJupyterLabImageConfigFileSystemConfig) *int { return v.DefaultUid }).(pulumi.IntPtrOutput) +} + +// The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. +// +// > **Note:** When specifying `defaultGid` and `defaultUid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. +func (o AppImageConfigJupyterLabImageConfigFileSystemConfigOutput) MountPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v AppImageConfigJupyterLabImageConfigFileSystemConfig) *string { return v.MountPath }).(pulumi.StringPtrOutput) +} + +type AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput struct{ *pulumi.OutputState } + +func (AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AppImageConfigJupyterLabImageConfigFileSystemConfig)(nil)).Elem() +} + +func (o AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput) ToAppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput() AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput { + return o +} + +func (o AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput) ToAppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutputWithContext(ctx context.Context) AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput { + return o +} + +func (o AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput) Elem() AppImageConfigJupyterLabImageConfigFileSystemConfigOutput { + return o.ApplyT(func(v *AppImageConfigJupyterLabImageConfigFileSystemConfig) AppImageConfigJupyterLabImageConfigFileSystemConfig { + if v != nil { + return *v + } + var ret AppImageConfigJupyterLabImageConfigFileSystemConfig + return ret + }).(AppImageConfigJupyterLabImageConfigFileSystemConfigOutput) +} + +// The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. +func (o AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput) DefaultGid() pulumi.IntPtrOutput { + return o.ApplyT(func(v *AppImageConfigJupyterLabImageConfigFileSystemConfig) *int { + if v == nil { + return nil + } + return v.DefaultGid + }).(pulumi.IntPtrOutput) +} + +// The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. +func (o AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput) DefaultUid() pulumi.IntPtrOutput { + return o.ApplyT(func(v *AppImageConfigJupyterLabImageConfigFileSystemConfig) *int { + if v == nil { + return nil + } + return v.DefaultUid + }).(pulumi.IntPtrOutput) +} + +// The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. +// +// > **Note:** When specifying `defaultGid` and `defaultUid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. +func (o AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput) MountPath() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AppImageConfigJupyterLabImageConfigFileSystemConfig) *string { + if v == nil { + return nil + } + return v.MountPath + }).(pulumi.StringPtrOutput) +} + type AppImageConfigKernelGatewayImageConfig struct { // The URL where the Git repository is located. See File System Config details below. FileSystemConfig *AppImageConfigKernelGatewayImageConfigFileSystemConfig `pulumi:"fileSystemConfig"` @@ -30818,10 +31542,18 @@ func (o WorkteamNotificationConfigurationPtrOutput) NotificationTopicArn() pulum } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigCodeEditorAppImageConfigInput)(nil)).Elem(), AppImageConfigCodeEditorAppImageConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigCodeEditorAppImageConfigPtrInput)(nil)).Elem(), AppImageConfigCodeEditorAppImageConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigCodeEditorAppImageConfigContainerConfigInput)(nil)).Elem(), AppImageConfigCodeEditorAppImageConfigContainerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigCodeEditorAppImageConfigContainerConfigPtrInput)(nil)).Elem(), AppImageConfigCodeEditorAppImageConfigContainerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigCodeEditorAppImageConfigFileSystemConfigInput)(nil)).Elem(), AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrInput)(nil)).Elem(), AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigJupyterLabImageConfigInput)(nil)).Elem(), AppImageConfigJupyterLabImageConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigJupyterLabImageConfigPtrInput)(nil)).Elem(), AppImageConfigJupyterLabImageConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigJupyterLabImageConfigContainerConfigInput)(nil)).Elem(), AppImageConfigJupyterLabImageConfigContainerConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigJupyterLabImageConfigContainerConfigPtrInput)(nil)).Elem(), AppImageConfigJupyterLabImageConfigContainerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigJupyterLabImageConfigFileSystemConfigInput)(nil)).Elem(), AppImageConfigJupyterLabImageConfigFileSystemConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigJupyterLabImageConfigFileSystemConfigPtrInput)(nil)).Elem(), AppImageConfigJupyterLabImageConfigFileSystemConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigKernelGatewayImageConfigInput)(nil)).Elem(), AppImageConfigKernelGatewayImageConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigKernelGatewayImageConfigPtrInput)(nil)).Elem(), AppImageConfigKernelGatewayImageConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AppImageConfigKernelGatewayImageConfigFileSystemConfigInput)(nil)).Elem(), AppImageConfigKernelGatewayImageConfigFileSystemConfigArgs{}) @@ -31191,10 +31923,18 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*WorkteamMemberDefinitionOidcMemberDefinitionPtrInput)(nil)).Elem(), WorkteamMemberDefinitionOidcMemberDefinitionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkteamNotificationConfigurationInput)(nil)).Elem(), WorkteamNotificationConfigurationArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*WorkteamNotificationConfigurationPtrInput)(nil)).Elem(), WorkteamNotificationConfigurationArgs{}) + pulumi.RegisterOutputType(AppImageConfigCodeEditorAppImageConfigOutput{}) + pulumi.RegisterOutputType(AppImageConfigCodeEditorAppImageConfigPtrOutput{}) + pulumi.RegisterOutputType(AppImageConfigCodeEditorAppImageConfigContainerConfigOutput{}) + pulumi.RegisterOutputType(AppImageConfigCodeEditorAppImageConfigContainerConfigPtrOutput{}) + pulumi.RegisterOutputType(AppImageConfigCodeEditorAppImageConfigFileSystemConfigOutput{}) + pulumi.RegisterOutputType(AppImageConfigCodeEditorAppImageConfigFileSystemConfigPtrOutput{}) pulumi.RegisterOutputType(AppImageConfigJupyterLabImageConfigOutput{}) pulumi.RegisterOutputType(AppImageConfigJupyterLabImageConfigPtrOutput{}) pulumi.RegisterOutputType(AppImageConfigJupyterLabImageConfigContainerConfigOutput{}) pulumi.RegisterOutputType(AppImageConfigJupyterLabImageConfigContainerConfigPtrOutput{}) + pulumi.RegisterOutputType(AppImageConfigJupyterLabImageConfigFileSystemConfigOutput{}) + pulumi.RegisterOutputType(AppImageConfigJupyterLabImageConfigFileSystemConfigPtrOutput{}) pulumi.RegisterOutputType(AppImageConfigKernelGatewayImageConfigOutput{}) pulumi.RegisterOutputType(AppImageConfigKernelGatewayImageConfigPtrOutput{}) pulumi.RegisterOutputType(AppImageConfigKernelGatewayImageConfigFileSystemConfigOutput{}) diff --git a/sdk/go/aws/transfer/server.go b/sdk/go/aws/transfer/server.go index 722e7d61564..4db0f4bfefd 100644 --- a/sdk/go/aws/transfer/server.go +++ b/sdk/go/aws/transfer/server.go @@ -340,6 +340,8 @@ type Server struct { // * `TransferSecurityPolicy-PQ-SSH-Experimental-2023-04` // * `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04` SecurityPolicyName pulumi.StringPtrOutput `pulumi:"securityPolicyName"` + // For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + SftpAuthenticationMethods pulumi.StringOutput `pulumi:"sftpAuthenticationMethods"` // A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. StructuredLogDestinations pulumi.StringArrayOutput `pulumi:"structuredLogDestinations"` // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -449,6 +451,8 @@ type serverState struct { // * `TransferSecurityPolicy-PQ-SSH-Experimental-2023-04` // * `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04` SecurityPolicyName *string `pulumi:"securityPolicyName"` + // For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + SftpAuthenticationMethods *string `pulumi:"sftpAuthenticationMethods"` // A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. StructuredLogDestinations []string `pulumi:"structuredLogDestinations"` // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -514,6 +518,8 @@ type ServerState struct { // * `TransferSecurityPolicy-PQ-SSH-Experimental-2023-04` // * `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04` SecurityPolicyName pulumi.StringPtrInput + // For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + SftpAuthenticationMethods pulumi.StringPtrInput // A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. StructuredLogDestinations pulumi.StringArrayInput // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -577,6 +583,8 @@ type serverArgs struct { // * `TransferSecurityPolicy-PQ-SSH-Experimental-2023-04` // * `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04` SecurityPolicyName *string `pulumi:"securityPolicyName"` + // For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + SftpAuthenticationMethods *string `pulumi:"sftpAuthenticationMethods"` // A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. StructuredLogDestinations []string `pulumi:"structuredLogDestinations"` // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -633,6 +641,8 @@ type ServerArgs struct { // * `TransferSecurityPolicy-PQ-SSH-Experimental-2023-04` // * `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04` SecurityPolicyName pulumi.StringPtrInput + // For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + SftpAuthenticationMethods pulumi.StringPtrInput // A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. StructuredLogDestinations pulumi.StringArrayInput // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -840,6 +850,11 @@ func (o ServerOutput) SecurityPolicyName() pulumi.StringPtrOutput { return o.ApplyT(func(v *Server) pulumi.StringPtrOutput { return v.SecurityPolicyName }).(pulumi.StringPtrOutput) } +// For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. +func (o ServerOutput) SftpAuthenticationMethods() pulumi.StringOutput { + return o.ApplyT(func(v *Server) pulumi.StringOutput { return v.SftpAuthenticationMethods }).(pulumi.StringOutput) +} + // A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. func (o ServerOutput) StructuredLogDestinations() pulumi.StringArrayOutput { return o.ApplyT(func(v *Server) pulumi.StringArrayOutput { return v.StructuredLogDestinations }).(pulumi.StringArrayOutput) diff --git a/sdk/go/aws/verifiedpermissions/init.go b/sdk/go/aws/verifiedpermissions/init.go index 3a16a719a29..552241505c2 100644 --- a/sdk/go/aws/verifiedpermissions/init.go +++ b/sdk/go/aws/verifiedpermissions/init.go @@ -21,6 +21,8 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "aws:verifiedpermissions/policy:Policy": + r = &Policy{} case "aws:verifiedpermissions/policyStore:PolicyStore": r = &PolicyStore{} case "aws:verifiedpermissions/policyTemplate:PolicyTemplate": @@ -40,6 +42,11 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "aws", + "verifiedpermissions/policy", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "verifiedpermissions/policyStore", diff --git a/sdk/go/aws/verifiedpermissions/policy.go b/sdk/go/aws/verifiedpermissions/policy.go new file mode 100644 index 00000000000..513daf4c242 --- /dev/null +++ b/sdk/go/aws/verifiedpermissions/policy.go @@ -0,0 +1,301 @@ +// 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 verifiedpermissions + +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 Verified Permissions Policy. +// +// ## Example Usage +// +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/verifiedpermissions" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := verifiedpermissions.NewPolicy(ctx, "test", &verifiedpermissions.PolicyArgs{ +// PolicyStoreId: pulumi.Any(testAwsVerifiedpermissionsPolicyStore.Id), +// Definition: &verifiedpermissions.PolicyDefinitionArgs{ +// Static: &verifiedpermissions.PolicyDefinitionStaticArgs{ +// Statement: pulumi.String("permit (principal, action == Action::\"view\", resource in Album:: \"test_album\");"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// Using `pulumi import`, import Verified Permissions Policy using the `policy_id,policy_store_id`. For example: +// +// ```sh +// $ pulumi import aws:verifiedpermissions/policy:Policy example policy-id-12345678,policy-store-id-12345678 +// ``` +type Policy struct { + pulumi.CustomResourceState + + CreatedDate pulumi.StringOutput `pulumi:"createdDate"` + // The definition of the policy. See Definition below. + // + // The following arguments are optional: + Definition PolicyDefinitionPtrOutput `pulumi:"definition"` + PolicyId pulumi.StringOutput `pulumi:"policyId"` + // The Policy Store ID of the policy store. + PolicyStoreId pulumi.StringOutput `pulumi:"policyStoreId"` +} + +// NewPolicy registers a new resource with the given unique name, arguments, and options. +func NewPolicy(ctx *pulumi.Context, + name string, args *PolicyArgs, opts ...pulumi.ResourceOption) (*Policy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.PolicyStoreId == nil { + return nil, errors.New("invalid value for required argument 'PolicyStoreId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource Policy + err := ctx.RegisterResource("aws:verifiedpermissions/policy:Policy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetPolicy gets an existing Policy 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 GetPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *PolicyState, opts ...pulumi.ResourceOption) (*Policy, error) { + var resource Policy + err := ctx.ReadResource("aws:verifiedpermissions/policy:Policy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Policy resources. +type policyState struct { + CreatedDate *string `pulumi:"createdDate"` + // The definition of the policy. See Definition below. + // + // The following arguments are optional: + Definition *PolicyDefinition `pulumi:"definition"` + PolicyId *string `pulumi:"policyId"` + // The Policy Store ID of the policy store. + PolicyStoreId *string `pulumi:"policyStoreId"` +} + +type PolicyState struct { + CreatedDate pulumi.StringPtrInput + // The definition of the policy. See Definition below. + // + // The following arguments are optional: + Definition PolicyDefinitionPtrInput + PolicyId pulumi.StringPtrInput + // The Policy Store ID of the policy store. + PolicyStoreId pulumi.StringPtrInput +} + +func (PolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*policyState)(nil)).Elem() +} + +type policyArgs struct { + // The definition of the policy. See Definition below. + // + // The following arguments are optional: + Definition *PolicyDefinition `pulumi:"definition"` + // The Policy Store ID of the policy store. + PolicyStoreId string `pulumi:"policyStoreId"` +} + +// The set of arguments for constructing a Policy resource. +type PolicyArgs struct { + // The definition of the policy. See Definition below. + // + // The following arguments are optional: + Definition PolicyDefinitionPtrInput + // The Policy Store ID of the policy store. + PolicyStoreId pulumi.StringInput +} + +func (PolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*policyArgs)(nil)).Elem() +} + +type PolicyInput interface { + pulumi.Input + + ToPolicyOutput() PolicyOutput + ToPolicyOutputWithContext(ctx context.Context) PolicyOutput +} + +func (*Policy) ElementType() reflect.Type { + return reflect.TypeOf((**Policy)(nil)).Elem() +} + +func (i *Policy) ToPolicyOutput() PolicyOutput { + return i.ToPolicyOutputWithContext(context.Background()) +} + +func (i *Policy) ToPolicyOutputWithContext(ctx context.Context) PolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyOutput) +} + +// PolicyArrayInput is an input type that accepts PolicyArray and PolicyArrayOutput values. +// You can construct a concrete instance of `PolicyArrayInput` via: +// +// PolicyArray{ PolicyArgs{...} } +type PolicyArrayInput interface { + pulumi.Input + + ToPolicyArrayOutput() PolicyArrayOutput + ToPolicyArrayOutputWithContext(context.Context) PolicyArrayOutput +} + +type PolicyArray []PolicyInput + +func (PolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Policy)(nil)).Elem() +} + +func (i PolicyArray) ToPolicyArrayOutput() PolicyArrayOutput { + return i.ToPolicyArrayOutputWithContext(context.Background()) +} + +func (i PolicyArray) ToPolicyArrayOutputWithContext(ctx context.Context) PolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyArrayOutput) +} + +// PolicyMapInput is an input type that accepts PolicyMap and PolicyMapOutput values. +// You can construct a concrete instance of `PolicyMapInput` via: +// +// PolicyMap{ "key": PolicyArgs{...} } +type PolicyMapInput interface { + pulumi.Input + + ToPolicyMapOutput() PolicyMapOutput + ToPolicyMapOutputWithContext(context.Context) PolicyMapOutput +} + +type PolicyMap map[string]PolicyInput + +func (PolicyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Policy)(nil)).Elem() +} + +func (i PolicyMap) ToPolicyMapOutput() PolicyMapOutput { + return i.ToPolicyMapOutputWithContext(context.Background()) +} + +func (i PolicyMap) ToPolicyMapOutputWithContext(ctx context.Context) PolicyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyMapOutput) +} + +type PolicyOutput struct{ *pulumi.OutputState } + +func (PolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Policy)(nil)).Elem() +} + +func (o PolicyOutput) ToPolicyOutput() PolicyOutput { + return o +} + +func (o PolicyOutput) ToPolicyOutputWithContext(ctx context.Context) PolicyOutput { + return o +} + +func (o PolicyOutput) CreatedDate() pulumi.StringOutput { + return o.ApplyT(func(v *Policy) pulumi.StringOutput { return v.CreatedDate }).(pulumi.StringOutput) +} + +// The definition of the policy. See Definition below. +// +// The following arguments are optional: +func (o PolicyOutput) Definition() PolicyDefinitionPtrOutput { + return o.ApplyT(func(v *Policy) PolicyDefinitionPtrOutput { return v.Definition }).(PolicyDefinitionPtrOutput) +} + +func (o PolicyOutput) PolicyId() pulumi.StringOutput { + return o.ApplyT(func(v *Policy) pulumi.StringOutput { return v.PolicyId }).(pulumi.StringOutput) +} + +// The Policy Store ID of the policy store. +func (o PolicyOutput) PolicyStoreId() pulumi.StringOutput { + return o.ApplyT(func(v *Policy) pulumi.StringOutput { return v.PolicyStoreId }).(pulumi.StringOutput) +} + +type PolicyArrayOutput struct{ *pulumi.OutputState } + +func (PolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Policy)(nil)).Elem() +} + +func (o PolicyArrayOutput) ToPolicyArrayOutput() PolicyArrayOutput { + return o +} + +func (o PolicyArrayOutput) ToPolicyArrayOutputWithContext(ctx context.Context) PolicyArrayOutput { + return o +} + +func (o PolicyArrayOutput) Index(i pulumi.IntInput) PolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Policy { + return vs[0].([]*Policy)[vs[1].(int)] + }).(PolicyOutput) +} + +type PolicyMapOutput struct{ *pulumi.OutputState } + +func (PolicyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Policy)(nil)).Elem() +} + +func (o PolicyMapOutput) ToPolicyMapOutput() PolicyMapOutput { + return o +} + +func (o PolicyMapOutput) ToPolicyMapOutputWithContext(ctx context.Context) PolicyMapOutput { + return o +} + +func (o PolicyMapOutput) MapIndex(k pulumi.StringInput) PolicyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Policy { + return vs[0].(map[string]*Policy)[vs[1].(string)] + }).(PolicyOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PolicyInput)(nil)).Elem(), &Policy{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyArrayInput)(nil)).Elem(), PolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyMapInput)(nil)).Elem(), PolicyMap{}) + pulumi.RegisterOutputType(PolicyOutput{}) + pulumi.RegisterOutputType(PolicyArrayOutput{}) + pulumi.RegisterOutputType(PolicyMapOutput{}) +} diff --git a/sdk/go/aws/verifiedpermissions/pulumiTypes.go b/sdk/go/aws/verifiedpermissions/pulumiTypes.go index 4c36201c01f..2709f47cea5 100644 --- a/sdk/go/aws/verifiedpermissions/pulumiTypes.go +++ b/sdk/go/aws/verifiedpermissions/pulumiTypes.go @@ -13,6 +13,805 @@ import ( var _ = internal.GetEnvOrDefault +type PolicyDefinition struct { + // The static policy statement. See Static below. + Static *PolicyDefinitionStatic `pulumi:"static"` + // The template linked policy. See Template Linked below. + TemplateLinked *PolicyDefinitionTemplateLinked `pulumi:"templateLinked"` +} + +// PolicyDefinitionInput is an input type that accepts PolicyDefinitionArgs and PolicyDefinitionOutput values. +// You can construct a concrete instance of `PolicyDefinitionInput` via: +// +// PolicyDefinitionArgs{...} +type PolicyDefinitionInput interface { + pulumi.Input + + ToPolicyDefinitionOutput() PolicyDefinitionOutput + ToPolicyDefinitionOutputWithContext(context.Context) PolicyDefinitionOutput +} + +type PolicyDefinitionArgs struct { + // The static policy statement. See Static below. + Static PolicyDefinitionStaticPtrInput `pulumi:"static"` + // The template linked policy. See Template Linked below. + TemplateLinked PolicyDefinitionTemplateLinkedPtrInput `pulumi:"templateLinked"` +} + +func (PolicyDefinitionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyDefinition)(nil)).Elem() +} + +func (i PolicyDefinitionArgs) ToPolicyDefinitionOutput() PolicyDefinitionOutput { + return i.ToPolicyDefinitionOutputWithContext(context.Background()) +} + +func (i PolicyDefinitionArgs) ToPolicyDefinitionOutputWithContext(ctx context.Context) PolicyDefinitionOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyDefinitionOutput) +} + +func (i PolicyDefinitionArgs) ToPolicyDefinitionPtrOutput() PolicyDefinitionPtrOutput { + return i.ToPolicyDefinitionPtrOutputWithContext(context.Background()) +} + +func (i PolicyDefinitionArgs) ToPolicyDefinitionPtrOutputWithContext(ctx context.Context) PolicyDefinitionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyDefinitionOutput).ToPolicyDefinitionPtrOutputWithContext(ctx) +} + +// PolicyDefinitionPtrInput is an input type that accepts PolicyDefinitionArgs, PolicyDefinitionPtr and PolicyDefinitionPtrOutput values. +// You can construct a concrete instance of `PolicyDefinitionPtrInput` via: +// +// PolicyDefinitionArgs{...} +// +// or: +// +// nil +type PolicyDefinitionPtrInput interface { + pulumi.Input + + ToPolicyDefinitionPtrOutput() PolicyDefinitionPtrOutput + ToPolicyDefinitionPtrOutputWithContext(context.Context) PolicyDefinitionPtrOutput +} + +type policyDefinitionPtrType PolicyDefinitionArgs + +func PolicyDefinitionPtr(v *PolicyDefinitionArgs) PolicyDefinitionPtrInput { + return (*policyDefinitionPtrType)(v) +} + +func (*policyDefinitionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyDefinition)(nil)).Elem() +} + +func (i *policyDefinitionPtrType) ToPolicyDefinitionPtrOutput() PolicyDefinitionPtrOutput { + return i.ToPolicyDefinitionPtrOutputWithContext(context.Background()) +} + +func (i *policyDefinitionPtrType) ToPolicyDefinitionPtrOutputWithContext(ctx context.Context) PolicyDefinitionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyDefinitionPtrOutput) +} + +type PolicyDefinitionOutput struct{ *pulumi.OutputState } + +func (PolicyDefinitionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyDefinition)(nil)).Elem() +} + +func (o PolicyDefinitionOutput) ToPolicyDefinitionOutput() PolicyDefinitionOutput { + return o +} + +func (o PolicyDefinitionOutput) ToPolicyDefinitionOutputWithContext(ctx context.Context) PolicyDefinitionOutput { + return o +} + +func (o PolicyDefinitionOutput) ToPolicyDefinitionPtrOutput() PolicyDefinitionPtrOutput { + return o.ToPolicyDefinitionPtrOutputWithContext(context.Background()) +} + +func (o PolicyDefinitionOutput) ToPolicyDefinitionPtrOutputWithContext(ctx context.Context) PolicyDefinitionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyDefinition) *PolicyDefinition { + return &v + }).(PolicyDefinitionPtrOutput) +} + +// The static policy statement. See Static below. +func (o PolicyDefinitionOutput) Static() PolicyDefinitionStaticPtrOutput { + return o.ApplyT(func(v PolicyDefinition) *PolicyDefinitionStatic { return v.Static }).(PolicyDefinitionStaticPtrOutput) +} + +// The template linked policy. See Template Linked below. +func (o PolicyDefinitionOutput) TemplateLinked() PolicyDefinitionTemplateLinkedPtrOutput { + return o.ApplyT(func(v PolicyDefinition) *PolicyDefinitionTemplateLinked { return v.TemplateLinked }).(PolicyDefinitionTemplateLinkedPtrOutput) +} + +type PolicyDefinitionPtrOutput struct{ *pulumi.OutputState } + +func (PolicyDefinitionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyDefinition)(nil)).Elem() +} + +func (o PolicyDefinitionPtrOutput) ToPolicyDefinitionPtrOutput() PolicyDefinitionPtrOutput { + return o +} + +func (o PolicyDefinitionPtrOutput) ToPolicyDefinitionPtrOutputWithContext(ctx context.Context) PolicyDefinitionPtrOutput { + return o +} + +func (o PolicyDefinitionPtrOutput) Elem() PolicyDefinitionOutput { + return o.ApplyT(func(v *PolicyDefinition) PolicyDefinition { + if v != nil { + return *v + } + var ret PolicyDefinition + return ret + }).(PolicyDefinitionOutput) +} + +// The static policy statement. See Static below. +func (o PolicyDefinitionPtrOutput) Static() PolicyDefinitionStaticPtrOutput { + return o.ApplyT(func(v *PolicyDefinition) *PolicyDefinitionStatic { + if v == nil { + return nil + } + return v.Static + }).(PolicyDefinitionStaticPtrOutput) +} + +// The template linked policy. See Template Linked below. +func (o PolicyDefinitionPtrOutput) TemplateLinked() PolicyDefinitionTemplateLinkedPtrOutput { + return o.ApplyT(func(v *PolicyDefinition) *PolicyDefinitionTemplateLinked { + if v == nil { + return nil + } + return v.TemplateLinked + }).(PolicyDefinitionTemplateLinkedPtrOutput) +} + +type PolicyDefinitionStatic struct { + // The description of the static policy. + Description *string `pulumi:"description"` + // The statement of the static policy. + Statement string `pulumi:"statement"` +} + +// PolicyDefinitionStaticInput is an input type that accepts PolicyDefinitionStaticArgs and PolicyDefinitionStaticOutput values. +// You can construct a concrete instance of `PolicyDefinitionStaticInput` via: +// +// PolicyDefinitionStaticArgs{...} +type PolicyDefinitionStaticInput interface { + pulumi.Input + + ToPolicyDefinitionStaticOutput() PolicyDefinitionStaticOutput + ToPolicyDefinitionStaticOutputWithContext(context.Context) PolicyDefinitionStaticOutput +} + +type PolicyDefinitionStaticArgs struct { + // The description of the static policy. + Description pulumi.StringPtrInput `pulumi:"description"` + // The statement of the static policy. + Statement pulumi.StringInput `pulumi:"statement"` +} + +func (PolicyDefinitionStaticArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyDefinitionStatic)(nil)).Elem() +} + +func (i PolicyDefinitionStaticArgs) ToPolicyDefinitionStaticOutput() PolicyDefinitionStaticOutput { + return i.ToPolicyDefinitionStaticOutputWithContext(context.Background()) +} + +func (i PolicyDefinitionStaticArgs) ToPolicyDefinitionStaticOutputWithContext(ctx context.Context) PolicyDefinitionStaticOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyDefinitionStaticOutput) +} + +func (i PolicyDefinitionStaticArgs) ToPolicyDefinitionStaticPtrOutput() PolicyDefinitionStaticPtrOutput { + return i.ToPolicyDefinitionStaticPtrOutputWithContext(context.Background()) +} + +func (i PolicyDefinitionStaticArgs) ToPolicyDefinitionStaticPtrOutputWithContext(ctx context.Context) PolicyDefinitionStaticPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyDefinitionStaticOutput).ToPolicyDefinitionStaticPtrOutputWithContext(ctx) +} + +// PolicyDefinitionStaticPtrInput is an input type that accepts PolicyDefinitionStaticArgs, PolicyDefinitionStaticPtr and PolicyDefinitionStaticPtrOutput values. +// You can construct a concrete instance of `PolicyDefinitionStaticPtrInput` via: +// +// PolicyDefinitionStaticArgs{...} +// +// or: +// +// nil +type PolicyDefinitionStaticPtrInput interface { + pulumi.Input + + ToPolicyDefinitionStaticPtrOutput() PolicyDefinitionStaticPtrOutput + ToPolicyDefinitionStaticPtrOutputWithContext(context.Context) PolicyDefinitionStaticPtrOutput +} + +type policyDefinitionStaticPtrType PolicyDefinitionStaticArgs + +func PolicyDefinitionStaticPtr(v *PolicyDefinitionStaticArgs) PolicyDefinitionStaticPtrInput { + return (*policyDefinitionStaticPtrType)(v) +} + +func (*policyDefinitionStaticPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyDefinitionStatic)(nil)).Elem() +} + +func (i *policyDefinitionStaticPtrType) ToPolicyDefinitionStaticPtrOutput() PolicyDefinitionStaticPtrOutput { + return i.ToPolicyDefinitionStaticPtrOutputWithContext(context.Background()) +} + +func (i *policyDefinitionStaticPtrType) ToPolicyDefinitionStaticPtrOutputWithContext(ctx context.Context) PolicyDefinitionStaticPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyDefinitionStaticPtrOutput) +} + +type PolicyDefinitionStaticOutput struct{ *pulumi.OutputState } + +func (PolicyDefinitionStaticOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyDefinitionStatic)(nil)).Elem() +} + +func (o PolicyDefinitionStaticOutput) ToPolicyDefinitionStaticOutput() PolicyDefinitionStaticOutput { + return o +} + +func (o PolicyDefinitionStaticOutput) ToPolicyDefinitionStaticOutputWithContext(ctx context.Context) PolicyDefinitionStaticOutput { + return o +} + +func (o PolicyDefinitionStaticOutput) ToPolicyDefinitionStaticPtrOutput() PolicyDefinitionStaticPtrOutput { + return o.ToPolicyDefinitionStaticPtrOutputWithContext(context.Background()) +} + +func (o PolicyDefinitionStaticOutput) ToPolicyDefinitionStaticPtrOutputWithContext(ctx context.Context) PolicyDefinitionStaticPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyDefinitionStatic) *PolicyDefinitionStatic { + return &v + }).(PolicyDefinitionStaticPtrOutput) +} + +// The description of the static policy. +func (o PolicyDefinitionStaticOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v PolicyDefinitionStatic) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// The statement of the static policy. +func (o PolicyDefinitionStaticOutput) Statement() pulumi.StringOutput { + return o.ApplyT(func(v PolicyDefinitionStatic) string { return v.Statement }).(pulumi.StringOutput) +} + +type PolicyDefinitionStaticPtrOutput struct{ *pulumi.OutputState } + +func (PolicyDefinitionStaticPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyDefinitionStatic)(nil)).Elem() +} + +func (o PolicyDefinitionStaticPtrOutput) ToPolicyDefinitionStaticPtrOutput() PolicyDefinitionStaticPtrOutput { + return o +} + +func (o PolicyDefinitionStaticPtrOutput) ToPolicyDefinitionStaticPtrOutputWithContext(ctx context.Context) PolicyDefinitionStaticPtrOutput { + return o +} + +func (o PolicyDefinitionStaticPtrOutput) Elem() PolicyDefinitionStaticOutput { + return o.ApplyT(func(v *PolicyDefinitionStatic) PolicyDefinitionStatic { + if v != nil { + return *v + } + var ret PolicyDefinitionStatic + return ret + }).(PolicyDefinitionStaticOutput) +} + +// The description of the static policy. +func (o PolicyDefinitionStaticPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyDefinitionStatic) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +// The statement of the static policy. +func (o PolicyDefinitionStaticPtrOutput) Statement() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyDefinitionStatic) *string { + if v == nil { + return nil + } + return &v.Statement + }).(pulumi.StringPtrOutput) +} + +type PolicyDefinitionTemplateLinked struct { + // The ID of the template. + PolicyTemplateId string `pulumi:"policyTemplateId"` + // The principal of the template linked policy. + Principal *PolicyDefinitionTemplateLinkedPrincipal `pulumi:"principal"` + // The resource of the template linked policy. + Resource *PolicyDefinitionTemplateLinkedResource `pulumi:"resource"` +} + +// PolicyDefinitionTemplateLinkedInput is an input type that accepts PolicyDefinitionTemplateLinkedArgs and PolicyDefinitionTemplateLinkedOutput values. +// You can construct a concrete instance of `PolicyDefinitionTemplateLinkedInput` via: +// +// PolicyDefinitionTemplateLinkedArgs{...} +type PolicyDefinitionTemplateLinkedInput interface { + pulumi.Input + + ToPolicyDefinitionTemplateLinkedOutput() PolicyDefinitionTemplateLinkedOutput + ToPolicyDefinitionTemplateLinkedOutputWithContext(context.Context) PolicyDefinitionTemplateLinkedOutput +} + +type PolicyDefinitionTemplateLinkedArgs struct { + // The ID of the template. + PolicyTemplateId pulumi.StringInput `pulumi:"policyTemplateId"` + // The principal of the template linked policy. + Principal PolicyDefinitionTemplateLinkedPrincipalPtrInput `pulumi:"principal"` + // The resource of the template linked policy. + Resource PolicyDefinitionTemplateLinkedResourcePtrInput `pulumi:"resource"` +} + +func (PolicyDefinitionTemplateLinkedArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyDefinitionTemplateLinked)(nil)).Elem() +} + +func (i PolicyDefinitionTemplateLinkedArgs) ToPolicyDefinitionTemplateLinkedOutput() PolicyDefinitionTemplateLinkedOutput { + return i.ToPolicyDefinitionTemplateLinkedOutputWithContext(context.Background()) +} + +func (i PolicyDefinitionTemplateLinkedArgs) ToPolicyDefinitionTemplateLinkedOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyDefinitionTemplateLinkedOutput) +} + +func (i PolicyDefinitionTemplateLinkedArgs) ToPolicyDefinitionTemplateLinkedPtrOutput() PolicyDefinitionTemplateLinkedPtrOutput { + return i.ToPolicyDefinitionTemplateLinkedPtrOutputWithContext(context.Background()) +} + +func (i PolicyDefinitionTemplateLinkedArgs) ToPolicyDefinitionTemplateLinkedPtrOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyDefinitionTemplateLinkedOutput).ToPolicyDefinitionTemplateLinkedPtrOutputWithContext(ctx) +} + +// PolicyDefinitionTemplateLinkedPtrInput is an input type that accepts PolicyDefinitionTemplateLinkedArgs, PolicyDefinitionTemplateLinkedPtr and PolicyDefinitionTemplateLinkedPtrOutput values. +// You can construct a concrete instance of `PolicyDefinitionTemplateLinkedPtrInput` via: +// +// PolicyDefinitionTemplateLinkedArgs{...} +// +// or: +// +// nil +type PolicyDefinitionTemplateLinkedPtrInput interface { + pulumi.Input + + ToPolicyDefinitionTemplateLinkedPtrOutput() PolicyDefinitionTemplateLinkedPtrOutput + ToPolicyDefinitionTemplateLinkedPtrOutputWithContext(context.Context) PolicyDefinitionTemplateLinkedPtrOutput +} + +type policyDefinitionTemplateLinkedPtrType PolicyDefinitionTemplateLinkedArgs + +func PolicyDefinitionTemplateLinkedPtr(v *PolicyDefinitionTemplateLinkedArgs) PolicyDefinitionTemplateLinkedPtrInput { + return (*policyDefinitionTemplateLinkedPtrType)(v) +} + +func (*policyDefinitionTemplateLinkedPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyDefinitionTemplateLinked)(nil)).Elem() +} + +func (i *policyDefinitionTemplateLinkedPtrType) ToPolicyDefinitionTemplateLinkedPtrOutput() PolicyDefinitionTemplateLinkedPtrOutput { + return i.ToPolicyDefinitionTemplateLinkedPtrOutputWithContext(context.Background()) +} + +func (i *policyDefinitionTemplateLinkedPtrType) ToPolicyDefinitionTemplateLinkedPtrOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyDefinitionTemplateLinkedPtrOutput) +} + +type PolicyDefinitionTemplateLinkedOutput struct{ *pulumi.OutputState } + +func (PolicyDefinitionTemplateLinkedOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyDefinitionTemplateLinked)(nil)).Elem() +} + +func (o PolicyDefinitionTemplateLinkedOutput) ToPolicyDefinitionTemplateLinkedOutput() PolicyDefinitionTemplateLinkedOutput { + return o +} + +func (o PolicyDefinitionTemplateLinkedOutput) ToPolicyDefinitionTemplateLinkedOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedOutput { + return o +} + +func (o PolicyDefinitionTemplateLinkedOutput) ToPolicyDefinitionTemplateLinkedPtrOutput() PolicyDefinitionTemplateLinkedPtrOutput { + return o.ToPolicyDefinitionTemplateLinkedPtrOutputWithContext(context.Background()) +} + +func (o PolicyDefinitionTemplateLinkedOutput) ToPolicyDefinitionTemplateLinkedPtrOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyDefinitionTemplateLinked) *PolicyDefinitionTemplateLinked { + return &v + }).(PolicyDefinitionTemplateLinkedPtrOutput) +} + +// The ID of the template. +func (o PolicyDefinitionTemplateLinkedOutput) PolicyTemplateId() pulumi.StringOutput { + return o.ApplyT(func(v PolicyDefinitionTemplateLinked) string { return v.PolicyTemplateId }).(pulumi.StringOutput) +} + +// The principal of the template linked policy. +func (o PolicyDefinitionTemplateLinkedOutput) Principal() PolicyDefinitionTemplateLinkedPrincipalPtrOutput { + return o.ApplyT(func(v PolicyDefinitionTemplateLinked) *PolicyDefinitionTemplateLinkedPrincipal { return v.Principal }).(PolicyDefinitionTemplateLinkedPrincipalPtrOutput) +} + +// The resource of the template linked policy. +func (o PolicyDefinitionTemplateLinkedOutput) Resource() PolicyDefinitionTemplateLinkedResourcePtrOutput { + return o.ApplyT(func(v PolicyDefinitionTemplateLinked) *PolicyDefinitionTemplateLinkedResource { return v.Resource }).(PolicyDefinitionTemplateLinkedResourcePtrOutput) +} + +type PolicyDefinitionTemplateLinkedPtrOutput struct{ *pulumi.OutputState } + +func (PolicyDefinitionTemplateLinkedPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyDefinitionTemplateLinked)(nil)).Elem() +} + +func (o PolicyDefinitionTemplateLinkedPtrOutput) ToPolicyDefinitionTemplateLinkedPtrOutput() PolicyDefinitionTemplateLinkedPtrOutput { + return o +} + +func (o PolicyDefinitionTemplateLinkedPtrOutput) ToPolicyDefinitionTemplateLinkedPtrOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedPtrOutput { + return o +} + +func (o PolicyDefinitionTemplateLinkedPtrOutput) Elem() PolicyDefinitionTemplateLinkedOutput { + return o.ApplyT(func(v *PolicyDefinitionTemplateLinked) PolicyDefinitionTemplateLinked { + if v != nil { + return *v + } + var ret PolicyDefinitionTemplateLinked + return ret + }).(PolicyDefinitionTemplateLinkedOutput) +} + +// The ID of the template. +func (o PolicyDefinitionTemplateLinkedPtrOutput) PolicyTemplateId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyDefinitionTemplateLinked) *string { + if v == nil { + return nil + } + return &v.PolicyTemplateId + }).(pulumi.StringPtrOutput) +} + +// The principal of the template linked policy. +func (o PolicyDefinitionTemplateLinkedPtrOutput) Principal() PolicyDefinitionTemplateLinkedPrincipalPtrOutput { + return o.ApplyT(func(v *PolicyDefinitionTemplateLinked) *PolicyDefinitionTemplateLinkedPrincipal { + if v == nil { + return nil + } + return v.Principal + }).(PolicyDefinitionTemplateLinkedPrincipalPtrOutput) +} + +// The resource of the template linked policy. +func (o PolicyDefinitionTemplateLinkedPtrOutput) Resource() PolicyDefinitionTemplateLinkedResourcePtrOutput { + return o.ApplyT(func(v *PolicyDefinitionTemplateLinked) *PolicyDefinitionTemplateLinkedResource { + if v == nil { + return nil + } + return v.Resource + }).(PolicyDefinitionTemplateLinkedResourcePtrOutput) +} + +type PolicyDefinitionTemplateLinkedPrincipal struct { + // The entity ID of the principal. + EntityId string `pulumi:"entityId"` + // The entity type of the principal. + EntityType string `pulumi:"entityType"` +} + +// PolicyDefinitionTemplateLinkedPrincipalInput is an input type that accepts PolicyDefinitionTemplateLinkedPrincipalArgs and PolicyDefinitionTemplateLinkedPrincipalOutput values. +// You can construct a concrete instance of `PolicyDefinitionTemplateLinkedPrincipalInput` via: +// +// PolicyDefinitionTemplateLinkedPrincipalArgs{...} +type PolicyDefinitionTemplateLinkedPrincipalInput interface { + pulumi.Input + + ToPolicyDefinitionTemplateLinkedPrincipalOutput() PolicyDefinitionTemplateLinkedPrincipalOutput + ToPolicyDefinitionTemplateLinkedPrincipalOutputWithContext(context.Context) PolicyDefinitionTemplateLinkedPrincipalOutput +} + +type PolicyDefinitionTemplateLinkedPrincipalArgs struct { + // The entity ID of the principal. + EntityId pulumi.StringInput `pulumi:"entityId"` + // The entity type of the principal. + EntityType pulumi.StringInput `pulumi:"entityType"` +} + +func (PolicyDefinitionTemplateLinkedPrincipalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyDefinitionTemplateLinkedPrincipal)(nil)).Elem() +} + +func (i PolicyDefinitionTemplateLinkedPrincipalArgs) ToPolicyDefinitionTemplateLinkedPrincipalOutput() PolicyDefinitionTemplateLinkedPrincipalOutput { + return i.ToPolicyDefinitionTemplateLinkedPrincipalOutputWithContext(context.Background()) +} + +func (i PolicyDefinitionTemplateLinkedPrincipalArgs) ToPolicyDefinitionTemplateLinkedPrincipalOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedPrincipalOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyDefinitionTemplateLinkedPrincipalOutput) +} + +func (i PolicyDefinitionTemplateLinkedPrincipalArgs) ToPolicyDefinitionTemplateLinkedPrincipalPtrOutput() PolicyDefinitionTemplateLinkedPrincipalPtrOutput { + return i.ToPolicyDefinitionTemplateLinkedPrincipalPtrOutputWithContext(context.Background()) +} + +func (i PolicyDefinitionTemplateLinkedPrincipalArgs) ToPolicyDefinitionTemplateLinkedPrincipalPtrOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedPrincipalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyDefinitionTemplateLinkedPrincipalOutput).ToPolicyDefinitionTemplateLinkedPrincipalPtrOutputWithContext(ctx) +} + +// PolicyDefinitionTemplateLinkedPrincipalPtrInput is an input type that accepts PolicyDefinitionTemplateLinkedPrincipalArgs, PolicyDefinitionTemplateLinkedPrincipalPtr and PolicyDefinitionTemplateLinkedPrincipalPtrOutput values. +// You can construct a concrete instance of `PolicyDefinitionTemplateLinkedPrincipalPtrInput` via: +// +// PolicyDefinitionTemplateLinkedPrincipalArgs{...} +// +// or: +// +// nil +type PolicyDefinitionTemplateLinkedPrincipalPtrInput interface { + pulumi.Input + + ToPolicyDefinitionTemplateLinkedPrincipalPtrOutput() PolicyDefinitionTemplateLinkedPrincipalPtrOutput + ToPolicyDefinitionTemplateLinkedPrincipalPtrOutputWithContext(context.Context) PolicyDefinitionTemplateLinkedPrincipalPtrOutput +} + +type policyDefinitionTemplateLinkedPrincipalPtrType PolicyDefinitionTemplateLinkedPrincipalArgs + +func PolicyDefinitionTemplateLinkedPrincipalPtr(v *PolicyDefinitionTemplateLinkedPrincipalArgs) PolicyDefinitionTemplateLinkedPrincipalPtrInput { + return (*policyDefinitionTemplateLinkedPrincipalPtrType)(v) +} + +func (*policyDefinitionTemplateLinkedPrincipalPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyDefinitionTemplateLinkedPrincipal)(nil)).Elem() +} + +func (i *policyDefinitionTemplateLinkedPrincipalPtrType) ToPolicyDefinitionTemplateLinkedPrincipalPtrOutput() PolicyDefinitionTemplateLinkedPrincipalPtrOutput { + return i.ToPolicyDefinitionTemplateLinkedPrincipalPtrOutputWithContext(context.Background()) +} + +func (i *policyDefinitionTemplateLinkedPrincipalPtrType) ToPolicyDefinitionTemplateLinkedPrincipalPtrOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedPrincipalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyDefinitionTemplateLinkedPrincipalPtrOutput) +} + +type PolicyDefinitionTemplateLinkedPrincipalOutput struct{ *pulumi.OutputState } + +func (PolicyDefinitionTemplateLinkedPrincipalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyDefinitionTemplateLinkedPrincipal)(nil)).Elem() +} + +func (o PolicyDefinitionTemplateLinkedPrincipalOutput) ToPolicyDefinitionTemplateLinkedPrincipalOutput() PolicyDefinitionTemplateLinkedPrincipalOutput { + return o +} + +func (o PolicyDefinitionTemplateLinkedPrincipalOutput) ToPolicyDefinitionTemplateLinkedPrincipalOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedPrincipalOutput { + return o +} + +func (o PolicyDefinitionTemplateLinkedPrincipalOutput) ToPolicyDefinitionTemplateLinkedPrincipalPtrOutput() PolicyDefinitionTemplateLinkedPrincipalPtrOutput { + return o.ToPolicyDefinitionTemplateLinkedPrincipalPtrOutputWithContext(context.Background()) +} + +func (o PolicyDefinitionTemplateLinkedPrincipalOutput) ToPolicyDefinitionTemplateLinkedPrincipalPtrOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedPrincipalPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyDefinitionTemplateLinkedPrincipal) *PolicyDefinitionTemplateLinkedPrincipal { + return &v + }).(PolicyDefinitionTemplateLinkedPrincipalPtrOutput) +} + +// The entity ID of the principal. +func (o PolicyDefinitionTemplateLinkedPrincipalOutput) EntityId() pulumi.StringOutput { + return o.ApplyT(func(v PolicyDefinitionTemplateLinkedPrincipal) string { return v.EntityId }).(pulumi.StringOutput) +} + +// The entity type of the principal. +func (o PolicyDefinitionTemplateLinkedPrincipalOutput) EntityType() pulumi.StringOutput { + return o.ApplyT(func(v PolicyDefinitionTemplateLinkedPrincipal) string { return v.EntityType }).(pulumi.StringOutput) +} + +type PolicyDefinitionTemplateLinkedPrincipalPtrOutput struct{ *pulumi.OutputState } + +func (PolicyDefinitionTemplateLinkedPrincipalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyDefinitionTemplateLinkedPrincipal)(nil)).Elem() +} + +func (o PolicyDefinitionTemplateLinkedPrincipalPtrOutput) ToPolicyDefinitionTemplateLinkedPrincipalPtrOutput() PolicyDefinitionTemplateLinkedPrincipalPtrOutput { + return o +} + +func (o PolicyDefinitionTemplateLinkedPrincipalPtrOutput) ToPolicyDefinitionTemplateLinkedPrincipalPtrOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedPrincipalPtrOutput { + return o +} + +func (o PolicyDefinitionTemplateLinkedPrincipalPtrOutput) Elem() PolicyDefinitionTemplateLinkedPrincipalOutput { + return o.ApplyT(func(v *PolicyDefinitionTemplateLinkedPrincipal) PolicyDefinitionTemplateLinkedPrincipal { + if v != nil { + return *v + } + var ret PolicyDefinitionTemplateLinkedPrincipal + return ret + }).(PolicyDefinitionTemplateLinkedPrincipalOutput) +} + +// The entity ID of the principal. +func (o PolicyDefinitionTemplateLinkedPrincipalPtrOutput) EntityId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyDefinitionTemplateLinkedPrincipal) *string { + if v == nil { + return nil + } + return &v.EntityId + }).(pulumi.StringPtrOutput) +} + +// The entity type of the principal. +func (o PolicyDefinitionTemplateLinkedPrincipalPtrOutput) EntityType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyDefinitionTemplateLinkedPrincipal) *string { + if v == nil { + return nil + } + return &v.EntityType + }).(pulumi.StringPtrOutput) +} + +type PolicyDefinitionTemplateLinkedResource struct { + // The entity ID of the resource. + EntityId string `pulumi:"entityId"` + // The entity type of the resource. + EntityType string `pulumi:"entityType"` +} + +// PolicyDefinitionTemplateLinkedResourceInput is an input type that accepts PolicyDefinitionTemplateLinkedResourceArgs and PolicyDefinitionTemplateLinkedResourceOutput values. +// You can construct a concrete instance of `PolicyDefinitionTemplateLinkedResourceInput` via: +// +// PolicyDefinitionTemplateLinkedResourceArgs{...} +type PolicyDefinitionTemplateLinkedResourceInput interface { + pulumi.Input + + ToPolicyDefinitionTemplateLinkedResourceOutput() PolicyDefinitionTemplateLinkedResourceOutput + ToPolicyDefinitionTemplateLinkedResourceOutputWithContext(context.Context) PolicyDefinitionTemplateLinkedResourceOutput +} + +type PolicyDefinitionTemplateLinkedResourceArgs struct { + // The entity ID of the resource. + EntityId pulumi.StringInput `pulumi:"entityId"` + // The entity type of the resource. + EntityType pulumi.StringInput `pulumi:"entityType"` +} + +func (PolicyDefinitionTemplateLinkedResourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyDefinitionTemplateLinkedResource)(nil)).Elem() +} + +func (i PolicyDefinitionTemplateLinkedResourceArgs) ToPolicyDefinitionTemplateLinkedResourceOutput() PolicyDefinitionTemplateLinkedResourceOutput { + return i.ToPolicyDefinitionTemplateLinkedResourceOutputWithContext(context.Background()) +} + +func (i PolicyDefinitionTemplateLinkedResourceArgs) ToPolicyDefinitionTemplateLinkedResourceOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedResourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyDefinitionTemplateLinkedResourceOutput) +} + +func (i PolicyDefinitionTemplateLinkedResourceArgs) ToPolicyDefinitionTemplateLinkedResourcePtrOutput() PolicyDefinitionTemplateLinkedResourcePtrOutput { + return i.ToPolicyDefinitionTemplateLinkedResourcePtrOutputWithContext(context.Background()) +} + +func (i PolicyDefinitionTemplateLinkedResourceArgs) ToPolicyDefinitionTemplateLinkedResourcePtrOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedResourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyDefinitionTemplateLinkedResourceOutput).ToPolicyDefinitionTemplateLinkedResourcePtrOutputWithContext(ctx) +} + +// PolicyDefinitionTemplateLinkedResourcePtrInput is an input type that accepts PolicyDefinitionTemplateLinkedResourceArgs, PolicyDefinitionTemplateLinkedResourcePtr and PolicyDefinitionTemplateLinkedResourcePtrOutput values. +// You can construct a concrete instance of `PolicyDefinitionTemplateLinkedResourcePtrInput` via: +// +// PolicyDefinitionTemplateLinkedResourceArgs{...} +// +// or: +// +// nil +type PolicyDefinitionTemplateLinkedResourcePtrInput interface { + pulumi.Input + + ToPolicyDefinitionTemplateLinkedResourcePtrOutput() PolicyDefinitionTemplateLinkedResourcePtrOutput + ToPolicyDefinitionTemplateLinkedResourcePtrOutputWithContext(context.Context) PolicyDefinitionTemplateLinkedResourcePtrOutput +} + +type policyDefinitionTemplateLinkedResourcePtrType PolicyDefinitionTemplateLinkedResourceArgs + +func PolicyDefinitionTemplateLinkedResourcePtr(v *PolicyDefinitionTemplateLinkedResourceArgs) PolicyDefinitionTemplateLinkedResourcePtrInput { + return (*policyDefinitionTemplateLinkedResourcePtrType)(v) +} + +func (*policyDefinitionTemplateLinkedResourcePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyDefinitionTemplateLinkedResource)(nil)).Elem() +} + +func (i *policyDefinitionTemplateLinkedResourcePtrType) ToPolicyDefinitionTemplateLinkedResourcePtrOutput() PolicyDefinitionTemplateLinkedResourcePtrOutput { + return i.ToPolicyDefinitionTemplateLinkedResourcePtrOutputWithContext(context.Background()) +} + +func (i *policyDefinitionTemplateLinkedResourcePtrType) ToPolicyDefinitionTemplateLinkedResourcePtrOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedResourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PolicyDefinitionTemplateLinkedResourcePtrOutput) +} + +type PolicyDefinitionTemplateLinkedResourceOutput struct{ *pulumi.OutputState } + +func (PolicyDefinitionTemplateLinkedResourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PolicyDefinitionTemplateLinkedResource)(nil)).Elem() +} + +func (o PolicyDefinitionTemplateLinkedResourceOutput) ToPolicyDefinitionTemplateLinkedResourceOutput() PolicyDefinitionTemplateLinkedResourceOutput { + return o +} + +func (o PolicyDefinitionTemplateLinkedResourceOutput) ToPolicyDefinitionTemplateLinkedResourceOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedResourceOutput { + return o +} + +func (o PolicyDefinitionTemplateLinkedResourceOutput) ToPolicyDefinitionTemplateLinkedResourcePtrOutput() PolicyDefinitionTemplateLinkedResourcePtrOutput { + return o.ToPolicyDefinitionTemplateLinkedResourcePtrOutputWithContext(context.Background()) +} + +func (o PolicyDefinitionTemplateLinkedResourceOutput) ToPolicyDefinitionTemplateLinkedResourcePtrOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedResourcePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PolicyDefinitionTemplateLinkedResource) *PolicyDefinitionTemplateLinkedResource { + return &v + }).(PolicyDefinitionTemplateLinkedResourcePtrOutput) +} + +// The entity ID of the resource. +func (o PolicyDefinitionTemplateLinkedResourceOutput) EntityId() pulumi.StringOutput { + return o.ApplyT(func(v PolicyDefinitionTemplateLinkedResource) string { return v.EntityId }).(pulumi.StringOutput) +} + +// The entity type of the resource. +func (o PolicyDefinitionTemplateLinkedResourceOutput) EntityType() pulumi.StringOutput { + return o.ApplyT(func(v PolicyDefinitionTemplateLinkedResource) string { return v.EntityType }).(pulumi.StringOutput) +} + +type PolicyDefinitionTemplateLinkedResourcePtrOutput struct{ *pulumi.OutputState } + +func (PolicyDefinitionTemplateLinkedResourcePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PolicyDefinitionTemplateLinkedResource)(nil)).Elem() +} + +func (o PolicyDefinitionTemplateLinkedResourcePtrOutput) ToPolicyDefinitionTemplateLinkedResourcePtrOutput() PolicyDefinitionTemplateLinkedResourcePtrOutput { + return o +} + +func (o PolicyDefinitionTemplateLinkedResourcePtrOutput) ToPolicyDefinitionTemplateLinkedResourcePtrOutputWithContext(ctx context.Context) PolicyDefinitionTemplateLinkedResourcePtrOutput { + return o +} + +func (o PolicyDefinitionTemplateLinkedResourcePtrOutput) Elem() PolicyDefinitionTemplateLinkedResourceOutput { + return o.ApplyT(func(v *PolicyDefinitionTemplateLinkedResource) PolicyDefinitionTemplateLinkedResource { + if v != nil { + return *v + } + var ret PolicyDefinitionTemplateLinkedResource + return ret + }).(PolicyDefinitionTemplateLinkedResourceOutput) +} + +// The entity ID of the resource. +func (o PolicyDefinitionTemplateLinkedResourcePtrOutput) EntityId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyDefinitionTemplateLinkedResource) *string { + if v == nil { + return nil + } + return &v.EntityId + }).(pulumi.StringPtrOutput) +} + +// The entity type of the resource. +func (o PolicyDefinitionTemplateLinkedResourcePtrOutput) EntityType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PolicyDefinitionTemplateLinkedResource) *string { + if v == nil { + return nil + } + return &v.EntityType + }).(pulumi.StringPtrOutput) +} + type PolicyStoreValidationSettings struct { // The mode for the validation settings. Valid values: `OFF`, `STRICT`. // @@ -390,12 +1189,32 @@ func (o GetPolicyStoreValidationSettingArrayOutput) Index(i pulumi.IntInput) Get } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*PolicyDefinitionInput)(nil)).Elem(), PolicyDefinitionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyDefinitionPtrInput)(nil)).Elem(), PolicyDefinitionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyDefinitionStaticInput)(nil)).Elem(), PolicyDefinitionStaticArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyDefinitionStaticPtrInput)(nil)).Elem(), PolicyDefinitionStaticArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyDefinitionTemplateLinkedInput)(nil)).Elem(), PolicyDefinitionTemplateLinkedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyDefinitionTemplateLinkedPtrInput)(nil)).Elem(), PolicyDefinitionTemplateLinkedArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyDefinitionTemplateLinkedPrincipalInput)(nil)).Elem(), PolicyDefinitionTemplateLinkedPrincipalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyDefinitionTemplateLinkedPrincipalPtrInput)(nil)).Elem(), PolicyDefinitionTemplateLinkedPrincipalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyDefinitionTemplateLinkedResourceInput)(nil)).Elem(), PolicyDefinitionTemplateLinkedResourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*PolicyDefinitionTemplateLinkedResourcePtrInput)(nil)).Elem(), PolicyDefinitionTemplateLinkedResourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyStoreValidationSettingsInput)(nil)).Elem(), PolicyStoreValidationSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*PolicyStoreValidationSettingsPtrInput)(nil)).Elem(), PolicyStoreValidationSettingsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaDefinitionInput)(nil)).Elem(), SchemaDefinitionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SchemaDefinitionPtrInput)(nil)).Elem(), SchemaDefinitionArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPolicyStoreValidationSettingInput)(nil)).Elem(), GetPolicyStoreValidationSettingArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPolicyStoreValidationSettingArrayInput)(nil)).Elem(), GetPolicyStoreValidationSettingArray{}) + pulumi.RegisterOutputType(PolicyDefinitionOutput{}) + pulumi.RegisterOutputType(PolicyDefinitionPtrOutput{}) + pulumi.RegisterOutputType(PolicyDefinitionStaticOutput{}) + pulumi.RegisterOutputType(PolicyDefinitionStaticPtrOutput{}) + pulumi.RegisterOutputType(PolicyDefinitionTemplateLinkedOutput{}) + pulumi.RegisterOutputType(PolicyDefinitionTemplateLinkedPtrOutput{}) + pulumi.RegisterOutputType(PolicyDefinitionTemplateLinkedPrincipalOutput{}) + pulumi.RegisterOutputType(PolicyDefinitionTemplateLinkedPrincipalPtrOutput{}) + pulumi.RegisterOutputType(PolicyDefinitionTemplateLinkedResourceOutput{}) + pulumi.RegisterOutputType(PolicyDefinitionTemplateLinkedResourcePtrOutput{}) pulumi.RegisterOutputType(PolicyStoreValidationSettingsOutput{}) pulumi.RegisterOutputType(PolicyStoreValidationSettingsPtrOutput{}) pulumi.RegisterOutputType(SchemaDefinitionOutput{}) diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecArgs.java index 0badfdeb681..c5e8ea61130 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecArgs.java @@ -4,6 +4,7 @@ package com.pulumi.aws.appmesh.inputs; import com.pulumi.aws.appmesh.inputs.MeshSpecEgressFilterArgs; +import com.pulumi.aws.appmesh.inputs.MeshSpecServiceDiscoveryArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.util.Objects; @@ -30,10 +31,26 @@ public Optional> egressFilter() { return Optional.ofNullable(this.egressFilter); } + /** + * The service discovery information for the service mesh. + * + */ + @Import(name="serviceDiscovery") + private @Nullable Output serviceDiscovery; + + /** + * @return The service discovery information for the service mesh. + * + */ + public Optional> serviceDiscovery() { + return Optional.ofNullable(this.serviceDiscovery); + } + private MeshSpecArgs() {} private MeshSpecArgs(MeshSpecArgs $) { this.egressFilter = $.egressFilter; + this.serviceDiscovery = $.serviceDiscovery; } public static Builder builder() { @@ -75,6 +92,27 @@ public Builder egressFilter(MeshSpecEgressFilterArgs egressFilter) { return egressFilter(Output.of(egressFilter)); } + /** + * @param serviceDiscovery The service discovery information for the service mesh. + * + * @return builder + * + */ + public Builder serviceDiscovery(@Nullable Output serviceDiscovery) { + $.serviceDiscovery = serviceDiscovery; + return this; + } + + /** + * @param serviceDiscovery The service discovery information for the service mesh. + * + * @return builder + * + */ + public Builder serviceDiscovery(MeshSpecServiceDiscoveryArgs serviceDiscovery) { + return serviceDiscovery(Output.of(serviceDiscovery)); + } + public MeshSpecArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecEgressFilterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecEgressFilterArgs.java index a90ad3936d2..ba2ecdc4a5a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecEgressFilterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecEgressFilterArgs.java @@ -15,19 +15,9 @@ public final class MeshSpecEgressFilterArgs extends com.pulumi.resources.Resourc public static final MeshSpecEgressFilterArgs Empty = new MeshSpecEgressFilterArgs(); - /** - * Egress filter type. By default, the type is `DROP_ALL`. - * Valid values are `ALLOW_ALL` and `DROP_ALL`. - * - */ @Import(name="type") private @Nullable Output type; - /** - * @return Egress filter type. By default, the type is `DROP_ALL`. - * Valid values are `ALLOW_ALL` and `DROP_ALL`. - * - */ public Optional> type() { return Optional.ofNullable(this.type); } @@ -56,25 +46,11 @@ public Builder(MeshSpecEgressFilterArgs defaults) { $ = new MeshSpecEgressFilterArgs(Objects.requireNonNull(defaults)); } - /** - * @param type Egress filter type. By default, the type is `DROP_ALL`. - * Valid values are `ALLOW_ALL` and `DROP_ALL`. - * - * @return builder - * - */ public Builder type(@Nullable Output type) { $.type = type; return this; } - /** - * @param type Egress filter type. By default, the type is `DROP_ALL`. - * Valid values are `ALLOW_ALL` and `DROP_ALL`. - * - * @return builder - * - */ public Builder type(String type) { return type(Output.of(type)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecServiceDiscoveryArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecServiceDiscoveryArgs.java new file mode 100644 index 00000000000..a365f8ca27e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/MeshSpecServiceDiscoveryArgs.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.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 MeshSpecServiceDiscoveryArgs extends com.pulumi.resources.ResourceArgs { + + public static final MeshSpecServiceDiscoveryArgs Empty = new MeshSpecServiceDiscoveryArgs(); + + @Import(name="ipPreference") + private @Nullable Output ipPreference; + + public Optional> ipPreference() { + return Optional.ofNullable(this.ipPreference); + } + + private MeshSpecServiceDiscoveryArgs() {} + + private MeshSpecServiceDiscoveryArgs(MeshSpecServiceDiscoveryArgs $) { + this.ipPreference = $.ipPreference; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(MeshSpecServiceDiscoveryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private MeshSpecServiceDiscoveryArgs $; + + public Builder() { + $ = new MeshSpecServiceDiscoveryArgs(); + } + + public Builder(MeshSpecServiceDiscoveryArgs defaults) { + $ = new MeshSpecServiceDiscoveryArgs(Objects.requireNonNull(defaults)); + } + + public Builder ipPreference(@Nullable Output ipPreference) { + $.ipPreference = ipPreference; + return this; + } + + public Builder ipPreference(String ipPreference) { + return ipPreference(Output.of(ipPreference)); + } + + public MeshSpecServiceDiscoveryArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpec.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpec.java index ae83700416c..7ea65221cc9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpec.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpec.java @@ -4,6 +4,7 @@ package com.pulumi.aws.appmesh.outputs; import com.pulumi.aws.appmesh.outputs.GetMeshSpecEgressFilter; +import com.pulumi.aws.appmesh.outputs.GetMeshSpecServiceDiscovery; import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; import java.util.List; @@ -12,11 +13,15 @@ @CustomType public final class GetMeshSpec { private List egressFilters; + private List serviceDiscoveries; private GetMeshSpec() {} public List egressFilters() { return this.egressFilters; } + public List serviceDiscoveries() { + return this.serviceDiscoveries; + } public static Builder builder() { return new Builder(); @@ -28,10 +33,12 @@ public static Builder builder(GetMeshSpec defaults) { @CustomType.Builder public static final class Builder { private List egressFilters; + private List serviceDiscoveries; public Builder() {} public Builder(GetMeshSpec defaults) { Objects.requireNonNull(defaults); this.egressFilters = defaults.egressFilters; + this.serviceDiscoveries = defaults.serviceDiscoveries; } @CustomType.Setter @@ -45,9 +52,21 @@ public Builder egressFilters(List egressFilters) { public Builder egressFilters(GetMeshSpecEgressFilter... egressFilters) { return egressFilters(List.of(egressFilters)); } + @CustomType.Setter + public Builder serviceDiscoveries(List serviceDiscoveries) { + if (serviceDiscoveries == null) { + throw new MissingRequiredPropertyException("GetMeshSpec", "serviceDiscoveries"); + } + this.serviceDiscoveries = serviceDiscoveries; + return this; + } + public Builder serviceDiscoveries(GetMeshSpecServiceDiscovery... serviceDiscoveries) { + return serviceDiscoveries(List.of(serviceDiscoveries)); + } public GetMeshSpec build() { final var _resultValue = new GetMeshSpec(); _resultValue.egressFilters = egressFilters; + _resultValue.serviceDiscoveries = serviceDiscoveries; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpecServiceDiscovery.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpecServiceDiscovery.java new file mode 100644 index 00000000000..553a1da110b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpecServiceDiscovery.java @@ -0,0 +1,50 @@ +// *** 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.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetMeshSpecServiceDiscovery { + private String ipPreference; + + private GetMeshSpecServiceDiscovery() {} + public String ipPreference() { + return this.ipPreference; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetMeshSpecServiceDiscovery defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String ipPreference; + public Builder() {} + public Builder(GetMeshSpecServiceDiscovery defaults) { + Objects.requireNonNull(defaults); + this.ipPreference = defaults.ipPreference; + } + + @CustomType.Setter + public Builder ipPreference(String ipPreference) { + if (ipPreference == null) { + throw new MissingRequiredPropertyException("GetMeshSpecServiceDiscovery", "ipPreference"); + } + this.ipPreference = ipPreference; + return this; + } + public GetMeshSpecServiceDiscovery build() { + final var _resultValue = new GetMeshSpecServiceDiscovery(); + _resultValue.ipPreference = ipPreference; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpec.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpec.java index 5cc0d94fde4..ec95290510b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpec.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpec.java @@ -4,6 +4,7 @@ package com.pulumi.aws.appmesh.outputs; import com.pulumi.aws.appmesh.outputs.MeshSpecEgressFilter; +import com.pulumi.aws.appmesh.outputs.MeshSpecServiceDiscovery; import com.pulumi.core.annotations.CustomType; import java.util.Objects; import java.util.Optional; @@ -16,6 +17,11 @@ public final class MeshSpec { * */ private @Nullable MeshSpecEgressFilter egressFilter; + /** + * @return The service discovery information for the service mesh. + * + */ + private @Nullable MeshSpecServiceDiscovery serviceDiscovery; private MeshSpec() {} /** @@ -25,6 +31,13 @@ private MeshSpec() {} public Optional egressFilter() { return Optional.ofNullable(this.egressFilter); } + /** + * @return The service discovery information for the service mesh. + * + */ + public Optional serviceDiscovery() { + return Optional.ofNullable(this.serviceDiscovery); + } public static Builder builder() { return new Builder(); @@ -36,10 +49,12 @@ public static Builder builder(MeshSpec defaults) { @CustomType.Builder public static final class Builder { private @Nullable MeshSpecEgressFilter egressFilter; + private @Nullable MeshSpecServiceDiscovery serviceDiscovery; public Builder() {} public Builder(MeshSpec defaults) { Objects.requireNonNull(defaults); this.egressFilter = defaults.egressFilter; + this.serviceDiscovery = defaults.serviceDiscovery; } @CustomType.Setter @@ -48,9 +63,16 @@ public Builder egressFilter(@Nullable MeshSpecEgressFilter egressFilter) { this.egressFilter = egressFilter; return this; } + @CustomType.Setter + public Builder serviceDiscovery(@Nullable MeshSpecServiceDiscovery serviceDiscovery) { + + this.serviceDiscovery = serviceDiscovery; + return this; + } public MeshSpec build() { final var _resultValue = new MeshSpec(); _resultValue.egressFilter = egressFilter; + _resultValue.serviceDiscovery = serviceDiscovery; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecEgressFilter.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecEgressFilter.java index ac6e6bae34a..fae1ec639d3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecEgressFilter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecEgressFilter.java @@ -11,19 +11,9 @@ @CustomType public final class MeshSpecEgressFilter { - /** - * @return Egress filter type. By default, the type is `DROP_ALL`. - * Valid values are `ALLOW_ALL` and `DROP_ALL`. - * - */ private @Nullable String type; private MeshSpecEgressFilter() {} - /** - * @return Egress filter type. By default, the type is `DROP_ALL`. - * Valid values are `ALLOW_ALL` and `DROP_ALL`. - * - */ public Optional type() { return Optional.ofNullable(this.type); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecServiceDiscovery.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecServiceDiscovery.java new file mode 100644 index 00000000000..f0b6f51e584 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/MeshSpecServiceDiscovery.java @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.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 MeshSpecServiceDiscovery { + private @Nullable String ipPreference; + + private MeshSpecServiceDiscovery() {} + public Optional ipPreference() { + return Optional.ofNullable(this.ipPreference); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(MeshSpecServiceDiscovery defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String ipPreference; + public Builder() {} + public Builder(MeshSpecServiceDiscovery defaults) { + Objects.requireNonNull(defaults); + this.ipPreference = defaults.ipPreference; + } + + @CustomType.Setter + public Builder ipPreference(@Nullable String ipPreference) { + + this.ipPreference = ipPreference; + return this; + } + public MeshSpecServiceDiscovery build() { + final var _resultValue = new MeshSpecServiceDiscovery(); + _resultValue.ipPreference = ipPreference; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinition.java b/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinition.java index ab3a7876b17..5587d01ff75 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinition.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinition.java @@ -349,16 +349,14 @@ public Output arnPrefix() { return this.arnPrefix; } /** - * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * */ @Export(name="containerProperties", refs={String.class}, tree="[0]") private Output containerProperties; /** - * @return A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * @return A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * */ public Output> containerProperties() { @@ -407,16 +405,14 @@ public Output name() { return this.name; } /** - * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * */ @Export(name="nodeProperties", refs={String.class}, tree="[0]") private Output nodeProperties; /** - * @return A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * @return A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * */ public Output> nodeProperties() { @@ -465,16 +461,14 @@ public Output> propagateTags() { return Codegen.optional(this.propagateTags); } /** - * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - * Maximum number of `retry_strategy` is `1`. Defined below. + * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * */ @Export(name="retryStrategy", refs={JobDefinitionRetryStrategy.class}, tree="[0]") private Output retryStrategy; /** - * @return Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - * Maximum number of `retry_strategy` is `1`. Defined below. + * @return Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * */ public Output> retryStrategy() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinitionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinitionArgs.java index 5940282f125..000f712057b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinitionArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/JobDefinitionArgs.java @@ -24,16 +24,14 @@ public final class JobDefinitionArgs extends com.pulumi.resources.ResourceArgs { public static final JobDefinitionArgs Empty = new JobDefinitionArgs(); /** - * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * */ @Import(name="containerProperties") private @Nullable Output containerProperties; /** - * @return A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * @return A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * */ public Optional> containerProperties() { @@ -86,16 +84,14 @@ public Optional> name() { } /** - * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * */ @Import(name="nodeProperties") private @Nullable Output nodeProperties; /** - * @return A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * @return A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * */ public Optional> nodeProperties() { @@ -148,16 +144,14 @@ public Optional> propagateTags() { } /** - * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - * Maximum number of `retry_strategy` is `1`. Defined below. + * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * */ @Import(name="retryStrategy") private @Nullable Output retryStrategy; /** - * @return Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - * Maximum number of `retry_strategy` is `1`. Defined below. + * @return Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * */ public Optional> retryStrategy() { @@ -265,8 +259,7 @@ public Builder(JobDefinitionArgs defaults) { } /** - * @param containerProperties A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * @param containerProperties A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * * @return builder * @@ -277,8 +270,7 @@ public Builder containerProperties(@Nullable Output containerProperties) } /** - * @param containerProperties A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * @param containerProperties A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * * @return builder * @@ -351,8 +343,7 @@ public Builder name(String name) { } /** - * @param nodeProperties A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * @param nodeProperties A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * * @return builder * @@ -363,8 +354,7 @@ public Builder nodeProperties(@Nullable Output nodeProperties) { } /** - * @param nodeProperties A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * @param nodeProperties A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * * @return builder * @@ -447,8 +437,7 @@ public Builder propagateTags(Boolean propagateTags) { } /** - * @param retryStrategy Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - * Maximum number of `retry_strategy` is `1`. Defined below. + * @param retryStrategy Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * * @return builder * @@ -459,8 +448,7 @@ public Builder retryStrategy(@Nullable Output re } /** - * @param retryStrategy Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - * Maximum number of `retry_strategy` is `1`. Defined below. + * @param retryStrategy Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionRetryStrategyEvaluateOnExitArgs.java b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionRetryStrategyEvaluateOnExitArgs.java index 035c362cae9..a9943e5bb68 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionRetryStrategyEvaluateOnExitArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionRetryStrategyEvaluateOnExitArgs.java @@ -17,14 +17,14 @@ public final class JobDefinitionRetryStrategyEvaluateOnExitArgs extends com.pulu public static final JobDefinitionRetryStrategyEvaluateOnExitArgs Empty = new JobDefinitionRetryStrategyEvaluateOnExitArgs(); /** - * Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + * Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. * */ @Import(name="action", required=true) private Output action; /** - * @return Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + * @return Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. * */ public Output action() { @@ -104,7 +104,7 @@ public Builder(JobDefinitionRetryStrategyEvaluateOnExitArgs defaults) { } /** - * @param action Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + * @param action Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. * * @return builder * @@ -115,7 +115,7 @@ public Builder action(Output action) { } /** - * @param action Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + * @param action Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionState.java b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionState.java index 7c9f080da62..e416c221f53 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/inputs/JobDefinitionState.java @@ -53,16 +53,14 @@ public Optional> arnPrefix() { } /** - * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * */ @Import(name="containerProperties") private @Nullable Output containerProperties; /** - * @return A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * @return A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * */ public Optional> containerProperties() { @@ -115,16 +113,14 @@ public Optional> name() { } /** - * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * */ @Import(name="nodeProperties") private @Nullable Output nodeProperties; /** - * @return A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * @return A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * */ public Optional> nodeProperties() { @@ -177,16 +173,14 @@ public Optional> propagateTags() { } /** - * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - * Maximum number of `retry_strategy` is `1`. Defined below. + * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * */ @Import(name="retryStrategy") private @Nullable Output retryStrategy; /** - * @return Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - * Maximum number of `retry_strategy` is `1`. Defined below. + * @return Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * */ public Optional> retryStrategy() { @@ -378,8 +372,7 @@ public Builder arnPrefix(String arnPrefix) { } /** - * @param containerProperties A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * @param containerProperties A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * * @return builder * @@ -390,8 +383,7 @@ public Builder containerProperties(@Nullable Output containerProperties) } /** - * @param containerProperties A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * @param containerProperties A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. * * @return builder * @@ -464,8 +456,7 @@ public Builder name(String name) { } /** - * @param nodeProperties A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * @param nodeProperties A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * * @return builder * @@ -476,8 +467,7 @@ public Builder nodeProperties(@Nullable Output nodeProperties) { } /** - * @param nodeProperties A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * @param nodeProperties A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. * * @return builder * @@ -560,8 +550,7 @@ public Builder propagateTags(Boolean propagateTags) { } /** - * @param retryStrategy Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - * Maximum number of `retry_strategy` is `1`. Defined below. + * @param retryStrategy Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * * @return builder * @@ -572,8 +561,7 @@ public Builder retryStrategy(@Nullable Output re } /** - * @param retryStrategy Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - * Maximum number of `retry_strategy` is `1`. Defined below. + * @param retryStrategy Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionRetryStrategyEvaluateOnExit.java b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionRetryStrategyEvaluateOnExit.java index 195c602f434..76687280d6e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionRetryStrategyEvaluateOnExit.java +++ b/sdk/java/src/main/java/com/pulumi/aws/batch/outputs/JobDefinitionRetryStrategyEvaluateOnExit.java @@ -13,7 +13,7 @@ @CustomType public final class JobDefinitionRetryStrategyEvaluateOnExit { /** - * @return Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + * @return Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. * */ private String action; @@ -35,7 +35,7 @@ public final class JobDefinitionRetryStrategyEvaluateOnExit { private JobDefinitionRetryStrategyEvaluateOnExit() {} /** - * @return Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + * @return Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. * */ public String action() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/Export.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/Export.java new file mode 100644 index 00000000000..a9ccaaa9ae2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/Export.java @@ -0,0 +1,183 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bcmdata; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.bcmdata.ExportArgs; +import com.pulumi.aws.bcmdata.inputs.ExportState; +import com.pulumi.aws.bcmdata.outputs.ExportExport; +import com.pulumi.aws.bcmdata.outputs.ExportTimeouts; +import com.pulumi.core.Output; +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 BCM Data Exports Export. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.bcmdata.Export; + * import com.pulumi.aws.bcmdata.ExportArgs; + * import com.pulumi.aws.bcmdata.inputs.ExportExportArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var test = new Export("test", ExportArgs.builder() + * .export(ExportExportArgs.builder() + * .name("testexample") + * .dataQueries(ExportExportDataQueryArgs.builder() + * .queryStatement("SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT") + * .tableConfigurations(Map.of("COST_AND_USAGE_REPORT", Map.ofEntries( + * Map.entry("TIME_GRANULARITY", "HOURLY"), + * Map.entry("INCLUDE_RESOURCES", "FALSE"), + * Map.entry("INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY", "FALSE"), + * Map.entry("INCLUDE_SPLIT_COST_ALLOCATION_DATA", "FALSE") + * ))) + * .build()) + * .destinationConfigurations(ExportExportDestinationConfigurationArgs.builder() + * .s3Destinations(ExportExportDestinationConfigurationS3DestinationArgs.builder() + * .s3Bucket(testAwsS3Bucket.bucket()) + * .s3Prefix(testAwsS3Bucket.bucketPrefix()) + * .s3Region(testAwsS3Bucket.region()) + * .s3OutputConfigurations(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs.builder() + * .overwrite("OVERWRITE_REPORT") + * .format("TEXT_OR_CSV") + * .compression("GZIP") + * .outputType("CUSTOM") + * .build()) + * .build()) + * .build()) + * .refreshCadences(ExportExportRefreshCadenceArgs.builder() + * .frequency("SYNCHRONOUS") + * .build()) + * .build()) + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import BCM Data Exports Export using the `export_arn`. For example: + * + * ```sh + * $ pulumi import aws:bcmdata/export:Export example export-id-12345678 + * ``` + * + */ +@ResourceType(type="aws:bcmdata/export:Export") +public class Export extends com.pulumi.resources.CustomResource { + /** + * The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + * + */ + @com.pulumi.core.annotations.Export(name="export", refs={ExportExport.class}, tree="[0]") + private Output export; + + /** + * @return The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + * + */ + public Output> export() { + return Codegen.optional(this.export); + } + @com.pulumi.core.annotations.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. */ + @com.pulumi.core.annotations.Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + public Output> tagsAll() { + return this.tagsAll; + } + @com.pulumi.core.annotations.Export(name="timeouts", refs={ExportTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Export(String name) { + this(name, ExportArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Export(String name, @Nullable ExportArgs 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 Export(String name, @Nullable ExportArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:bcmdata/export:Export", name, args == null ? ExportArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private Export(String name, Output id, @Nullable ExportState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:bcmdata/export:Export", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Export get(String name, Output id, @Nullable ExportState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Export(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/ExportArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/ExportArgs.java new file mode 100644 index 00000000000..80ca4c13e0a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/ExportArgs.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.bcmdata; + +import com.pulumi.aws.bcmdata.inputs.ExportExportArgs; +import com.pulumi.aws.bcmdata.inputs.ExportTimeoutsArgs; +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 ExportArgs extends com.pulumi.resources.ResourceArgs { + + public static final ExportArgs Empty = new ExportArgs(); + + /** + * The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + * + */ + @Import(name="export") + private @Nullable Output export; + + /** + * @return The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + * + */ + public Optional> export() { + return Optional.ofNullable(this.export); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private ExportArgs() {} + + private ExportArgs(ExportArgs $) { + this.export = $.export; + this.tags = $.tags; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ExportArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ExportArgs $; + + public Builder() { + $ = new ExportArgs(); + } + + public Builder(ExportArgs defaults) { + $ = new ExportArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param export The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + * + * @return builder + * + */ + public Builder export(@Nullable Output export) { + $.export = export; + return this; + } + + /** + * @param export The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + * + * @return builder + * + */ + public Builder export(ExportExportArgs export) { + return export(Output.of(export)); + } + + 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(ExportTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public ExportArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportArgs.java new file mode 100644 index 00000000000..2989f0d3a6b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportArgs.java @@ -0,0 +1,306 @@ +// *** 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.bcmdata.inputs; + +import com.pulumi.aws.bcmdata.inputs.ExportExportDataQueryArgs; +import com.pulumi.aws.bcmdata.inputs.ExportExportDestinationConfigurationArgs; +import com.pulumi.aws.bcmdata.inputs.ExportExportRefreshCadenceArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ExportExportArgs extends com.pulumi.resources.ResourceArgs { + + public static final ExportExportArgs Empty = new ExportExportArgs(); + + /** + * Data query for this specific data export. See the `data_query` argument reference below. + * + */ + @Import(name="dataQueries") + private @Nullable Output> dataQueries; + + /** + * @return Data query for this specific data export. See the `data_query` argument reference below. + * + */ + public Optional>> dataQueries() { + return Optional.ofNullable(this.dataQueries); + } + + /** + * Description for this specific data export. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description for this specific data export. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Destination configuration for this specific data export. See the `destination_configurations` argument reference below. + * + */ + @Import(name="destinationConfigurations") + private @Nullable Output> destinationConfigurations; + + /** + * @return Destination configuration for this specific data export. See the `destination_configurations` argument reference below. + * + */ + public Optional>> destinationConfigurations() { + return Optional.ofNullable(this.destinationConfigurations); + } + + /** + * Amazon Resource Name (ARN) for this export. + * + */ + @Import(name="exportArn") + private @Nullable Output exportArn; + + /** + * @return Amazon Resource Name (ARN) for this export. + * + */ + public Optional> exportArn() { + return Optional.ofNullable(this.exportArn); + } + + /** + * Name of this specific data export. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name of this specific data export. + * + */ + public Output name() { + return this.name; + } + + /** + * Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refresh_cadence` argument reference below. + * + */ + @Import(name="refreshCadences") + private @Nullable Output> refreshCadences; + + /** + * @return Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refresh_cadence` argument reference below. + * + */ + public Optional>> refreshCadences() { + return Optional.ofNullable(this.refreshCadences); + } + + private ExportExportArgs() {} + + private ExportExportArgs(ExportExportArgs $) { + this.dataQueries = $.dataQueries; + this.description = $.description; + this.destinationConfigurations = $.destinationConfigurations; + this.exportArn = $.exportArn; + this.name = $.name; + this.refreshCadences = $.refreshCadences; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ExportExportArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ExportExportArgs $; + + public Builder() { + $ = new ExportExportArgs(); + } + + public Builder(ExportExportArgs defaults) { + $ = new ExportExportArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param dataQueries Data query for this specific data export. See the `data_query` argument reference below. + * + * @return builder + * + */ + public Builder dataQueries(@Nullable Output> dataQueries) { + $.dataQueries = dataQueries; + return this; + } + + /** + * @param dataQueries Data query for this specific data export. See the `data_query` argument reference below. + * + * @return builder + * + */ + public Builder dataQueries(List dataQueries) { + return dataQueries(Output.of(dataQueries)); + } + + /** + * @param dataQueries Data query for this specific data export. See the `data_query` argument reference below. + * + * @return builder + * + */ + public Builder dataQueries(ExportExportDataQueryArgs... dataQueries) { + return dataQueries(List.of(dataQueries)); + } + + /** + * @param description Description for this specific data export. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description for this specific data export. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param destinationConfigurations Destination configuration for this specific data export. See the `destination_configurations` argument reference below. + * + * @return builder + * + */ + public Builder destinationConfigurations(@Nullable Output> destinationConfigurations) { + $.destinationConfigurations = destinationConfigurations; + return this; + } + + /** + * @param destinationConfigurations Destination configuration for this specific data export. See the `destination_configurations` argument reference below. + * + * @return builder + * + */ + public Builder destinationConfigurations(List destinationConfigurations) { + return destinationConfigurations(Output.of(destinationConfigurations)); + } + + /** + * @param destinationConfigurations Destination configuration for this specific data export. See the `destination_configurations` argument reference below. + * + * @return builder + * + */ + public Builder destinationConfigurations(ExportExportDestinationConfigurationArgs... destinationConfigurations) { + return destinationConfigurations(List.of(destinationConfigurations)); + } + + /** + * @param exportArn Amazon Resource Name (ARN) for this export. + * + * @return builder + * + */ + public Builder exportArn(@Nullable Output exportArn) { + $.exportArn = exportArn; + return this; + } + + /** + * @param exportArn Amazon Resource Name (ARN) for this export. + * + * @return builder + * + */ + public Builder exportArn(String exportArn) { + return exportArn(Output.of(exportArn)); + } + + /** + * @param name Name of this specific data export. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of this specific data export. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param refreshCadences Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refresh_cadence` argument reference below. + * + * @return builder + * + */ + public Builder refreshCadences(@Nullable Output> refreshCadences) { + $.refreshCadences = refreshCadences; + return this; + } + + /** + * @param refreshCadences Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refresh_cadence` argument reference below. + * + * @return builder + * + */ + public Builder refreshCadences(List refreshCadences) { + return refreshCadences(Output.of(refreshCadences)); + } + + /** + * @param refreshCadences Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refresh_cadence` argument reference below. + * + * @return builder + * + */ + public Builder refreshCadences(ExportExportRefreshCadenceArgs... refreshCadences) { + return refreshCadences(List.of(refreshCadences)); + } + + public ExportExportArgs build() { + if ($.name == null) { + throw new MissingRequiredPropertyException("ExportExportArgs", "name"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDataQueryArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDataQueryArgs.java new file mode 100644 index 00000000000..470419b605c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDataQueryArgs.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bcmdata.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Object; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ExportExportDataQueryArgs extends com.pulumi.resources.ResourceArgs { + + public static final ExportExportDataQueryArgs Empty = new ExportExportDataQueryArgs(); + + /** + * Query statement. + * + */ + @Import(name="queryStatement", required=true) + private Output queryStatement; + + /** + * @return Query statement. + * + */ + public Output queryStatement() { + return this.queryStatement; + } + + /** + * Table configuration. + * + */ + @Import(name="tableConfigurations") + private @Nullable Output>> tableConfigurations; + + /** + * @return Table configuration. + * + */ + public Optional>>> tableConfigurations() { + return Optional.ofNullable(this.tableConfigurations); + } + + private ExportExportDataQueryArgs() {} + + private ExportExportDataQueryArgs(ExportExportDataQueryArgs $) { + this.queryStatement = $.queryStatement; + this.tableConfigurations = $.tableConfigurations; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ExportExportDataQueryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ExportExportDataQueryArgs $; + + public Builder() { + $ = new ExportExportDataQueryArgs(); + } + + public Builder(ExportExportDataQueryArgs defaults) { + $ = new ExportExportDataQueryArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param queryStatement Query statement. + * + * @return builder + * + */ + public Builder queryStatement(Output queryStatement) { + $.queryStatement = queryStatement; + return this; + } + + /** + * @param queryStatement Query statement. + * + * @return builder + * + */ + public Builder queryStatement(String queryStatement) { + return queryStatement(Output.of(queryStatement)); + } + + /** + * @param tableConfigurations Table configuration. + * + * @return builder + * + */ + public Builder tableConfigurations(@Nullable Output>> tableConfigurations) { + $.tableConfigurations = tableConfigurations; + return this; + } + + /** + * @param tableConfigurations Table configuration. + * + * @return builder + * + */ + public Builder tableConfigurations(Map> tableConfigurations) { + return tableConfigurations(Output.of(tableConfigurations)); + } + + public ExportExportDataQueryArgs build() { + if ($.queryStatement == null) { + throw new MissingRequiredPropertyException("ExportExportDataQueryArgs", "queryStatement"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDestinationConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDestinationConfigurationArgs.java new file mode 100644 index 00000000000..9e61b4dd180 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDestinationConfigurationArgs.java @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bcmdata.inputs; + +import com.pulumi.aws.bcmdata.inputs.ExportExportDestinationConfigurationS3DestinationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ExportExportDestinationConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final ExportExportDestinationConfigurationArgs Empty = new ExportExportDestinationConfigurationArgs(); + + /** + * Object that describes the destination of the data exports file. See the `s3_destination` argument reference below. + * + */ + @Import(name="s3Destinations") + private @Nullable Output> s3Destinations; + + /** + * @return Object that describes the destination of the data exports file. See the `s3_destination` argument reference below. + * + */ + public Optional>> s3Destinations() { + return Optional.ofNullable(this.s3Destinations); + } + + private ExportExportDestinationConfigurationArgs() {} + + private ExportExportDestinationConfigurationArgs(ExportExportDestinationConfigurationArgs $) { + this.s3Destinations = $.s3Destinations; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ExportExportDestinationConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ExportExportDestinationConfigurationArgs $; + + public Builder() { + $ = new ExportExportDestinationConfigurationArgs(); + } + + public Builder(ExportExportDestinationConfigurationArgs defaults) { + $ = new ExportExportDestinationConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param s3Destinations Object that describes the destination of the data exports file. See the `s3_destination` argument reference below. + * + * @return builder + * + */ + public Builder s3Destinations(@Nullable Output> s3Destinations) { + $.s3Destinations = s3Destinations; + return this; + } + + /** + * @param s3Destinations Object that describes the destination of the data exports file. See the `s3_destination` argument reference below. + * + * @return builder + * + */ + public Builder s3Destinations(List s3Destinations) { + return s3Destinations(Output.of(s3Destinations)); + } + + /** + * @param s3Destinations Object that describes the destination of the data exports file. See the `s3_destination` argument reference below. + * + * @return builder + * + */ + public Builder s3Destinations(ExportExportDestinationConfigurationS3DestinationArgs... s3Destinations) { + return s3Destinations(List.of(s3Destinations)); + } + + public ExportExportDestinationConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDestinationConfigurationS3DestinationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDestinationConfigurationS3DestinationArgs.java new file mode 100644 index 00000000000..aa67d274bf4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDestinationConfigurationS3DestinationArgs.java @@ -0,0 +1,216 @@ +// *** 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.bcmdata.inputs; + +import com.pulumi.aws.bcmdata.inputs.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ExportExportDestinationConfigurationS3DestinationArgs extends com.pulumi.resources.ResourceArgs { + + public static final ExportExportDestinationConfigurationS3DestinationArgs Empty = new ExportExportDestinationConfigurationS3DestinationArgs(); + + /** + * Name of the Amazon S3 bucket used as the destination of a data export file. + * + */ + @Import(name="s3Bucket", required=true) + private Output s3Bucket; + + /** + * @return Name of the Amazon S3 bucket used as the destination of a data export file. + * + */ + public Output s3Bucket() { + return this.s3Bucket; + } + + /** + * Output configuration for the data export. See the `s3_output_configurations` argument reference below. + * + */ + @Import(name="s3OutputConfigurations") + private @Nullable Output> s3OutputConfigurations; + + /** + * @return Output configuration for the data export. See the `s3_output_configurations` argument reference below. + * + */ + public Optional>> s3OutputConfigurations() { + return Optional.ofNullable(this.s3OutputConfigurations); + } + + /** + * S3 path prefix you want prepended to the name of your data export. + * + */ + @Import(name="s3Prefix", required=true) + private Output s3Prefix; + + /** + * @return S3 path prefix you want prepended to the name of your data export. + * + */ + public Output s3Prefix() { + return this.s3Prefix; + } + + /** + * S3 bucket region. + * + */ + @Import(name="s3Region", required=true) + private Output s3Region; + + /** + * @return S3 bucket region. + * + */ + public Output s3Region() { + return this.s3Region; + } + + private ExportExportDestinationConfigurationS3DestinationArgs() {} + + private ExportExportDestinationConfigurationS3DestinationArgs(ExportExportDestinationConfigurationS3DestinationArgs $) { + this.s3Bucket = $.s3Bucket; + this.s3OutputConfigurations = $.s3OutputConfigurations; + this.s3Prefix = $.s3Prefix; + this.s3Region = $.s3Region; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ExportExportDestinationConfigurationS3DestinationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ExportExportDestinationConfigurationS3DestinationArgs $; + + public Builder() { + $ = new ExportExportDestinationConfigurationS3DestinationArgs(); + } + + public Builder(ExportExportDestinationConfigurationS3DestinationArgs defaults) { + $ = new ExportExportDestinationConfigurationS3DestinationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param s3Bucket Name of the Amazon S3 bucket used as the destination of a data export file. + * + * @return builder + * + */ + public Builder s3Bucket(Output s3Bucket) { + $.s3Bucket = s3Bucket; + return this; + } + + /** + * @param s3Bucket Name of the Amazon S3 bucket used as the destination of a data export file. + * + * @return builder + * + */ + public Builder s3Bucket(String s3Bucket) { + return s3Bucket(Output.of(s3Bucket)); + } + + /** + * @param s3OutputConfigurations Output configuration for the data export. See the `s3_output_configurations` argument reference below. + * + * @return builder + * + */ + public Builder s3OutputConfigurations(@Nullable Output> s3OutputConfigurations) { + $.s3OutputConfigurations = s3OutputConfigurations; + return this; + } + + /** + * @param s3OutputConfigurations Output configuration for the data export. See the `s3_output_configurations` argument reference below. + * + * @return builder + * + */ + public Builder s3OutputConfigurations(List s3OutputConfigurations) { + return s3OutputConfigurations(Output.of(s3OutputConfigurations)); + } + + /** + * @param s3OutputConfigurations Output configuration for the data export. See the `s3_output_configurations` argument reference below. + * + * @return builder + * + */ + public Builder s3OutputConfigurations(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs... s3OutputConfigurations) { + return s3OutputConfigurations(List.of(s3OutputConfigurations)); + } + + /** + * @param s3Prefix S3 path prefix you want prepended to the name of your data export. + * + * @return builder + * + */ + public Builder s3Prefix(Output s3Prefix) { + $.s3Prefix = s3Prefix; + return this; + } + + /** + * @param s3Prefix S3 path prefix you want prepended to the name of your data export. + * + * @return builder + * + */ + public Builder s3Prefix(String s3Prefix) { + return s3Prefix(Output.of(s3Prefix)); + } + + /** + * @param s3Region S3 bucket region. + * + * @return builder + * + */ + public Builder s3Region(Output s3Region) { + $.s3Region = s3Region; + return this; + } + + /** + * @param s3Region S3 bucket region. + * + * @return builder + * + */ + public Builder s3Region(String s3Region) { + return s3Region(Output.of(s3Region)); + } + + public ExportExportDestinationConfigurationS3DestinationArgs build() { + if ($.s3Bucket == null) { + throw new MissingRequiredPropertyException("ExportExportDestinationConfigurationS3DestinationArgs", "s3Bucket"); + } + if ($.s3Prefix == null) { + throw new MissingRequiredPropertyException("ExportExportDestinationConfigurationS3DestinationArgs", "s3Prefix"); + } + if ($.s3Region == null) { + throw new MissingRequiredPropertyException("ExportExportDestinationConfigurationS3DestinationArgs", "s3Region"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs.java new file mode 100644 index 00000000000..bc14a410cda --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs.java @@ -0,0 +1,205 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bcmdata.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs Empty = new ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs(); + + /** + * Compression type for the data export. Valid values `GZIP`, `PARQUET`. + * + */ + @Import(name="compression", required=true) + private Output compression; + + /** + * @return Compression type for the data export. Valid values `GZIP`, `PARQUET`. + * + */ + public Output compression() { + return this.compression; + } + + /** + * File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + * + */ + @Import(name="format", required=true) + private Output format; + + /** + * @return File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + * + */ + public Output format() { + return this.format; + } + + /** + * Output type for the data export. Valid value `CUSTOM`. + * + */ + @Import(name="outputType", required=true) + private Output outputType; + + /** + * @return Output type for the data export. Valid value `CUSTOM`. + * + */ + public Output outputType() { + return this.outputType; + } + + /** + * The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + * + */ + @Import(name="overwrite", required=true) + private Output overwrite; + + /** + * @return The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + * + */ + public Output overwrite() { + return this.overwrite; + } + + private ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs() {} + + private ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs $) { + this.compression = $.compression; + this.format = $.format; + this.outputType = $.outputType; + this.overwrite = $.overwrite; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs $; + + public Builder() { + $ = new ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs(); + } + + public Builder(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs defaults) { + $ = new ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param compression Compression type for the data export. Valid values `GZIP`, `PARQUET`. + * + * @return builder + * + */ + public Builder compression(Output compression) { + $.compression = compression; + return this; + } + + /** + * @param compression Compression type for the data export. Valid values `GZIP`, `PARQUET`. + * + * @return builder + * + */ + public Builder compression(String compression) { + return compression(Output.of(compression)); + } + + /** + * @param format File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + * + * @return builder + * + */ + public Builder format(Output format) { + $.format = format; + return this; + } + + /** + * @param format File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + * + * @return builder + * + */ + public Builder format(String format) { + return format(Output.of(format)); + } + + /** + * @param outputType Output type for the data export. Valid value `CUSTOM`. + * + * @return builder + * + */ + public Builder outputType(Output outputType) { + $.outputType = outputType; + return this; + } + + /** + * @param outputType Output type for the data export. Valid value `CUSTOM`. + * + * @return builder + * + */ + public Builder outputType(String outputType) { + return outputType(Output.of(outputType)); + } + + /** + * @param overwrite The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + * + * @return builder + * + */ + public Builder overwrite(Output overwrite) { + $.overwrite = overwrite; + return this; + } + + /** + * @param overwrite The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + * + * @return builder + * + */ + public Builder overwrite(String overwrite) { + return overwrite(Output.of(overwrite)); + } + + public ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs build() { + if ($.compression == null) { + throw new MissingRequiredPropertyException("ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs", "compression"); + } + if ($.format == null) { + throw new MissingRequiredPropertyException("ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs", "format"); + } + if ($.outputType == null) { + throw new MissingRequiredPropertyException("ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs", "outputType"); + } + if ($.overwrite == null) { + throw new MissingRequiredPropertyException("ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs", "overwrite"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportRefreshCadenceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportRefreshCadenceArgs.java new file mode 100644 index 00000000000..1a493f441cc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportExportRefreshCadenceArgs.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.bcmdata.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class ExportExportRefreshCadenceArgs extends com.pulumi.resources.ResourceArgs { + + public static final ExportExportRefreshCadenceArgs Empty = new ExportExportRefreshCadenceArgs(); + + /** + * Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + * + */ + @Import(name="frequency", required=true) + private Output frequency; + + /** + * @return Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + * + */ + public Output frequency() { + return this.frequency; + } + + private ExportExportRefreshCadenceArgs() {} + + private ExportExportRefreshCadenceArgs(ExportExportRefreshCadenceArgs $) { + this.frequency = $.frequency; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ExportExportRefreshCadenceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ExportExportRefreshCadenceArgs $; + + public Builder() { + $ = new ExportExportRefreshCadenceArgs(); + } + + public Builder(ExportExportRefreshCadenceArgs defaults) { + $ = new ExportExportRefreshCadenceArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param frequency Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + * + * @return builder + * + */ + public Builder frequency(Output frequency) { + $.frequency = frequency; + return this; + } + + /** + * @param frequency Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + * + * @return builder + * + */ + public Builder frequency(String frequency) { + return frequency(Output.of(frequency)); + } + + public ExportExportRefreshCadenceArgs build() { + if ($.frequency == null) { + throw new MissingRequiredPropertyException("ExportExportRefreshCadenceArgs", "frequency"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportState.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportState.java new file mode 100644 index 00000000000..61d2e06dbe6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportState.java @@ -0,0 +1,165 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bcmdata.inputs; + +import com.pulumi.aws.bcmdata.inputs.ExportExportArgs; +import com.pulumi.aws.bcmdata.inputs.ExportTimeoutsArgs; +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 ExportState extends com.pulumi.resources.ResourceArgs { + + public static final ExportState Empty = new ExportState(); + + /** + * The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + * + */ + @Import(name="export") + private @Nullable Output export; + + /** + * @return The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + * + */ + public Optional> export() { + return Optional.ofNullable(this.export); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private ExportState() {} + + private ExportState(ExportState $) { + this.export = $.export; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ExportState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ExportState $; + + public Builder() { + $ = new ExportState(); + } + + public Builder(ExportState defaults) { + $ = new ExportState(Objects.requireNonNull(defaults)); + } + + /** + * @param export The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + * + * @return builder + * + */ + public Builder export(@Nullable Output export) { + $.export = export; + return this; + } + + /** + * @param export The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + * + * @return builder + * + */ + public Builder export(ExportExportArgs export) { + return export(Output.of(export)); + } + + 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(ExportTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public ExportState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportTimeoutsArgs.java new file mode 100644 index 00000000000..80f4cf04b12 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/inputs/ExportTimeoutsArgs.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.bcmdata.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 ExportTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final ExportTimeoutsArgs Empty = new ExportTimeoutsArgs(); + + /** + * A string that can be [parsed as a duration](https://pkg.go.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 ExportTimeoutsArgs() {} + + private ExportTimeoutsArgs(ExportTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.update = $.update; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ExportTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ExportTimeoutsArgs $; + + public Builder() { + $ = new ExportTimeoutsArgs(); + } + + public Builder(ExportTimeoutsArgs defaults) { + $ = new ExportTimeoutsArgs(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 ExportTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExport.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExport.java new file mode 100644 index 00000000000..411e4490e22 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExport.java @@ -0,0 +1,178 @@ +// *** 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.bcmdata.outputs; + +import com.pulumi.aws.bcmdata.outputs.ExportExportDataQuery; +import com.pulumi.aws.bcmdata.outputs.ExportExportDestinationConfiguration; +import com.pulumi.aws.bcmdata.outputs.ExportExportRefreshCadence; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ExportExport { + /** + * @return Data query for this specific data export. See the `data_query` argument reference below. + * + */ + private @Nullable List dataQueries; + /** + * @return Description for this specific data export. + * + */ + private @Nullable String description; + /** + * @return Destination configuration for this specific data export. See the `destination_configurations` argument reference below. + * + */ + private @Nullable List destinationConfigurations; + /** + * @return Amazon Resource Name (ARN) for this export. + * + */ + private @Nullable String exportArn; + /** + * @return Name of this specific data export. + * + */ + private String name; + /** + * @return Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refresh_cadence` argument reference below. + * + */ + private @Nullable List refreshCadences; + + private ExportExport() {} + /** + * @return Data query for this specific data export. See the `data_query` argument reference below. + * + */ + public List dataQueries() { + return this.dataQueries == null ? List.of() : this.dataQueries; + } + /** + * @return Description for this specific data export. + * + */ + public Optional description() { + return Optional.ofNullable(this.description); + } + /** + * @return Destination configuration for this specific data export. See the `destination_configurations` argument reference below. + * + */ + public List destinationConfigurations() { + return this.destinationConfigurations == null ? List.of() : this.destinationConfigurations; + } + /** + * @return Amazon Resource Name (ARN) for this export. + * + */ + public Optional exportArn() { + return Optional.ofNullable(this.exportArn); + } + /** + * @return Name of this specific data export. + * + */ + public String name() { + return this.name; + } + /** + * @return Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refresh_cadence` argument reference below. + * + */ + public List refreshCadences() { + return this.refreshCadences == null ? List.of() : this.refreshCadences; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ExportExport defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List dataQueries; + private @Nullable String description; + private @Nullable List destinationConfigurations; + private @Nullable String exportArn; + private String name; + private @Nullable List refreshCadences; + public Builder() {} + public Builder(ExportExport defaults) { + Objects.requireNonNull(defaults); + this.dataQueries = defaults.dataQueries; + this.description = defaults.description; + this.destinationConfigurations = defaults.destinationConfigurations; + this.exportArn = defaults.exportArn; + this.name = defaults.name; + this.refreshCadences = defaults.refreshCadences; + } + + @CustomType.Setter + public Builder dataQueries(@Nullable List dataQueries) { + + this.dataQueries = dataQueries; + return this; + } + public Builder dataQueries(ExportExportDataQuery... dataQueries) { + return dataQueries(List.of(dataQueries)); + } + @CustomType.Setter + public Builder description(@Nullable String description) { + + this.description = description; + return this; + } + @CustomType.Setter + public Builder destinationConfigurations(@Nullable List destinationConfigurations) { + + this.destinationConfigurations = destinationConfigurations; + return this; + } + public Builder destinationConfigurations(ExportExportDestinationConfiguration... destinationConfigurations) { + return destinationConfigurations(List.of(destinationConfigurations)); + } + @CustomType.Setter + public Builder exportArn(@Nullable String exportArn) { + + this.exportArn = exportArn; + return this; + } + @CustomType.Setter + public Builder name(String name) { + if (name == null) { + throw new MissingRequiredPropertyException("ExportExport", "name"); + } + this.name = name; + return this; + } + @CustomType.Setter + public Builder refreshCadences(@Nullable List refreshCadences) { + + this.refreshCadences = refreshCadences; + return this; + } + public Builder refreshCadences(ExportExportRefreshCadence... refreshCadences) { + return refreshCadences(List.of(refreshCadences)); + } + public ExportExport build() { + final var _resultValue = new ExportExport(); + _resultValue.dataQueries = dataQueries; + _resultValue.description = description; + _resultValue.destinationConfigurations = destinationConfigurations; + _resultValue.exportArn = exportArn; + _resultValue.name = name; + _resultValue.refreshCadences = refreshCadences; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDataQuery.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDataQuery.java new file mode 100644 index 00000000000..e0977c7abb6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDataQuery.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bcmdata.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Object; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class ExportExportDataQuery { + /** + * @return Query statement. + * + */ + private String queryStatement; + /** + * @return Table configuration. + * + */ + private @Nullable Map> tableConfigurations; + + private ExportExportDataQuery() {} + /** + * @return Query statement. + * + */ + public String queryStatement() { + return this.queryStatement; + } + /** + * @return Table configuration. + * + */ + public Map> tableConfigurations() { + return this.tableConfigurations == null ? Map.of() : this.tableConfigurations; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ExportExportDataQuery defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String queryStatement; + private @Nullable Map> tableConfigurations; + public Builder() {} + public Builder(ExportExportDataQuery defaults) { + Objects.requireNonNull(defaults); + this.queryStatement = defaults.queryStatement; + this.tableConfigurations = defaults.tableConfigurations; + } + + @CustomType.Setter + public Builder queryStatement(String queryStatement) { + if (queryStatement == null) { + throw new MissingRequiredPropertyException("ExportExportDataQuery", "queryStatement"); + } + this.queryStatement = queryStatement; + return this; + } + @CustomType.Setter + public Builder tableConfigurations(@Nullable Map> tableConfigurations) { + + this.tableConfigurations = tableConfigurations; + return this; + } + public ExportExportDataQuery build() { + final var _resultValue = new ExportExportDataQuery(); + _resultValue.queryStatement = queryStatement; + _resultValue.tableConfigurations = tableConfigurations; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDestinationConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDestinationConfiguration.java new file mode 100644 index 00000000000..c0fc31417c2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDestinationConfiguration.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.bcmdata.outputs; + +import com.pulumi.aws.bcmdata.outputs.ExportExportDestinationConfigurationS3Destination; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class ExportExportDestinationConfiguration { + /** + * @return Object that describes the destination of the data exports file. See the `s3_destination` argument reference below. + * + */ + private @Nullable List s3Destinations; + + private ExportExportDestinationConfiguration() {} + /** + * @return Object that describes the destination of the data exports file. See the `s3_destination` argument reference below. + * + */ + public List s3Destinations() { + return this.s3Destinations == null ? List.of() : this.s3Destinations; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ExportExportDestinationConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List s3Destinations; + public Builder() {} + public Builder(ExportExportDestinationConfiguration defaults) { + Objects.requireNonNull(defaults); + this.s3Destinations = defaults.s3Destinations; + } + + @CustomType.Setter + public Builder s3Destinations(@Nullable List s3Destinations) { + + this.s3Destinations = s3Destinations; + return this; + } + public Builder s3Destinations(ExportExportDestinationConfigurationS3Destination... s3Destinations) { + return s3Destinations(List.of(s3Destinations)); + } + public ExportExportDestinationConfiguration build() { + final var _resultValue = new ExportExportDestinationConfiguration(); + _resultValue.s3Destinations = s3Destinations; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDestinationConfigurationS3Destination.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDestinationConfigurationS3Destination.java new file mode 100644 index 00000000000..ad5bf846bd9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDestinationConfigurationS3Destination.java @@ -0,0 +1,131 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bcmdata.outputs; + +import com.pulumi.aws.bcmdata.outputs.ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class ExportExportDestinationConfigurationS3Destination { + /** + * @return Name of the Amazon S3 bucket used as the destination of a data export file. + * + */ + private String s3Bucket; + /** + * @return Output configuration for the data export. See the `s3_output_configurations` argument reference below. + * + */ + private @Nullable List s3OutputConfigurations; + /** + * @return S3 path prefix you want prepended to the name of your data export. + * + */ + private String s3Prefix; + /** + * @return S3 bucket region. + * + */ + private String s3Region; + + private ExportExportDestinationConfigurationS3Destination() {} + /** + * @return Name of the Amazon S3 bucket used as the destination of a data export file. + * + */ + public String s3Bucket() { + return this.s3Bucket; + } + /** + * @return Output configuration for the data export. See the `s3_output_configurations` argument reference below. + * + */ + public List s3OutputConfigurations() { + return this.s3OutputConfigurations == null ? List.of() : this.s3OutputConfigurations; + } + /** + * @return S3 path prefix you want prepended to the name of your data export. + * + */ + public String s3Prefix() { + return this.s3Prefix; + } + /** + * @return S3 bucket region. + * + */ + public String s3Region() { + return this.s3Region; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ExportExportDestinationConfigurationS3Destination defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String s3Bucket; + private @Nullable List s3OutputConfigurations; + private String s3Prefix; + private String s3Region; + public Builder() {} + public Builder(ExportExportDestinationConfigurationS3Destination defaults) { + Objects.requireNonNull(defaults); + this.s3Bucket = defaults.s3Bucket; + this.s3OutputConfigurations = defaults.s3OutputConfigurations; + this.s3Prefix = defaults.s3Prefix; + this.s3Region = defaults.s3Region; + } + + @CustomType.Setter + public Builder s3Bucket(String s3Bucket) { + if (s3Bucket == null) { + throw new MissingRequiredPropertyException("ExportExportDestinationConfigurationS3Destination", "s3Bucket"); + } + this.s3Bucket = s3Bucket; + return this; + } + @CustomType.Setter + public Builder s3OutputConfigurations(@Nullable List s3OutputConfigurations) { + + this.s3OutputConfigurations = s3OutputConfigurations; + return this; + } + public Builder s3OutputConfigurations(ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration... s3OutputConfigurations) { + return s3OutputConfigurations(List.of(s3OutputConfigurations)); + } + @CustomType.Setter + public Builder s3Prefix(String s3Prefix) { + if (s3Prefix == null) { + throw new MissingRequiredPropertyException("ExportExportDestinationConfigurationS3Destination", "s3Prefix"); + } + this.s3Prefix = s3Prefix; + return this; + } + @CustomType.Setter + public Builder s3Region(String s3Region) { + if (s3Region == null) { + throw new MissingRequiredPropertyException("ExportExportDestinationConfigurationS3Destination", "s3Region"); + } + this.s3Region = s3Region; + return this; + } + public ExportExportDestinationConfigurationS3Destination build() { + final var _resultValue = new ExportExportDestinationConfigurationS3Destination(); + _resultValue.s3Bucket = s3Bucket; + _resultValue.s3OutputConfigurations = s3OutputConfigurations; + _resultValue.s3Prefix = s3Prefix; + _resultValue.s3Region = s3Region; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration.java new file mode 100644 index 00000000000..3be5d442966 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration.java @@ -0,0 +1,127 @@ +// *** 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.bcmdata.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration { + /** + * @return Compression type for the data export. Valid values `GZIP`, `PARQUET`. + * + */ + private String compression; + /** + * @return File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + * + */ + private String format; + /** + * @return Output type for the data export. Valid value `CUSTOM`. + * + */ + private String outputType; + /** + * @return The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + * + */ + private String overwrite; + + private ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration() {} + /** + * @return Compression type for the data export. Valid values `GZIP`, `PARQUET`. + * + */ + public String compression() { + return this.compression; + } + /** + * @return File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + * + */ + public String format() { + return this.format; + } + /** + * @return Output type for the data export. Valid value `CUSTOM`. + * + */ + public String outputType() { + return this.outputType; + } + /** + * @return The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + * + */ + public String overwrite() { + return this.overwrite; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String compression; + private String format; + private String outputType; + private String overwrite; + public Builder() {} + public Builder(ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration defaults) { + Objects.requireNonNull(defaults); + this.compression = defaults.compression; + this.format = defaults.format; + this.outputType = defaults.outputType; + this.overwrite = defaults.overwrite; + } + + @CustomType.Setter + public Builder compression(String compression) { + if (compression == null) { + throw new MissingRequiredPropertyException("ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration", "compression"); + } + this.compression = compression; + return this; + } + @CustomType.Setter + public Builder format(String format) { + if (format == null) { + throw new MissingRequiredPropertyException("ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration", "format"); + } + this.format = format; + return this; + } + @CustomType.Setter + public Builder outputType(String outputType) { + if (outputType == null) { + throw new MissingRequiredPropertyException("ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration", "outputType"); + } + this.outputType = outputType; + return this; + } + @CustomType.Setter + public Builder overwrite(String overwrite) { + if (overwrite == null) { + throw new MissingRequiredPropertyException("ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration", "overwrite"); + } + this.overwrite = overwrite; + return this; + } + public ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration build() { + final var _resultValue = new ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration(); + _resultValue.compression = compression; + _resultValue.format = format; + _resultValue.outputType = outputType; + _resultValue.overwrite = overwrite; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportRefreshCadence.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportRefreshCadence.java new file mode 100644 index 00000000000..d55c0541e30 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportExportRefreshCadence.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bcmdata.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class ExportExportRefreshCadence { + /** + * @return Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + * + */ + private String frequency; + + private ExportExportRefreshCadence() {} + /** + * @return Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + * + */ + public String frequency() { + return this.frequency; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ExportExportRefreshCadence defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String frequency; + public Builder() {} + public Builder(ExportExportRefreshCadence defaults) { + Objects.requireNonNull(defaults); + this.frequency = defaults.frequency; + } + + @CustomType.Setter + public Builder frequency(String frequency) { + if (frequency == null) { + throw new MissingRequiredPropertyException("ExportExportRefreshCadence", "frequency"); + } + this.frequency = frequency; + return this; + } + public ExportExportRefreshCadence build() { + final var _resultValue = new ExportExportRefreshCadence(); + _resultValue.frequency = frequency; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportTimeouts.java new file mode 100644 index 00000000000..6fefe0cd338 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bcmdata/outputs/ExportTimeouts.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.bcmdata.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 ExportTimeouts { + /** + * @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 ExportTimeouts() {} + /** + * @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(ExportTimeouts 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(ExportTimeouts 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 ExportTimeouts build() { + final var _resultValue = new ExportTimeouts(); + _resultValue.create = create; + _resultValue.delete = delete; + _resultValue.update = update; + return _resultValue; + } + } +} 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 new file mode 100644 index 00000000000..56345be18ed --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgent.java @@ -0,0 +1,371 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.bedrock.AgentAgentArgs; +import com.pulumi.aws.bedrock.inputs.AgentAgentState; +import com.pulumi.aws.bedrock.outputs.AgentAgentPromptOverrideConfiguration; +import com.pulumi.aws.bedrock.outputs.AgentAgentTimeouts; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS Agents for Amazon Bedrock Agent. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.AwsFunctions; + * import com.pulumi.aws.inputs.GetCallerIdentityArgs; + * import com.pulumi.aws.inputs.GetRegionArgs; + * import com.pulumi.aws.iam.IamFunctions; + * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; + * import com.pulumi.aws.iam.Role; + * import com.pulumi.aws.iam.RoleArgs; + * import com.pulumi.aws.iam.RolePolicy; + * import com.pulumi.aws.iam.RolePolicyArgs; + * import com.pulumi.aws.bedrock.AgentAgent; + * import com.pulumi.aws.bedrock.AgentAgentArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var current = AwsFunctions.getCallerIdentity(); + * + * final var currentGetRegion = AwsFunctions.getRegion(); + * + * final var exampleAgentTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() + * .statements(GetPolicyDocumentStatementArgs.builder() + * .actions("sts:AssumeRole") + * .principals(GetPolicyDocumentStatementPrincipalArgs.builder() + * .identifiers("bedrock.amazonaws.com") + * .type("Service") + * .build()) + * .conditions( + * GetPolicyDocumentStatementConditionArgs.builder() + * .test("StringEquals") + * .values(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())) + * .variable("aws:SourceAccount") + * .build(), + * GetPolicyDocumentStatementConditionArgs.builder() + * .test("ArnLike") + * .values(String.format("arn:aws:bedrock:%s:%s:agent/*", currentGetRegion.applyValue(getRegionResult -> getRegionResult.name()),current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))) + * .variable("AWS:SourceArn") + * .build()) + * .build()) + * .build()); + * + * var example = new Role("example", RoleArgs.builder() + * .assumeRolePolicy(exampleAgentTrust.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) + * .namePrefix("AmazonBedrockExecutionRoleForAgents_") + * .build()); + * + * final var exampleAgentPermissions = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() + * .statements(GetPolicyDocumentStatementArgs.builder() + * .actions("bedrock:InvokeModel") + * .resources(String.format("arn:aws:bedrock:%s::foundation-model/anthropic.claude-v2", currentGetRegion.applyValue(getRegionResult -> getRegionResult.name()))) + * .build()) + * .build()); + * + * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() + * .policy(exampleAgentPermissions.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) + * .role(example.id()) + * .build()); + * + * var test = new AgentAgent("test", AgentAgentArgs.builder() + * .agentName("my-agent-name") + * .agentResourceRoleArn(example.arn()) + * .idleSessionTtlInSeconds(500) + * .foundationModel("anthropic.claude-v2") + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import Agents for Amazon Bedrock Agent using the `abcdef1234`. For example: + * + * ```sh + * $ pulumi import aws:bedrock/agentAgent:AgentAgent example abcdef1234 + * ``` + * + */ +@ResourceType(type="aws:bedrock/agentAgent:AgentAgent") +public class AgentAgent extends com.pulumi.resources.CustomResource { + /** + * ARN of the Agent. + * + */ + @Export(name="agentArn", refs={String.class}, tree="[0]") + private Output agentArn; + + /** + * @return ARN of the Agent. + * + */ + public Output agentArn() { + return this.agentArn; + } + /** + * ID of the Agent. + * + */ + @Export(name="agentId", refs={String.class}, tree="[0]") + private Output agentId; + + /** + * @return ID of the Agent. + * + */ + public Output agentId() { + return this.agentId; + } + /** + * Name for the agent. + * + */ + @Export(name="agentName", refs={String.class}, tree="[0]") + private Output agentName; + + /** + * @return Name for the agent. + * + */ + public Output agentName() { + return this.agentName; + } + /** + * ARN of the Role for the agent. + * + */ + @Export(name="agentResourceRoleArn", refs={String.class}, tree="[0]") + private Output agentResourceRoleArn; + + /** + * @return ARN of the Role for the agent. + * + */ + public Output agentResourceRoleArn() { + return this.agentResourceRoleArn; + } + /** + * Version of the Agent. + * + */ + @Export(name="agentVersion", refs={String.class}, tree="[0]") + private Output agentVersion; + + /** + * @return Version of the Agent. + * + */ + public Output agentVersion() { + return this.agentVersion; + } + /** + * ARN of customer manager key to use for encryption. + * + */ + @Export(name="customerEncryptionKeyArn", refs={String.class}, tree="[0]") + private Output customerEncryptionKeyArn; + + /** + * @return ARN of customer manager key to use for encryption. + * + */ + public Output> customerEncryptionKeyArn() { + return Codegen.optional(this.customerEncryptionKeyArn); + } + /** + * Description of the agent. + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return Description of the agent. + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + /** + * Foundation model for the agent to use. + * + * The following arguments are optional: + * + */ + @Export(name="foundationModel", refs={String.class}, tree="[0]") + private Output foundationModel; + + /** + * @return Foundation model for the agent to use. + * + * The following arguments are optional: + * + */ + public Output foundationModel() { + return this.foundationModel; + } + /** + * TTL in seconds for the agent to idle. + * + */ + @Export(name="idleSessionTtlInSeconds", refs={Integer.class}, tree="[0]") + private Output idleSessionTtlInSeconds; + + /** + * @return TTL in seconds for the agent to idle. + * + */ + public Output idleSessionTtlInSeconds() { + return this.idleSessionTtlInSeconds; + } + /** + * Instructions to tell agent what it should do. + * + */ + @Export(name="instruction", refs={String.class}, tree="[0]") + private Output instruction; + + /** + * @return Instructions to tell agent what it should do. + * + */ + public Output instruction() { + return this.instruction; + } + @Export(name="prepareAgent", refs={Boolean.class}, tree="[0]") + private Output prepareAgent; + + public Output prepareAgent() { + return this.prepareAgent; + } + /** + * Prompt Override Configuration + * + */ + @Export(name="promptOverrideConfigurations", refs={List.class,AgentAgentPromptOverrideConfiguration.class}, tree="[0,1]") + private Output> promptOverrideConfigurations; + + /** + * @return Prompt Override Configuration + * + */ + public Output> promptOverrideConfigurations() { + return this.promptOverrideConfigurations; + } + /** + * Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + public Output> tagsAll() { + return this.tagsAll; + } + @Export(name="timeouts", refs={AgentAgentTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public AgentAgent(String name) { + this(name, AgentAgentArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public AgentAgent(String name, AgentAgentArgs 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 AgentAgent(String name, AgentAgentArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:bedrock/agentAgent:AgentAgent", name, args == null ? AgentAgentArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private AgentAgent(String name, Output id, @Nullable AgentAgentState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:bedrock/agentAgent:AgentAgent", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static AgentAgent get(String name, Output id, @Nullable AgentAgentState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new AgentAgent(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentActionGroup.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentActionGroup.java new file mode 100644 index 00000000000..5eb13e94b1a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentActionGroup.java @@ -0,0 +1,233 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.bedrock.AgentAgentActionGroupArgs; +import com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupState; +import com.pulumi.aws.bedrock.outputs.AgentAgentActionGroupActionGroupExecutor; +import com.pulumi.aws.bedrock.outputs.AgentAgentActionGroupApiSchema; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS Agents for Amazon Bedrock Agent Action Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.bedrock.AgentAgentActionGroup; + * import com.pulumi.aws.bedrock.AgentAgentActionGroupArgs; + * import com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupActionGroupExecutorArgs; + * import com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaArgs; + * import com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaS3Args; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * 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 AgentAgentActionGroup("example", AgentAgentActionGroupArgs.builder() + * .actionGroupName("example") + * .agentId("ABDJFOWER1") + * .agentVersion("DRAFT") + * .skipResourceInUseCheck(true) + * .actionGroupExecutor(AgentAgentActionGroupActionGroupExecutorArgs.builder() + * .lambda("arn:aws:lambda:us-east-1:123456789012:function:example-function") + * .build()) + * .apiSchema(AgentAgentActionGroupApiSchemaArgs.builder() + * .s3(AgentAgentActionGroupApiSchemaS3Args.builder() + * .s3BucketName("example-bucket") + * .s3ObjectKey("path/to/schema.json") + * .build()) + * .build()) + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import Agents for Amazon Bedrock Agent Action Group using the `example_id_arg`. For example: + * + * ```sh + * $ pulumi import aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup example ABDJFOWER1,HSKTNKANI4,DRAFT + * ``` + * + */ +@ResourceType(type="aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup") +public class AgentAgentActionGroup extends com.pulumi.resources.CustomResource { + /** + * Configuration of the executor for the Action Group. + * + */ + @Export(name="actionGroupExecutor", refs={AgentAgentActionGroupActionGroupExecutor.class}, tree="[0]") + private Output actionGroupExecutor; + + /** + * @return Configuration of the executor for the Action Group. + * + */ + public Output> actionGroupExecutor() { + return Codegen.optional(this.actionGroupExecutor); + } + @Export(name="actionGroupId", refs={String.class}, tree="[0]") + private Output actionGroupId; + + public Output actionGroupId() { + return this.actionGroupId; + } + /** + * Name of the Agent Action Group. + * + */ + @Export(name="actionGroupName", refs={String.class}, tree="[0]") + private Output actionGroupName; + + /** + * @return Name of the Agent Action Group. + * + */ + public Output actionGroupName() { + return this.actionGroupName; + } + @Export(name="actionGroupState", refs={String.class}, tree="[0]") + private Output actionGroupState; + + public Output actionGroupState() { + return this.actionGroupState; + } + /** + * Id of the Agent for the Action Group. + * + */ + @Export(name="agentId", refs={String.class}, tree="[0]") + private Output agentId; + + /** + * @return Id of the Agent for the Action Group. + * + */ + public Output agentId() { + return this.agentId; + } + /** + * Version of the Agent to attach the Action Group to. + * + */ + @Export(name="agentVersion", refs={String.class}, tree="[0]") + private Output agentVersion; + + /** + * @return Version of the Agent to attach the Action Group to. + * + */ + public Output agentVersion() { + return this.agentVersion; + } + /** + * Configuration of the API Schema for the Action Group. + * + */ + @Export(name="apiSchema", refs={AgentAgentActionGroupApiSchema.class}, tree="[0]") + private Output apiSchema; + + /** + * @return Configuration of the API Schema for the Action Group. + * + */ + public Output> apiSchema() { + return Codegen.optional(this.apiSchema); + } + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + public Output> description() { + return Codegen.optional(this.description); + } + @Export(name="parentActionGroupSignature", refs={String.class}, tree="[0]") + private Output parentActionGroupSignature; + + public Output> parentActionGroupSignature() { + return Codegen.optional(this.parentActionGroupSignature); + } + @Export(name="skipResourceInUseCheck", refs={Boolean.class}, tree="[0]") + private Output skipResourceInUseCheck; + + public Output skipResourceInUseCheck() { + return this.skipResourceInUseCheck; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public AgentAgentActionGroup(String name) { + this(name, AgentAgentActionGroupArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public AgentAgentActionGroup(String name, AgentAgentActionGroupArgs 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 AgentAgentActionGroup(String name, AgentAgentActionGroupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup", name, args == null ? AgentAgentActionGroupArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private AgentAgentActionGroup(String name, Output id, @Nullable AgentAgentActionGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static AgentAgentActionGroup get(String name, Output id, @Nullable AgentAgentActionGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new AgentAgentActionGroup(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentActionGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentActionGroupArgs.java new file mode 100644 index 00000000000..f6f850ce54d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentActionGroupArgs.java @@ -0,0 +1,312 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock; + +import com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupActionGroupExecutorArgs; +import com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AgentAgentActionGroupArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentAgentActionGroupArgs Empty = new AgentAgentActionGroupArgs(); + + /** + * Configuration of the executor for the Action Group. + * + */ + @Import(name="actionGroupExecutor") + private @Nullable Output actionGroupExecutor; + + /** + * @return Configuration of the executor for the Action Group. + * + */ + public Optional> actionGroupExecutor() { + return Optional.ofNullable(this.actionGroupExecutor); + } + + /** + * Name of the Agent Action Group. + * + */ + @Import(name="actionGroupName", required=true) + private Output actionGroupName; + + /** + * @return Name of the Agent Action Group. + * + */ + public Output actionGroupName() { + return this.actionGroupName; + } + + @Import(name="actionGroupState") + private @Nullable Output actionGroupState; + + public Optional> actionGroupState() { + return Optional.ofNullable(this.actionGroupState); + } + + /** + * Id of the Agent for the Action Group. + * + */ + @Import(name="agentId", required=true) + private Output agentId; + + /** + * @return Id of the Agent for the Action Group. + * + */ + public Output agentId() { + return this.agentId; + } + + /** + * Version of the Agent to attach the Action Group to. + * + */ + @Import(name="agentVersion", required=true) + private Output agentVersion; + + /** + * @return Version of the Agent to attach the Action Group to. + * + */ + public Output agentVersion() { + return this.agentVersion; + } + + /** + * Configuration of the API Schema for the Action Group. + * + */ + @Import(name="apiSchema") + private @Nullable Output apiSchema; + + /** + * @return Configuration of the API Schema for the Action Group. + * + */ + public Optional> apiSchema() { + return Optional.ofNullable(this.apiSchema); + } + + @Import(name="description") + private @Nullable Output description; + + public Optional> description() { + return Optional.ofNullable(this.description); + } + + @Import(name="parentActionGroupSignature") + private @Nullable Output parentActionGroupSignature; + + public Optional> parentActionGroupSignature() { + return Optional.ofNullable(this.parentActionGroupSignature); + } + + @Import(name="skipResourceInUseCheck") + private @Nullable Output skipResourceInUseCheck; + + public Optional> skipResourceInUseCheck() { + return Optional.ofNullable(this.skipResourceInUseCheck); + } + + private AgentAgentActionGroupArgs() {} + + private AgentAgentActionGroupArgs(AgentAgentActionGroupArgs $) { + this.actionGroupExecutor = $.actionGroupExecutor; + this.actionGroupName = $.actionGroupName; + this.actionGroupState = $.actionGroupState; + this.agentId = $.agentId; + this.agentVersion = $.agentVersion; + this.apiSchema = $.apiSchema; + this.description = $.description; + this.parentActionGroupSignature = $.parentActionGroupSignature; + this.skipResourceInUseCheck = $.skipResourceInUseCheck; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentAgentActionGroupArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentAgentActionGroupArgs $; + + public Builder() { + $ = new AgentAgentActionGroupArgs(); + } + + public Builder(AgentAgentActionGroupArgs defaults) { + $ = new AgentAgentActionGroupArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param actionGroupExecutor Configuration of the executor for the Action Group. + * + * @return builder + * + */ + public Builder actionGroupExecutor(@Nullable Output actionGroupExecutor) { + $.actionGroupExecutor = actionGroupExecutor; + return this; + } + + /** + * @param actionGroupExecutor Configuration of the executor for the Action Group. + * + * @return builder + * + */ + public Builder actionGroupExecutor(AgentAgentActionGroupActionGroupExecutorArgs actionGroupExecutor) { + return actionGroupExecutor(Output.of(actionGroupExecutor)); + } + + /** + * @param actionGroupName Name of the Agent Action Group. + * + * @return builder + * + */ + public Builder actionGroupName(Output actionGroupName) { + $.actionGroupName = actionGroupName; + return this; + } + + /** + * @param actionGroupName Name of the Agent Action Group. + * + * @return builder + * + */ + public Builder actionGroupName(String actionGroupName) { + return actionGroupName(Output.of(actionGroupName)); + } + + public Builder actionGroupState(@Nullable Output actionGroupState) { + $.actionGroupState = actionGroupState; + return this; + } + + public Builder actionGroupState(String actionGroupState) { + return actionGroupState(Output.of(actionGroupState)); + } + + /** + * @param agentId Id of the Agent for the Action Group. + * + * @return builder + * + */ + public Builder agentId(Output agentId) { + $.agentId = agentId; + return this; + } + + /** + * @param agentId Id of the Agent for the Action Group. + * + * @return builder + * + */ + public Builder agentId(String agentId) { + return agentId(Output.of(agentId)); + } + + /** + * @param agentVersion Version of the Agent to attach the Action Group to. + * + * @return builder + * + */ + public Builder agentVersion(Output agentVersion) { + $.agentVersion = agentVersion; + return this; + } + + /** + * @param agentVersion Version of the Agent to attach the Action Group to. + * + * @return builder + * + */ + public Builder agentVersion(String agentVersion) { + return agentVersion(Output.of(agentVersion)); + } + + /** + * @param apiSchema Configuration of the API Schema for the Action Group. + * + * @return builder + * + */ + public Builder apiSchema(@Nullable Output apiSchema) { + $.apiSchema = apiSchema; + return this; + } + + /** + * @param apiSchema Configuration of the API Schema for the Action Group. + * + * @return builder + * + */ + public Builder apiSchema(AgentAgentActionGroupApiSchemaArgs apiSchema) { + return apiSchema(Output.of(apiSchema)); + } + + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + public Builder description(String description) { + return description(Output.of(description)); + } + + public Builder parentActionGroupSignature(@Nullable Output parentActionGroupSignature) { + $.parentActionGroupSignature = parentActionGroupSignature; + return this; + } + + public Builder parentActionGroupSignature(String parentActionGroupSignature) { + return parentActionGroupSignature(Output.of(parentActionGroupSignature)); + } + + public Builder skipResourceInUseCheck(@Nullable Output skipResourceInUseCheck) { + $.skipResourceInUseCheck = skipResourceInUseCheck; + return this; + } + + public Builder skipResourceInUseCheck(Boolean skipResourceInUseCheck) { + return skipResourceInUseCheck(Output.of(skipResourceInUseCheck)); + } + + public AgentAgentActionGroupArgs build() { + if ($.actionGroupName == null) { + throw new MissingRequiredPropertyException("AgentAgentActionGroupArgs", "actionGroupName"); + } + if ($.agentId == null) { + throw new MissingRequiredPropertyException("AgentAgentActionGroupArgs", "agentId"); + } + if ($.agentVersion == null) { + throw new MissingRequiredPropertyException("AgentAgentActionGroupArgs", "agentVersion"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentAlias.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentAlias.java new file mode 100644 index 00000000000..4c7578b53b9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentAlias.java @@ -0,0 +1,293 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.bedrock.AgentAgentAliasArgs; +import com.pulumi.aws.bedrock.inputs.AgentAgentAliasState; +import com.pulumi.aws.bedrock.outputs.AgentAgentAliasRoutingConfiguration; +import com.pulumi.aws.bedrock.outputs.AgentAgentAliasTimeouts; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS Agents for Amazon Bedrock Agent Alias. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.AwsFunctions; + * import com.pulumi.aws.inputs.GetCallerIdentityArgs; + * import com.pulumi.aws.inputs.GetRegionArgs; + * import com.pulumi.aws.iam.IamFunctions; + * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; + * import com.pulumi.aws.iam.Role; + * import com.pulumi.aws.iam.RoleArgs; + * import com.pulumi.aws.iam.RolePolicy; + * import com.pulumi.aws.iam.RolePolicyArgs; + * import com.pulumi.aws.bedrock.AgentAgent; + * import com.pulumi.aws.bedrock.AgentAgentArgs; + * import com.pulumi.aws.bedrock.AgentAgentAlias; + * import com.pulumi.aws.bedrock.AgentAgentAliasArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var current = AwsFunctions.getCallerIdentity(); + * + * final var currentGetRegion = AwsFunctions.getRegion(); + * + * final var exampleAgentTrust = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() + * .statements(GetPolicyDocumentStatementArgs.builder() + * .actions("sts:AssumeRole") + * .principals(GetPolicyDocumentStatementPrincipalArgs.builder() + * .identifiers("bedrock.amazonaws.com") + * .type("Service") + * .build()) + * .conditions( + * GetPolicyDocumentStatementConditionArgs.builder() + * .test("StringEquals") + * .values(current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId())) + * .variable("aws:SourceAccount") + * .build(), + * GetPolicyDocumentStatementConditionArgs.builder() + * .test("ArnLike") + * .values(String.format("arn:aws:bedrock:%s:%s:agent/*", currentGetRegion.applyValue(getRegionResult -> getRegionResult.name()),current.applyValue(getCallerIdentityResult -> getCallerIdentityResult.accountId()))) + * .variable("AWS:SourceArn") + * .build()) + * .build()) + * .build()); + * + * var example = new Role("example", RoleArgs.builder() + * .assumeRolePolicy(exampleAgentTrust.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) + * .namePrefix("AmazonBedrockExecutionRoleForAgents_") + * .build()); + * + * final var exampleAgentPermissions = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() + * .statements(GetPolicyDocumentStatementArgs.builder() + * .actions("bedrock:InvokeModel") + * .resources(String.format("arn:aws:bedrock:%s::foundation-model/anthropic.claude-v2", currentGetRegion.applyValue(getRegionResult -> getRegionResult.name()))) + * .build()) + * .build()); + * + * var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder() + * .policy(exampleAgentPermissions.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) + * .role(example.id()) + * .build()); + * + * var test = new AgentAgent("test", AgentAgentArgs.builder() + * .agentName("my-agent-name") + * .agentResourceRoleArn(example.arn()) + * .idleTtl(500) + * .foundationModel("anthropic.claude-v2") + * .build()); + * + * var exampleAgentAgentAlias = new AgentAgentAlias("exampleAgentAgentAlias", AgentAgentAliasArgs.builder() + * .agentAliasName("my-agent-alias") + * .agentId(test.agentId()) + * .description("Test ALias") + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import Agents for Amazon Bedrock Agent Alias using the `AGENT_ID,ALIAS_ID`. For example: + * + * ```sh + * $ pulumi import aws:bedrock/agentAgentAlias:AgentAgentAlias example AGENT_ID,ALIAS_ID + * ``` + * + */ +@ResourceType(type="aws:bedrock/agentAgentAlias:AgentAgentAlias") +public class AgentAgentAlias extends com.pulumi.resources.CustomResource { + /** + * ARN of the Agent Alias. + * + */ + @Export(name="agentAliasArn", refs={String.class}, tree="[0]") + private Output agentAliasArn; + + /** + * @return ARN of the Agent Alias. + * + */ + public Output agentAliasArn() { + return this.agentAliasArn; + } + @Export(name="agentAliasId", refs={String.class}, tree="[0]") + private Output agentAliasId; + + public Output agentAliasId() { + return this.agentAliasId; + } + /** + * Name of the alias. + * + */ + @Export(name="agentAliasName", refs={String.class}, tree="[0]") + private Output agentAliasName; + + /** + * @return Name of the alias. + * + */ + public Output agentAliasName() { + return this.agentAliasName; + } + /** + * Identifier of the agent to create an alias for. + * + */ + @Export(name="agentId", refs={String.class}, tree="[0]") + private Output agentId; + + /** + * @return Identifier of the agent to create an alias for. + * + */ + public Output agentId() { + return this.agentId; + } + /** + * Description of the alias of the agent. + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return Description of the alias of the agent. + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + /** + * Routing configuration of the alias + * + */ + @Export(name="routingConfigurations", refs={List.class,AgentAgentAliasRoutingConfiguration.class}, tree="[0,1]") + private Output> routingConfigurations; + + /** + * @return Routing configuration of the alias + * + */ + public Output> routingConfigurations() { + return this.routingConfigurations; + } + /** + * Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * The following arguments are optional: + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * The following arguments are optional: + * + */ + 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={AgentAgentAliasTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public AgentAgentAlias(String name) { + this(name, AgentAgentAliasArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public AgentAgentAlias(String name, AgentAgentAliasArgs 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 AgentAgentAlias(String name, AgentAgentAliasArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:bedrock/agentAgentAlias:AgentAgentAlias", name, args == null ? AgentAgentAliasArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private AgentAgentAlias(String name, Output id, @Nullable AgentAgentAliasState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:bedrock/agentAgentAlias:AgentAgentAlias", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static AgentAgentAlias get(String name, Output id, @Nullable AgentAgentAliasState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new AgentAgentAlias(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentAliasArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentAliasArgs.java new file mode 100644 index 00000000000..3660f308ffe --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentAliasArgs.java @@ -0,0 +1,277 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock; + +import com.pulumi.aws.bedrock.inputs.AgentAgentAliasRoutingConfigurationArgs; +import com.pulumi.aws.bedrock.inputs.AgentAgentAliasTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AgentAgentAliasArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentAgentAliasArgs Empty = new AgentAgentAliasArgs(); + + /** + * Name of the alias. + * + */ + @Import(name="agentAliasName", required=true) + private Output agentAliasName; + + /** + * @return Name of the alias. + * + */ + public Output agentAliasName() { + return this.agentAliasName; + } + + /** + * Identifier of the agent to create an alias for. + * + */ + @Import(name="agentId", required=true) + private Output agentId; + + /** + * @return Identifier of the agent to create an alias for. + * + */ + public Output agentId() { + return this.agentId; + } + + /** + * Description of the alias of the agent. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the alias of the agent. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Routing configuration of the alias + * + */ + @Import(name="routingConfigurations") + private @Nullable Output> routingConfigurations; + + /** + * @return Routing configuration of the alias + * + */ + public Optional>> routingConfigurations() { + return Optional.ofNullable(this.routingConfigurations); + } + + /** + * Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * The following arguments are optional: + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * The following arguments are optional: + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private AgentAgentAliasArgs() {} + + private AgentAgentAliasArgs(AgentAgentAliasArgs $) { + this.agentAliasName = $.agentAliasName; + this.agentId = $.agentId; + this.description = $.description; + this.routingConfigurations = $.routingConfigurations; + this.tags = $.tags; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentAgentAliasArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentAgentAliasArgs $; + + public Builder() { + $ = new AgentAgentAliasArgs(); + } + + public Builder(AgentAgentAliasArgs defaults) { + $ = new AgentAgentAliasArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param agentAliasName Name of the alias. + * + * @return builder + * + */ + public Builder agentAliasName(Output agentAliasName) { + $.agentAliasName = agentAliasName; + return this; + } + + /** + * @param agentAliasName Name of the alias. + * + * @return builder + * + */ + public Builder agentAliasName(String agentAliasName) { + return agentAliasName(Output.of(agentAliasName)); + } + + /** + * @param agentId Identifier of the agent to create an alias for. + * + * @return builder + * + */ + public Builder agentId(Output agentId) { + $.agentId = agentId; + return this; + } + + /** + * @param agentId Identifier of the agent to create an alias for. + * + * @return builder + * + */ + public Builder agentId(String agentId) { + return agentId(Output.of(agentId)); + } + + /** + * @param description Description of the alias of the agent. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the alias of the agent. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param routingConfigurations Routing configuration of the alias + * + * @return builder + * + */ + public Builder routingConfigurations(@Nullable Output> routingConfigurations) { + $.routingConfigurations = routingConfigurations; + return this; + } + + /** + * @param routingConfigurations Routing configuration of the alias + * + * @return builder + * + */ + public Builder routingConfigurations(List routingConfigurations) { + return routingConfigurations(Output.of(routingConfigurations)); + } + + /** + * @param routingConfigurations Routing configuration of the alias + * + * @return builder + * + */ + public Builder routingConfigurations(AgentAgentAliasRoutingConfigurationArgs... routingConfigurations) { + return routingConfigurations(List.of(routingConfigurations)); + } + + /** + * @param tags Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * The following arguments are optional: + * + * @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(AgentAgentAliasTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public AgentAgentAliasArgs build() { + if ($.agentAliasName == null) { + throw new MissingRequiredPropertyException("AgentAgentAliasArgs", "agentAliasName"); + } + if ($.agentId == null) { + throw new MissingRequiredPropertyException("AgentAgentAliasArgs", "agentId"); + } + return $; + } + } + +} 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 new file mode 100644 index 00000000000..ed586395ae5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentAgentArgs.java @@ -0,0 +1,447 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock; + +import com.pulumi.aws.bedrock.inputs.AgentAgentPromptOverrideConfigurationArgs; +import com.pulumi.aws.bedrock.inputs.AgentAgentTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AgentAgentArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentAgentArgs Empty = new AgentAgentArgs(); + + /** + * Name for the agent. + * + */ + @Import(name="agentName", required=true) + private Output agentName; + + /** + * @return Name for the agent. + * + */ + public Output agentName() { + return this.agentName; + } + + /** + * ARN of the Role for the agent. + * + */ + @Import(name="agentResourceRoleArn", required=true) + private Output agentResourceRoleArn; + + /** + * @return ARN of the Role for the agent. + * + */ + public Output agentResourceRoleArn() { + return this.agentResourceRoleArn; + } + + /** + * ARN of customer manager key to use for encryption. + * + */ + @Import(name="customerEncryptionKeyArn") + private @Nullable Output customerEncryptionKeyArn; + + /** + * @return ARN of customer manager key to use for encryption. + * + */ + public Optional> customerEncryptionKeyArn() { + return Optional.ofNullable(this.customerEncryptionKeyArn); + } + + /** + * Description of the agent. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the agent. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Foundation model for the agent to use. + * + * The following arguments are optional: + * + */ + @Import(name="foundationModel", required=true) + private Output foundationModel; + + /** + * @return Foundation model for the agent to use. + * + * The following arguments are optional: + * + */ + public Output foundationModel() { + return this.foundationModel; + } + + /** + * TTL in seconds for the agent to idle. + * + */ + @Import(name="idleSessionTtlInSeconds") + private @Nullable Output idleSessionTtlInSeconds; + + /** + * @return TTL in seconds for the agent to idle. + * + */ + public Optional> idleSessionTtlInSeconds() { + return Optional.ofNullable(this.idleSessionTtlInSeconds); + } + + /** + * Instructions to tell agent what it should do. + * + */ + @Import(name="instruction") + private @Nullable Output instruction; + + /** + * @return Instructions to tell agent what it should do. + * + */ + public Optional> instruction() { + return Optional.ofNullable(this.instruction); + } + + @Import(name="prepareAgent") + private @Nullable Output prepareAgent; + + public Optional> prepareAgent() { + return Optional.ofNullable(this.prepareAgent); + } + + /** + * Prompt Override Configuration + * + */ + @Import(name="promptOverrideConfigurations") + private @Nullable Output> promptOverrideConfigurations; + + /** + * @return Prompt Override Configuration + * + */ + public Optional>> promptOverrideConfigurations() { + return Optional.ofNullable(this.promptOverrideConfigurations); + } + + /** + * Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Key-value tags for the place index. 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 AgentAgentArgs() {} + + private AgentAgentArgs(AgentAgentArgs $) { + this.agentName = $.agentName; + this.agentResourceRoleArn = $.agentResourceRoleArn; + this.customerEncryptionKeyArn = $.customerEncryptionKeyArn; + this.description = $.description; + this.foundationModel = $.foundationModel; + this.idleSessionTtlInSeconds = $.idleSessionTtlInSeconds; + this.instruction = $.instruction; + this.prepareAgent = $.prepareAgent; + this.promptOverrideConfigurations = $.promptOverrideConfigurations; + this.tags = $.tags; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentAgentArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentAgentArgs $; + + public Builder() { + $ = new AgentAgentArgs(); + } + + public Builder(AgentAgentArgs defaults) { + $ = new AgentAgentArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param agentName Name for the agent. + * + * @return builder + * + */ + public Builder agentName(Output agentName) { + $.agentName = agentName; + return this; + } + + /** + * @param agentName Name for the agent. + * + * @return builder + * + */ + public Builder agentName(String agentName) { + return agentName(Output.of(agentName)); + } + + /** + * @param agentResourceRoleArn ARN of the Role for the agent. + * + * @return builder + * + */ + public Builder agentResourceRoleArn(Output agentResourceRoleArn) { + $.agentResourceRoleArn = agentResourceRoleArn; + return this; + } + + /** + * @param agentResourceRoleArn ARN of the Role for the agent. + * + * @return builder + * + */ + public Builder agentResourceRoleArn(String agentResourceRoleArn) { + return agentResourceRoleArn(Output.of(agentResourceRoleArn)); + } + + /** + * @param customerEncryptionKeyArn ARN of customer manager key to use for encryption. + * + * @return builder + * + */ + public Builder customerEncryptionKeyArn(@Nullable Output customerEncryptionKeyArn) { + $.customerEncryptionKeyArn = customerEncryptionKeyArn; + return this; + } + + /** + * @param customerEncryptionKeyArn ARN of customer manager key to use for encryption. + * + * @return builder + * + */ + public Builder customerEncryptionKeyArn(String customerEncryptionKeyArn) { + return customerEncryptionKeyArn(Output.of(customerEncryptionKeyArn)); + } + + /** + * @param description Description of the agent. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the agent. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param foundationModel Foundation model for the agent to use. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder foundationModel(Output foundationModel) { + $.foundationModel = foundationModel; + return this; + } + + /** + * @param foundationModel Foundation model for the agent to use. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder foundationModel(String foundationModel) { + return foundationModel(Output.of(foundationModel)); + } + + /** + * @param idleSessionTtlInSeconds TTL in seconds for the agent to idle. + * + * @return builder + * + */ + public Builder idleSessionTtlInSeconds(@Nullable Output idleSessionTtlInSeconds) { + $.idleSessionTtlInSeconds = idleSessionTtlInSeconds; + return this; + } + + /** + * @param idleSessionTtlInSeconds TTL in seconds for the agent to idle. + * + * @return builder + * + */ + public Builder idleSessionTtlInSeconds(Integer idleSessionTtlInSeconds) { + return idleSessionTtlInSeconds(Output.of(idleSessionTtlInSeconds)); + } + + /** + * @param instruction Instructions to tell agent what it should do. + * + * @return builder + * + */ + public Builder instruction(@Nullable Output instruction) { + $.instruction = instruction; + return this; + } + + /** + * @param instruction Instructions to tell agent what it should do. + * + * @return builder + * + */ + public Builder instruction(String instruction) { + return instruction(Output.of(instruction)); + } + + public Builder prepareAgent(@Nullable Output prepareAgent) { + $.prepareAgent = prepareAgent; + return this; + } + + public Builder prepareAgent(Boolean prepareAgent) { + return prepareAgent(Output.of(prepareAgent)); + } + + /** + * @param promptOverrideConfigurations Prompt Override Configuration + * + * @return builder + * + */ + public Builder promptOverrideConfigurations(@Nullable Output> promptOverrideConfigurations) { + $.promptOverrideConfigurations = promptOverrideConfigurations; + return this; + } + + /** + * @param promptOverrideConfigurations Prompt Override Configuration + * + * @return builder + * + */ + public Builder promptOverrideConfigurations(List promptOverrideConfigurations) { + return promptOverrideConfigurations(Output.of(promptOverrideConfigurations)); + } + + /** + * @param promptOverrideConfigurations Prompt Override Configuration + * + * @return builder + * + */ + public Builder promptOverrideConfigurations(AgentAgentPromptOverrideConfigurationArgs... promptOverrideConfigurations) { + return promptOverrideConfigurations(List.of(promptOverrideConfigurations)); + } + + /** + * @param tags Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value tags for the place index. 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(AgentAgentTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public AgentAgentArgs build() { + if ($.agentName == null) { + throw new MissingRequiredPropertyException("AgentAgentArgs", "agentName"); + } + if ($.agentResourceRoleArn == null) { + throw new MissingRequiredPropertyException("AgentAgentArgs", "agentResourceRoleArn"); + } + if ($.foundationModel == null) { + throw new MissingRequiredPropertyException("AgentAgentArgs", "foundationModel"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentKnowledgeBase.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentKnowledgeBase.java new file mode 100644 index 00000000000..b8a5425cd1f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentKnowledgeBase.java @@ -0,0 +1,276 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.bedrock.AgentKnowledgeBaseArgs; +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseState; +import com.pulumi.aws.bedrock.outputs.AgentKnowledgeBaseKnowledgeBaseConfiguration; +import com.pulumi.aws.bedrock.outputs.AgentKnowledgeBaseStorageConfiguration; +import com.pulumi.aws.bedrock.outputs.AgentKnowledgeBaseTimeouts; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS Agents for Amazon Bedrock Knowledge Base. + * + * ## Example Usage + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.bedrock.AgentKnowledgeBase; + * import com.pulumi.aws.bedrock.AgentKnowledgeBaseArgs; + * import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs; + * import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs; + * import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationArgs; + * import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs; + * import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var test = new AgentKnowledgeBase("test", AgentKnowledgeBaseArgs.builder() + * .name("example") + * .roleArn(example.arn()) + * .knowledgeBaseConfiguration(AgentKnowledgeBaseKnowledgeBaseConfigurationArgs.builder() + * .vectorKnowledgeBaseConfiguration(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs.builder() + * .embeddingModelArn("arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1") + * .build()) + * .type("VECTOR") + * .build()) + * .storageConfiguration(AgentKnowledgeBaseStorageConfigurationArgs.builder() + * .type("OPENSEARCH_SERVERLESS") + * .opensearchServerlessConfiguration(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs.builder() + * .collectionArn("arn:aws:aoss:us-west-2:1234567890:collection/142bezjddq707i5stcrf") + * .vectorIndexName("bedrock-knowledge-base-default-index") + * .fieldMapping(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs.builder() + * .vectorField("bedrock-knowledge-base-default-vector") + * .textField("AMAZON_BEDROCK_TEXT_CHUNK") + * .metadataField("AMAZON_BEDROCK_METADATA") + * .build()) + * .build()) + * .build()) + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import Agents for Amazon Bedrock Knowledge Base using the `Q1IYMH6GQG`. For example: + * + * ```sh + * $ pulumi import aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase example Q1IYMH6GQG + * ``` + * + */ +@ResourceType(type="aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase") +public class AgentKnowledgeBase extends com.pulumi.resources.CustomResource { + /** + * ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + * + */ + public Output arn() { + return this.arn; + } + @Export(name="createdAt", refs={String.class}, tree="[0]") + private Output createdAt; + + public Output createdAt() { + return this.createdAt; + } + /** + * A description of the knowledge base. + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return A description of the knowledge base. + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + @Export(name="failureReasons", refs={List.class,String.class}, tree="[0,1]") + private Output> failureReasons; + + public Output> failureReasons() { + return this.failureReasons; + } + /** + * Contains details about the embeddings model used for the knowledge base. + * + */ + @Export(name="knowledgeBaseConfiguration", refs={AgentKnowledgeBaseKnowledgeBaseConfiguration.class}, tree="[0]") + private Output knowledgeBaseConfiguration; + + /** + * @return Contains details about the embeddings model used for the knowledge base. + * + */ + public Output> knowledgeBaseConfiguration() { + return Codegen.optional(this.knowledgeBaseConfiguration); + } + /** + * A name for the knowledge base. + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return A name for the knowledge base. + * + */ + public Output name() { + return this.name; + } + /** + * The ARN of the IAM role with permissions to create the knowledge base. + * + */ + @Export(name="roleArn", refs={String.class}, tree="[0]") + private Output roleArn; + + /** + * @return The ARN of the IAM role with permissions to create the knowledge base. + * + */ + public Output roleArn() { + return this.roleArn; + } + /** + * Contains details about the configuration of the vector database used for the knowledge base. + * + */ + @Export(name="storageConfiguration", refs={AgentKnowledgeBaseStorageConfiguration.class}, tree="[0]") + private Output storageConfiguration; + + /** + * @return Contains details about the configuration of the vector database used for the knowledge base. + * + */ + public Output> storageConfiguration() { + return Codegen.optional(this.storageConfiguration); + } + /** + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * @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={AgentKnowledgeBaseTimeouts.class}, tree="[0]") + private Output timeouts; + + public Output> timeouts() { + return Codegen.optional(this.timeouts); + } + @Export(name="updatedAt", refs={String.class}, tree="[0]") + private Output updatedAt; + + public Output updatedAt() { + return this.updatedAt; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public AgentKnowledgeBase(String name) { + this(name, AgentKnowledgeBaseArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public AgentKnowledgeBase(String name, AgentKnowledgeBaseArgs 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 AgentKnowledgeBase(String name, AgentKnowledgeBaseArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase", name, args == null ? AgentKnowledgeBaseArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private AgentKnowledgeBase(String name, Output id, @Nullable AgentKnowledgeBaseState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static AgentKnowledgeBase get(String name, Output id, @Nullable AgentKnowledgeBaseState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new AgentKnowledgeBase(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentKnowledgeBaseArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentKnowledgeBaseArgs.java new file mode 100644 index 00000000000..db549544923 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/AgentKnowledgeBaseArgs.java @@ -0,0 +1,293 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock; + +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs; +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationArgs; +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseTimeoutsArgs; +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 AgentKnowledgeBaseArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentKnowledgeBaseArgs Empty = new AgentKnowledgeBaseArgs(); + + /** + * A description of the knowledge base. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return A description of the knowledge base. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Contains details about the embeddings model used for the knowledge base. + * + */ + @Import(name="knowledgeBaseConfiguration") + private @Nullable Output knowledgeBaseConfiguration; + + /** + * @return Contains details about the embeddings model used for the knowledge base. + * + */ + public Optional> knowledgeBaseConfiguration() { + return Optional.ofNullable(this.knowledgeBaseConfiguration); + } + + /** + * A name for the knowledge base. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return A name for the knowledge base. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The ARN of the IAM role with permissions to create the knowledge base. + * + */ + @Import(name="roleArn", required=true) + private Output roleArn; + + /** + * @return The ARN of the IAM role with permissions to create the knowledge base. + * + */ + public Output roleArn() { + return this.roleArn; + } + + /** + * Contains details about the configuration of the vector database used for the knowledge base. + * + */ + @Import(name="storageConfiguration") + private @Nullable Output storageConfiguration; + + /** + * @return Contains details about the configuration of the vector database used for the knowledge base. + * + */ + public Optional> storageConfiguration() { + return Optional.ofNullable(this.storageConfiguration); + } + + /** + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private AgentKnowledgeBaseArgs() {} + + private AgentKnowledgeBaseArgs(AgentKnowledgeBaseArgs $) { + this.description = $.description; + this.knowledgeBaseConfiguration = $.knowledgeBaseConfiguration; + this.name = $.name; + this.roleArn = $.roleArn; + this.storageConfiguration = $.storageConfiguration; + this.tags = $.tags; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentKnowledgeBaseArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentKnowledgeBaseArgs $; + + public Builder() { + $ = new AgentKnowledgeBaseArgs(); + } + + public Builder(AgentKnowledgeBaseArgs defaults) { + $ = new AgentKnowledgeBaseArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description A description of the knowledge base. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description A description of the knowledge base. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param knowledgeBaseConfiguration Contains details about the embeddings model used for the knowledge base. + * + * @return builder + * + */ + public Builder knowledgeBaseConfiguration(@Nullable Output knowledgeBaseConfiguration) { + $.knowledgeBaseConfiguration = knowledgeBaseConfiguration; + return this; + } + + /** + * @param knowledgeBaseConfiguration Contains details about the embeddings model used for the knowledge base. + * + * @return builder + * + */ + public Builder knowledgeBaseConfiguration(AgentKnowledgeBaseKnowledgeBaseConfigurationArgs knowledgeBaseConfiguration) { + return knowledgeBaseConfiguration(Output.of(knowledgeBaseConfiguration)); + } + + /** + * @param name A name for the knowledge base. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name A name for the knowledge base. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param roleArn The ARN of the IAM role with permissions to create the knowledge base. + * + * @return builder + * + */ + public Builder roleArn(Output roleArn) { + $.roleArn = roleArn; + return this; + } + + /** + * @param roleArn The ARN of the IAM role with permissions to create the knowledge base. + * + * @return builder + * + */ + public Builder roleArn(String roleArn) { + return roleArn(Output.of(roleArn)); + } + + /** + * @param storageConfiguration Contains details about the configuration of the vector database used for the knowledge base. + * + * @return builder + * + */ + public Builder storageConfiguration(@Nullable Output storageConfiguration) { + $.storageConfiguration = storageConfiguration; + return this; + } + + /** + * @param storageConfiguration Contains details about the configuration of the vector database used for the knowledge base. + * + * @return builder + * + */ + public Builder storageConfiguration(AgentKnowledgeBaseStorageConfigurationArgs storageConfiguration) { + return storageConfiguration(Output.of(storageConfiguration)); + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(AgentKnowledgeBaseTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public AgentKnowledgeBaseArgs build() { + if ($.roleArn == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseArgs", "roleArn"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupActionGroupExecutorArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupActionGroupExecutorArgs.java new file mode 100644 index 00000000000..7cd5272d662 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupActionGroupExecutorArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AgentAgentActionGroupActionGroupExecutorArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentAgentActionGroupActionGroupExecutorArgs Empty = new AgentAgentActionGroupActionGroupExecutorArgs(); + + /** + * ARN of the Lambda that defines the business logic for the action group. + * + */ + @Import(name="lambda") + private @Nullable Output lambda; + + /** + * @return ARN of the Lambda that defines the business logic for the action group. + * + */ + public Optional> lambda() { + return Optional.ofNullable(this.lambda); + } + + private AgentAgentActionGroupActionGroupExecutorArgs() {} + + private AgentAgentActionGroupActionGroupExecutorArgs(AgentAgentActionGroupActionGroupExecutorArgs $) { + this.lambda = $.lambda; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentAgentActionGroupActionGroupExecutorArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentAgentActionGroupActionGroupExecutorArgs $; + + public Builder() { + $ = new AgentAgentActionGroupActionGroupExecutorArgs(); + } + + public Builder(AgentAgentActionGroupActionGroupExecutorArgs defaults) { + $ = new AgentAgentActionGroupActionGroupExecutorArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param lambda ARN of the Lambda that defines the business logic for the action group. + * + * @return builder + * + */ + public Builder lambda(@Nullable Output lambda) { + $.lambda = lambda; + return this; + } + + /** + * @param lambda ARN of the Lambda that defines the business logic for the action group. + * + * @return builder + * + */ + public Builder lambda(String lambda) { + return lambda(Output.of(lambda)); + } + + public AgentAgentActionGroupActionGroupExecutorArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupApiSchemaArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupApiSchemaArgs.java new file mode 100644 index 00000000000..55270053590 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupApiSchemaArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaS3Args; +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 AgentAgentActionGroupApiSchemaArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentAgentActionGroupApiSchemaArgs Empty = new AgentAgentActionGroupApiSchemaArgs(); + + /** + * YAML or JSON OpenAPI Schema. + * + */ + @Import(name="payload") + private @Nullable Output payload; + + /** + * @return YAML or JSON OpenAPI Schema. + * + */ + public Optional> payload() { + return Optional.ofNullable(this.payload); + } + + /** + * Configuration of S3 schema location + * + */ + @Import(name="s3") + private @Nullable Output s3; + + /** + * @return Configuration of S3 schema location + * + */ + public Optional> s3() { + return Optional.ofNullable(this.s3); + } + + private AgentAgentActionGroupApiSchemaArgs() {} + + private AgentAgentActionGroupApiSchemaArgs(AgentAgentActionGroupApiSchemaArgs $) { + this.payload = $.payload; + this.s3 = $.s3; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentAgentActionGroupApiSchemaArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentAgentActionGroupApiSchemaArgs $; + + public Builder() { + $ = new AgentAgentActionGroupApiSchemaArgs(); + } + + public Builder(AgentAgentActionGroupApiSchemaArgs defaults) { + $ = new AgentAgentActionGroupApiSchemaArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param payload YAML or JSON OpenAPI Schema. + * + * @return builder + * + */ + public Builder payload(@Nullable Output payload) { + $.payload = payload; + return this; + } + + /** + * @param payload YAML or JSON OpenAPI Schema. + * + * @return builder + * + */ + public Builder payload(String payload) { + return payload(Output.of(payload)); + } + + /** + * @param s3 Configuration of S3 schema location + * + * @return builder + * + */ + public Builder s3(@Nullable Output s3) { + $.s3 = s3; + return this; + } + + /** + * @param s3 Configuration of S3 schema location + * + * @return builder + * + */ + public Builder s3(AgentAgentActionGroupApiSchemaS3Args s3) { + return s3(Output.of(s3)); + } + + public AgentAgentActionGroupApiSchemaArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupApiSchemaS3Args.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupApiSchemaS3Args.java new file mode 100644 index 00000000000..0986a7e843d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupApiSchemaS3Args.java @@ -0,0 +1,128 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AgentAgentActionGroupApiSchemaS3Args extends com.pulumi.resources.ResourceArgs { + + public static final AgentAgentActionGroupApiSchemaS3Args Empty = new AgentAgentActionGroupApiSchemaS3Args(); + + /** + * The S3 bucket name that contains the OpenAPI Schema. + * + */ + @Import(name="s3BucketName") + private @Nullable Output s3BucketName; + + /** + * @return The S3 bucket name that contains the OpenAPI Schema. + * + */ + public Optional> s3BucketName() { + return Optional.ofNullable(this.s3BucketName); + } + + /** + * The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + * + * The following arguments are optional: + * + */ + @Import(name="s3ObjectKey") + private @Nullable Output s3ObjectKey; + + /** + * @return The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + * + * The following arguments are optional: + * + */ + public Optional> s3ObjectKey() { + return Optional.ofNullable(this.s3ObjectKey); + } + + private AgentAgentActionGroupApiSchemaS3Args() {} + + private AgentAgentActionGroupApiSchemaS3Args(AgentAgentActionGroupApiSchemaS3Args $) { + this.s3BucketName = $.s3BucketName; + this.s3ObjectKey = $.s3ObjectKey; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentAgentActionGroupApiSchemaS3Args defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentAgentActionGroupApiSchemaS3Args $; + + public Builder() { + $ = new AgentAgentActionGroupApiSchemaS3Args(); + } + + public Builder(AgentAgentActionGroupApiSchemaS3Args defaults) { + $ = new AgentAgentActionGroupApiSchemaS3Args(Objects.requireNonNull(defaults)); + } + + /** + * @param s3BucketName The S3 bucket name that contains the OpenAPI Schema. + * + * @return builder + * + */ + public Builder s3BucketName(@Nullable Output s3BucketName) { + $.s3BucketName = s3BucketName; + return this; + } + + /** + * @param s3BucketName The S3 bucket name that contains the OpenAPI Schema. + * + * @return builder + * + */ + public Builder s3BucketName(String s3BucketName) { + return s3BucketName(Output.of(s3BucketName)); + } + + /** + * @param s3ObjectKey The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder s3ObjectKey(@Nullable Output s3ObjectKey) { + $.s3ObjectKey = s3ObjectKey; + return this; + } + + /** + * @param s3ObjectKey The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder s3ObjectKey(String s3ObjectKey) { + return s3ObjectKey(Output.of(s3ObjectKey)); + } + + public AgentAgentActionGroupApiSchemaS3Args build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupState.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupState.java new file mode 100644 index 00000000000..1699b8349e7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentActionGroupState.java @@ -0,0 +1,319 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupActionGroupExecutorArgs; +import com.pulumi.aws.bedrock.inputs.AgentAgentActionGroupApiSchemaArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AgentAgentActionGroupState extends com.pulumi.resources.ResourceArgs { + + public static final AgentAgentActionGroupState Empty = new AgentAgentActionGroupState(); + + /** + * Configuration of the executor for the Action Group. + * + */ + @Import(name="actionGroupExecutor") + private @Nullable Output actionGroupExecutor; + + /** + * @return Configuration of the executor for the Action Group. + * + */ + public Optional> actionGroupExecutor() { + return Optional.ofNullable(this.actionGroupExecutor); + } + + @Import(name="actionGroupId") + private @Nullable Output actionGroupId; + + public Optional> actionGroupId() { + return Optional.ofNullable(this.actionGroupId); + } + + /** + * Name of the Agent Action Group. + * + */ + @Import(name="actionGroupName") + private @Nullable Output actionGroupName; + + /** + * @return Name of the Agent Action Group. + * + */ + public Optional> actionGroupName() { + return Optional.ofNullable(this.actionGroupName); + } + + @Import(name="actionGroupState") + private @Nullable Output actionGroupState; + + public Optional> actionGroupState() { + return Optional.ofNullable(this.actionGroupState); + } + + /** + * Id of the Agent for the Action Group. + * + */ + @Import(name="agentId") + private @Nullable Output agentId; + + /** + * @return Id of the Agent for the Action Group. + * + */ + public Optional> agentId() { + return Optional.ofNullable(this.agentId); + } + + /** + * Version of the Agent to attach the Action Group to. + * + */ + @Import(name="agentVersion") + private @Nullable Output agentVersion; + + /** + * @return Version of the Agent to attach the Action Group to. + * + */ + public Optional> agentVersion() { + return Optional.ofNullable(this.agentVersion); + } + + /** + * Configuration of the API Schema for the Action Group. + * + */ + @Import(name="apiSchema") + private @Nullable Output apiSchema; + + /** + * @return Configuration of the API Schema for the Action Group. + * + */ + public Optional> apiSchema() { + return Optional.ofNullable(this.apiSchema); + } + + @Import(name="description") + private @Nullable Output description; + + public Optional> description() { + return Optional.ofNullable(this.description); + } + + @Import(name="parentActionGroupSignature") + private @Nullable Output parentActionGroupSignature; + + public Optional> parentActionGroupSignature() { + return Optional.ofNullable(this.parentActionGroupSignature); + } + + @Import(name="skipResourceInUseCheck") + private @Nullable Output skipResourceInUseCheck; + + public Optional> skipResourceInUseCheck() { + return Optional.ofNullable(this.skipResourceInUseCheck); + } + + private AgentAgentActionGroupState() {} + + private AgentAgentActionGroupState(AgentAgentActionGroupState $) { + this.actionGroupExecutor = $.actionGroupExecutor; + this.actionGroupId = $.actionGroupId; + this.actionGroupName = $.actionGroupName; + this.actionGroupState = $.actionGroupState; + this.agentId = $.agentId; + this.agentVersion = $.agentVersion; + this.apiSchema = $.apiSchema; + this.description = $.description; + this.parentActionGroupSignature = $.parentActionGroupSignature; + this.skipResourceInUseCheck = $.skipResourceInUseCheck; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentAgentActionGroupState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentAgentActionGroupState $; + + public Builder() { + $ = new AgentAgentActionGroupState(); + } + + public Builder(AgentAgentActionGroupState defaults) { + $ = new AgentAgentActionGroupState(Objects.requireNonNull(defaults)); + } + + /** + * @param actionGroupExecutor Configuration of the executor for the Action Group. + * + * @return builder + * + */ + public Builder actionGroupExecutor(@Nullable Output actionGroupExecutor) { + $.actionGroupExecutor = actionGroupExecutor; + return this; + } + + /** + * @param actionGroupExecutor Configuration of the executor for the Action Group. + * + * @return builder + * + */ + public Builder actionGroupExecutor(AgentAgentActionGroupActionGroupExecutorArgs actionGroupExecutor) { + return actionGroupExecutor(Output.of(actionGroupExecutor)); + } + + public Builder actionGroupId(@Nullable Output actionGroupId) { + $.actionGroupId = actionGroupId; + return this; + } + + public Builder actionGroupId(String actionGroupId) { + return actionGroupId(Output.of(actionGroupId)); + } + + /** + * @param actionGroupName Name of the Agent Action Group. + * + * @return builder + * + */ + public Builder actionGroupName(@Nullable Output actionGroupName) { + $.actionGroupName = actionGroupName; + return this; + } + + /** + * @param actionGroupName Name of the Agent Action Group. + * + * @return builder + * + */ + public Builder actionGroupName(String actionGroupName) { + return actionGroupName(Output.of(actionGroupName)); + } + + public Builder actionGroupState(@Nullable Output actionGroupState) { + $.actionGroupState = actionGroupState; + return this; + } + + public Builder actionGroupState(String actionGroupState) { + return actionGroupState(Output.of(actionGroupState)); + } + + /** + * @param agentId Id of the Agent for the Action Group. + * + * @return builder + * + */ + public Builder agentId(@Nullable Output agentId) { + $.agentId = agentId; + return this; + } + + /** + * @param agentId Id of the Agent for the Action Group. + * + * @return builder + * + */ + public Builder agentId(String agentId) { + return agentId(Output.of(agentId)); + } + + /** + * @param agentVersion Version of the Agent to attach the Action Group to. + * + * @return builder + * + */ + public Builder agentVersion(@Nullable Output agentVersion) { + $.agentVersion = agentVersion; + return this; + } + + /** + * @param agentVersion Version of the Agent to attach the Action Group to. + * + * @return builder + * + */ + public Builder agentVersion(String agentVersion) { + return agentVersion(Output.of(agentVersion)); + } + + /** + * @param apiSchema Configuration of the API Schema for the Action Group. + * + * @return builder + * + */ + public Builder apiSchema(@Nullable Output apiSchema) { + $.apiSchema = apiSchema; + return this; + } + + /** + * @param apiSchema Configuration of the API Schema for the Action Group. + * + * @return builder + * + */ + public Builder apiSchema(AgentAgentActionGroupApiSchemaArgs apiSchema) { + return apiSchema(Output.of(apiSchema)); + } + + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + public Builder description(String description) { + return description(Output.of(description)); + } + + public Builder parentActionGroupSignature(@Nullable Output parentActionGroupSignature) { + $.parentActionGroupSignature = parentActionGroupSignature; + return this; + } + + public Builder parentActionGroupSignature(String parentActionGroupSignature) { + return parentActionGroupSignature(Output.of(parentActionGroupSignature)); + } + + public Builder skipResourceInUseCheck(@Nullable Output skipResourceInUseCheck) { + $.skipResourceInUseCheck = skipResourceInUseCheck; + return this; + } + + public Builder skipResourceInUseCheck(Boolean skipResourceInUseCheck) { + return skipResourceInUseCheck(Output.of(skipResourceInUseCheck)); + } + + public AgentAgentActionGroupState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentAliasRoutingConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentAliasRoutingConfigurationArgs.java new file mode 100644 index 00000000000..be3661800e6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentAliasRoutingConfigurationArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class AgentAgentAliasRoutingConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentAgentAliasRoutingConfigurationArgs Empty = new AgentAgentAliasRoutingConfigurationArgs(); + + /** + * Version of the agent the alias routes to. + * + */ + @Import(name="agentVersion", required=true) + private Output agentVersion; + + /** + * @return Version of the agent the alias routes to. + * + */ + public Output agentVersion() { + return this.agentVersion; + } + + private AgentAgentAliasRoutingConfigurationArgs() {} + + private AgentAgentAliasRoutingConfigurationArgs(AgentAgentAliasRoutingConfigurationArgs $) { + this.agentVersion = $.agentVersion; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentAgentAliasRoutingConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentAgentAliasRoutingConfigurationArgs $; + + public Builder() { + $ = new AgentAgentAliasRoutingConfigurationArgs(); + } + + public Builder(AgentAgentAliasRoutingConfigurationArgs defaults) { + $ = new AgentAgentAliasRoutingConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param agentVersion Version of the agent the alias routes to. + * + * @return builder + * + */ + public Builder agentVersion(Output agentVersion) { + $.agentVersion = agentVersion; + return this; + } + + /** + * @param agentVersion Version of the agent the alias routes to. + * + * @return builder + * + */ + public Builder agentVersion(String agentVersion) { + return agentVersion(Output.of(agentVersion)); + } + + public AgentAgentAliasRoutingConfigurationArgs build() { + if ($.agentVersion == null) { + throw new MissingRequiredPropertyException("AgentAgentAliasRoutingConfigurationArgs", "agentVersion"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentAliasState.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentAliasState.java new file mode 100644 index 00000000000..60ca626d6c6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentAliasState.java @@ -0,0 +1,369 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.aws.bedrock.inputs.AgentAgentAliasRoutingConfigurationArgs; +import com.pulumi.aws.bedrock.inputs.AgentAgentAliasTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AgentAgentAliasState extends com.pulumi.resources.ResourceArgs { + + public static final AgentAgentAliasState Empty = new AgentAgentAliasState(); + + /** + * ARN of the Agent Alias. + * + */ + @Import(name="agentAliasArn") + private @Nullable Output agentAliasArn; + + /** + * @return ARN of the Agent Alias. + * + */ + public Optional> agentAliasArn() { + return Optional.ofNullable(this.agentAliasArn); + } + + @Import(name="agentAliasId") + private @Nullable Output agentAliasId; + + public Optional> agentAliasId() { + return Optional.ofNullable(this.agentAliasId); + } + + /** + * Name of the alias. + * + */ + @Import(name="agentAliasName") + private @Nullable Output agentAliasName; + + /** + * @return Name of the alias. + * + */ + public Optional> agentAliasName() { + return Optional.ofNullable(this.agentAliasName); + } + + /** + * Identifier of the agent to create an alias for. + * + */ + @Import(name="agentId") + private @Nullable Output agentId; + + /** + * @return Identifier of the agent to create an alias for. + * + */ + public Optional> agentId() { + return Optional.ofNullable(this.agentId); + } + + /** + * Description of the alias of the agent. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the alias of the agent. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Routing configuration of the alias + * + */ + @Import(name="routingConfigurations") + private @Nullable Output> routingConfigurations; + + /** + * @return Routing configuration of the alias + * + */ + public Optional>> routingConfigurations() { + return Optional.ofNullable(this.routingConfigurations); + } + + /** + * Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * The following arguments are optional: + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * The following arguments are optional: + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private AgentAgentAliasState() {} + + private AgentAgentAliasState(AgentAgentAliasState $) { + this.agentAliasArn = $.agentAliasArn; + this.agentAliasId = $.agentAliasId; + this.agentAliasName = $.agentAliasName; + this.agentId = $.agentId; + this.description = $.description; + this.routingConfigurations = $.routingConfigurations; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentAgentAliasState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentAgentAliasState $; + + public Builder() { + $ = new AgentAgentAliasState(); + } + + public Builder(AgentAgentAliasState defaults) { + $ = new AgentAgentAliasState(Objects.requireNonNull(defaults)); + } + + /** + * @param agentAliasArn ARN of the Agent Alias. + * + * @return builder + * + */ + public Builder agentAliasArn(@Nullable Output agentAliasArn) { + $.agentAliasArn = agentAliasArn; + return this; + } + + /** + * @param agentAliasArn ARN of the Agent Alias. + * + * @return builder + * + */ + public Builder agentAliasArn(String agentAliasArn) { + return agentAliasArn(Output.of(agentAliasArn)); + } + + public Builder agentAliasId(@Nullable Output agentAliasId) { + $.agentAliasId = agentAliasId; + return this; + } + + public Builder agentAliasId(String agentAliasId) { + return agentAliasId(Output.of(agentAliasId)); + } + + /** + * @param agentAliasName Name of the alias. + * + * @return builder + * + */ + public Builder agentAliasName(@Nullable Output agentAliasName) { + $.agentAliasName = agentAliasName; + return this; + } + + /** + * @param agentAliasName Name of the alias. + * + * @return builder + * + */ + public Builder agentAliasName(String agentAliasName) { + return agentAliasName(Output.of(agentAliasName)); + } + + /** + * @param agentId Identifier of the agent to create an alias for. + * + * @return builder + * + */ + public Builder agentId(@Nullable Output agentId) { + $.agentId = agentId; + return this; + } + + /** + * @param agentId Identifier of the agent to create an alias for. + * + * @return builder + * + */ + public Builder agentId(String agentId) { + return agentId(Output.of(agentId)); + } + + /** + * @param description Description of the alias of the agent. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the alias of the agent. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param routingConfigurations Routing configuration of the alias + * + * @return builder + * + */ + public Builder routingConfigurations(@Nullable Output> routingConfigurations) { + $.routingConfigurations = routingConfigurations; + return this; + } + + /** + * @param routingConfigurations Routing configuration of the alias + * + * @return builder + * + */ + public Builder routingConfigurations(List routingConfigurations) { + return routingConfigurations(Output.of(routingConfigurations)); + } + + /** + * @param routingConfigurations Routing configuration of the alias + * + * @return builder + * + */ + public Builder routingConfigurations(AgentAgentAliasRoutingConfigurationArgs... routingConfigurations) { + return routingConfigurations(List.of(routingConfigurations)); + } + + /** + * @param tags Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(AgentAgentAliasTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public AgentAgentAliasState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentAliasTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentAliasTimeoutsArgs.java new file mode 100644 index 00000000000..01b61c0ab59 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentAliasTimeoutsArgs.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AgentAgentAliasTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentAgentAliasTimeoutsArgs Empty = new AgentAgentAliasTimeoutsArgs(); + + /** + * A string that can be [parsed as a duration](https://pkg.go.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 AgentAgentAliasTimeoutsArgs() {} + + private AgentAgentAliasTimeoutsArgs(AgentAgentAliasTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.update = $.update; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentAgentAliasTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentAgentAliasTimeoutsArgs $; + + public Builder() { + $ = new AgentAgentAliasTimeoutsArgs(); + } + + public Builder(AgentAgentAliasTimeoutsArgs defaults) { + $ = new AgentAgentAliasTimeoutsArgs(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 AgentAgentAliasTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentPromptOverrideConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentPromptOverrideConfigurationArgs.java new file mode 100644 index 00000000000..cc5c05e49c2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentPromptOverrideConfigurationArgs.java @@ -0,0 +1,147 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Object; +import java.lang.String; +import java.util.List; +import java.util.Objects; + + +public final class AgentAgentPromptOverrideConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentAgentPromptOverrideConfigurationArgs Empty = new AgentAgentPromptOverrideConfigurationArgs(); + + /** + * ARN of Lambda to use when parsing the raw foundation model output. + * + */ + @Import(name="overrideLambda", required=true) + private Output overrideLambda; + + /** + * @return ARN of Lambda to use when parsing the raw foundation model output. + * + */ + public Output overrideLambda() { + return this.overrideLambda; + } + + /** + * List of prompt configurations. + * + * The following arguments are optional: + * + */ + @Import(name="promptConfigurations", required=true) + private Output> promptConfigurations; + + /** + * @return List of prompt configurations. + * + * The following arguments are optional: + * + */ + public Output> promptConfigurations() { + return this.promptConfigurations; + } + + private AgentAgentPromptOverrideConfigurationArgs() {} + + private AgentAgentPromptOverrideConfigurationArgs(AgentAgentPromptOverrideConfigurationArgs $) { + this.overrideLambda = $.overrideLambda; + this.promptConfigurations = $.promptConfigurations; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentAgentPromptOverrideConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentAgentPromptOverrideConfigurationArgs $; + + public Builder() { + $ = new AgentAgentPromptOverrideConfigurationArgs(); + } + + public Builder(AgentAgentPromptOverrideConfigurationArgs defaults) { + $ = new AgentAgentPromptOverrideConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param overrideLambda ARN of Lambda to use when parsing the raw foundation model output. + * + * @return builder + * + */ + public Builder overrideLambda(Output overrideLambda) { + $.overrideLambda = overrideLambda; + return this; + } + + /** + * @param overrideLambda ARN of Lambda to use when parsing the raw foundation model output. + * + * @return builder + * + */ + public Builder overrideLambda(String overrideLambda) { + return overrideLambda(Output.of(overrideLambda)); + } + + /** + * @param promptConfigurations List of prompt configurations. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder promptConfigurations(Output> promptConfigurations) { + $.promptConfigurations = promptConfigurations; + return this; + } + + /** + * @param promptConfigurations List of prompt configurations. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder promptConfigurations(List promptConfigurations) { + return promptConfigurations(Output.of(promptConfigurations)); + } + + /** + * @param promptConfigurations List of prompt configurations. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder promptConfigurations(Object... promptConfigurations) { + return promptConfigurations(List.of(promptConfigurations)); + } + + public AgentAgentPromptOverrideConfigurationArgs build() { + if ($.overrideLambda == null) { + throw new MissingRequiredPropertyException("AgentAgentPromptOverrideConfigurationArgs", "overrideLambda"); + } + if ($.promptConfigurations == null) { + throw new MissingRequiredPropertyException("AgentAgentPromptOverrideConfigurationArgs", "promptConfigurations"); + } + return $; + } + } + +} 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 new file mode 100644 index 00000000000..207c9bd879c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentState.java @@ -0,0 +1,593 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.aws.bedrock.inputs.AgentAgentPromptOverrideConfigurationArgs; +import com.pulumi.aws.bedrock.inputs.AgentAgentTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AgentAgentState extends com.pulumi.resources.ResourceArgs { + + public static final AgentAgentState Empty = new AgentAgentState(); + + /** + * ARN of the Agent. + * + */ + @Import(name="agentArn") + private @Nullable Output agentArn; + + /** + * @return ARN of the Agent. + * + */ + public Optional> agentArn() { + return Optional.ofNullable(this.agentArn); + } + + /** + * ID of the Agent. + * + */ + @Import(name="agentId") + private @Nullable Output agentId; + + /** + * @return ID of the Agent. + * + */ + public Optional> agentId() { + return Optional.ofNullable(this.agentId); + } + + /** + * Name for the agent. + * + */ + @Import(name="agentName") + private @Nullable Output agentName; + + /** + * @return Name for the agent. + * + */ + public Optional> agentName() { + return Optional.ofNullable(this.agentName); + } + + /** + * ARN of the Role for the agent. + * + */ + @Import(name="agentResourceRoleArn") + private @Nullable Output agentResourceRoleArn; + + /** + * @return ARN of the Role for the agent. + * + */ + public Optional> agentResourceRoleArn() { + return Optional.ofNullable(this.agentResourceRoleArn); + } + + /** + * Version of the Agent. + * + */ + @Import(name="agentVersion") + private @Nullable Output agentVersion; + + /** + * @return Version of the Agent. + * + */ + public Optional> agentVersion() { + return Optional.ofNullable(this.agentVersion); + } + + /** + * ARN of customer manager key to use for encryption. + * + */ + @Import(name="customerEncryptionKeyArn") + private @Nullable Output customerEncryptionKeyArn; + + /** + * @return ARN of customer manager key to use for encryption. + * + */ + public Optional> customerEncryptionKeyArn() { + return Optional.ofNullable(this.customerEncryptionKeyArn); + } + + /** + * Description of the agent. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return Description of the agent. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Foundation model for the agent to use. + * + * The following arguments are optional: + * + */ + @Import(name="foundationModel") + private @Nullable Output foundationModel; + + /** + * @return Foundation model for the agent to use. + * + * The following arguments are optional: + * + */ + public Optional> foundationModel() { + return Optional.ofNullable(this.foundationModel); + } + + /** + * TTL in seconds for the agent to idle. + * + */ + @Import(name="idleSessionTtlInSeconds") + private @Nullable Output idleSessionTtlInSeconds; + + /** + * @return TTL in seconds for the agent to idle. + * + */ + public Optional> idleSessionTtlInSeconds() { + return Optional.ofNullable(this.idleSessionTtlInSeconds); + } + + /** + * Instructions to tell agent what it should do. + * + */ + @Import(name="instruction") + private @Nullable Output instruction; + + /** + * @return Instructions to tell agent what it should do. + * + */ + public Optional> instruction() { + return Optional.ofNullable(this.instruction); + } + + @Import(name="prepareAgent") + private @Nullable Output prepareAgent; + + public Optional> prepareAgent() { + return Optional.ofNullable(this.prepareAgent); + } + + /** + * Prompt Override Configuration + * + */ + @Import(name="promptOverrideConfigurations") + private @Nullable Output> promptOverrideConfigurations; + + /** + * @return Prompt Override Configuration + * + */ + public Optional>> promptOverrideConfigurations() { + return Optional.ofNullable(this.promptOverrideConfigurations); + } + + /** + * Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + @Import(name="timeouts") + private @Nullable Output timeouts; + + public Optional> timeouts() { + return Optional.ofNullable(this.timeouts); + } + + private AgentAgentState() {} + + private AgentAgentState(AgentAgentState $) { + this.agentArn = $.agentArn; + this.agentId = $.agentId; + this.agentName = $.agentName; + this.agentResourceRoleArn = $.agentResourceRoleArn; + this.agentVersion = $.agentVersion; + this.customerEncryptionKeyArn = $.customerEncryptionKeyArn; + this.description = $.description; + this.foundationModel = $.foundationModel; + this.idleSessionTtlInSeconds = $.idleSessionTtlInSeconds; + this.instruction = $.instruction; + this.prepareAgent = $.prepareAgent; + this.promptOverrideConfigurations = $.promptOverrideConfigurations; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.timeouts = $.timeouts; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentAgentState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentAgentState $; + + public Builder() { + $ = new AgentAgentState(); + } + + public Builder(AgentAgentState defaults) { + $ = new AgentAgentState(Objects.requireNonNull(defaults)); + } + + /** + * @param agentArn ARN of the Agent. + * + * @return builder + * + */ + public Builder agentArn(@Nullable Output agentArn) { + $.agentArn = agentArn; + return this; + } + + /** + * @param agentArn ARN of the Agent. + * + * @return builder + * + */ + public Builder agentArn(String agentArn) { + return agentArn(Output.of(agentArn)); + } + + /** + * @param agentId ID of the Agent. + * + * @return builder + * + */ + public Builder agentId(@Nullable Output agentId) { + $.agentId = agentId; + return this; + } + + /** + * @param agentId ID of the Agent. + * + * @return builder + * + */ + public Builder agentId(String agentId) { + return agentId(Output.of(agentId)); + } + + /** + * @param agentName Name for the agent. + * + * @return builder + * + */ + public Builder agentName(@Nullable Output agentName) { + $.agentName = agentName; + return this; + } + + /** + * @param agentName Name for the agent. + * + * @return builder + * + */ + public Builder agentName(String agentName) { + return agentName(Output.of(agentName)); + } + + /** + * @param agentResourceRoleArn ARN of the Role for the agent. + * + * @return builder + * + */ + public Builder agentResourceRoleArn(@Nullable Output agentResourceRoleArn) { + $.agentResourceRoleArn = agentResourceRoleArn; + return this; + } + + /** + * @param agentResourceRoleArn ARN of the Role for the agent. + * + * @return builder + * + */ + public Builder agentResourceRoleArn(String agentResourceRoleArn) { + return agentResourceRoleArn(Output.of(agentResourceRoleArn)); + } + + /** + * @param agentVersion Version of the Agent. + * + * @return builder + * + */ + public Builder agentVersion(@Nullable Output agentVersion) { + $.agentVersion = agentVersion; + return this; + } + + /** + * @param agentVersion Version of the Agent. + * + * @return builder + * + */ + public Builder agentVersion(String agentVersion) { + return agentVersion(Output.of(agentVersion)); + } + + /** + * @param customerEncryptionKeyArn ARN of customer manager key to use for encryption. + * + * @return builder + * + */ + public Builder customerEncryptionKeyArn(@Nullable Output customerEncryptionKeyArn) { + $.customerEncryptionKeyArn = customerEncryptionKeyArn; + return this; + } + + /** + * @param customerEncryptionKeyArn ARN of customer manager key to use for encryption. + * + * @return builder + * + */ + public Builder customerEncryptionKeyArn(String customerEncryptionKeyArn) { + return customerEncryptionKeyArn(Output.of(customerEncryptionKeyArn)); + } + + /** + * @param description Description of the agent. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description Description of the agent. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param foundationModel Foundation model for the agent to use. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder foundationModel(@Nullable Output foundationModel) { + $.foundationModel = foundationModel; + return this; + } + + /** + * @param foundationModel Foundation model for the agent to use. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder foundationModel(String foundationModel) { + return foundationModel(Output.of(foundationModel)); + } + + /** + * @param idleSessionTtlInSeconds TTL in seconds for the agent to idle. + * + * @return builder + * + */ + public Builder idleSessionTtlInSeconds(@Nullable Output idleSessionTtlInSeconds) { + $.idleSessionTtlInSeconds = idleSessionTtlInSeconds; + return this; + } + + /** + * @param idleSessionTtlInSeconds TTL in seconds for the agent to idle. + * + * @return builder + * + */ + public Builder idleSessionTtlInSeconds(Integer idleSessionTtlInSeconds) { + return idleSessionTtlInSeconds(Output.of(idleSessionTtlInSeconds)); + } + + /** + * @param instruction Instructions to tell agent what it should do. + * + * @return builder + * + */ + public Builder instruction(@Nullable Output instruction) { + $.instruction = instruction; + return this; + } + + /** + * @param instruction Instructions to tell agent what it should do. + * + * @return builder + * + */ + public Builder instruction(String instruction) { + return instruction(Output.of(instruction)); + } + + public Builder prepareAgent(@Nullable Output prepareAgent) { + $.prepareAgent = prepareAgent; + return this; + } + + public Builder prepareAgent(Boolean prepareAgent) { + return prepareAgent(Output.of(prepareAgent)); + } + + /** + * @param promptOverrideConfigurations Prompt Override Configuration + * + * @return builder + * + */ + public Builder promptOverrideConfigurations(@Nullable Output> promptOverrideConfigurations) { + $.promptOverrideConfigurations = promptOverrideConfigurations; + return this; + } + + /** + * @param promptOverrideConfigurations Prompt Override Configuration + * + * @return builder + * + */ + public Builder promptOverrideConfigurations(List promptOverrideConfigurations) { + return promptOverrideConfigurations(Output.of(promptOverrideConfigurations)); + } + + /** + * @param promptOverrideConfigurations Prompt Override Configuration + * + * @return builder + * + */ + public Builder promptOverrideConfigurations(AgentAgentPromptOverrideConfigurationArgs... promptOverrideConfigurations) { + return promptOverrideConfigurations(List.of(promptOverrideConfigurations)); + } + + /** + * @param tags Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public Builder timeouts(@Nullable Output timeouts) { + $.timeouts = timeouts; + return this; + } + + public Builder timeouts(AgentAgentTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public AgentAgentState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentTimeoutsArgs.java new file mode 100644 index 00000000000..cc075336f93 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentAgentTimeoutsArgs.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AgentAgentTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentAgentTimeoutsArgs Empty = new AgentAgentTimeoutsArgs(); + + /** + * A string that can be [parsed as a duration](https://pkg.go.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 AgentAgentTimeoutsArgs() {} + + private AgentAgentTimeoutsArgs(AgentAgentTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.update = $.update; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentAgentTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentAgentTimeoutsArgs $; + + public Builder() { + $ = new AgentAgentTimeoutsArgs(); + } + + public Builder(AgentAgentTimeoutsArgs defaults) { + $ = new AgentAgentTimeoutsArgs(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 AgentAgentTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationArgs.java new file mode 100644 index 00000000000..f617151a3b9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationArgs.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.bedrock.inputs; + +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs; +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 AgentKnowledgeBaseKnowledgeBaseConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentKnowledgeBaseKnowledgeBaseConfigurationArgs Empty = new AgentKnowledgeBaseKnowledgeBaseConfigurationArgs(); + + /** + * The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + * + */ + @Import(name="type", required=true) + private Output type; + + /** + * @return The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + * + */ + public Output type() { + return this.type; + } + + /** + * Contains details about the embeddings model that'sused to convert the data source. + * + */ + @Import(name="vectorKnowledgeBaseConfiguration") + private @Nullable Output vectorKnowledgeBaseConfiguration; + + /** + * @return Contains details about the embeddings model that'sused to convert the data source. + * + */ + public Optional> vectorKnowledgeBaseConfiguration() { + return Optional.ofNullable(this.vectorKnowledgeBaseConfiguration); + } + + private AgentKnowledgeBaseKnowledgeBaseConfigurationArgs() {} + + private AgentKnowledgeBaseKnowledgeBaseConfigurationArgs(AgentKnowledgeBaseKnowledgeBaseConfigurationArgs $) { + this.type = $.type; + this.vectorKnowledgeBaseConfiguration = $.vectorKnowledgeBaseConfiguration; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentKnowledgeBaseKnowledgeBaseConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentKnowledgeBaseKnowledgeBaseConfigurationArgs $; + + public Builder() { + $ = new AgentKnowledgeBaseKnowledgeBaseConfigurationArgs(); + } + + public Builder(AgentKnowledgeBaseKnowledgeBaseConfigurationArgs defaults) { + $ = new AgentKnowledgeBaseKnowledgeBaseConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param type The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + * + * @return builder + * + */ + public Builder type(Output type) { + $.type = type; + return this; + } + + /** + * @param type The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + /** + * @param vectorKnowledgeBaseConfiguration Contains details about the embeddings model that'sused to convert the data source. + * + * @return builder + * + */ + public Builder vectorKnowledgeBaseConfiguration(@Nullable Output vectorKnowledgeBaseConfiguration) { + $.vectorKnowledgeBaseConfiguration = vectorKnowledgeBaseConfiguration; + return this; + } + + /** + * @param vectorKnowledgeBaseConfiguration Contains details about the embeddings model that'sused to convert the data source. + * + * @return builder + * + */ + public Builder vectorKnowledgeBaseConfiguration(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs vectorKnowledgeBaseConfiguration) { + return vectorKnowledgeBaseConfiguration(Output.of(vectorKnowledgeBaseConfiguration)); + } + + public AgentKnowledgeBaseKnowledgeBaseConfigurationArgs build() { + if ($.type == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseKnowledgeBaseConfigurationArgs", "type"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs.java new file mode 100644 index 00000000000..5719c4859d4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs.java @@ -0,0 +1,85 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs Empty = new AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs(); + + /** + * The ARN of the model used to create vector embeddings for the knowledge base. + * + */ + @Import(name="embeddingModelArn", required=true) + private Output embeddingModelArn; + + /** + * @return The ARN of the model used to create vector embeddings for the knowledge base. + * + */ + public Output embeddingModelArn() { + return this.embeddingModelArn; + } + + private AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs() {} + + private AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs $) { + this.embeddingModelArn = $.embeddingModelArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs $; + + public Builder() { + $ = new AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs(); + } + + public Builder(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs defaults) { + $ = new AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param embeddingModelArn The ARN of the model used to create vector embeddings for the knowledge base. + * + * @return builder + * + */ + public Builder embeddingModelArn(Output embeddingModelArn) { + $.embeddingModelArn = embeddingModelArn; + return this; + } + + /** + * @param embeddingModelArn The ARN of the model used to create vector embeddings for the knowledge base. + * + * @return builder + * + */ + public Builder embeddingModelArn(String embeddingModelArn) { + return embeddingModelArn(Output.of(embeddingModelArn)); + } + + public AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs build() { + if ($.embeddingModelArn == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs", "embeddingModelArn"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseState.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseState.java new file mode 100644 index 00000000000..5a300703efe --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseState.java @@ -0,0 +1,427 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs; +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationArgs; +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseTimeoutsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AgentKnowledgeBaseState extends com.pulumi.resources.ResourceArgs { + + public static final AgentKnowledgeBaseState Empty = new AgentKnowledgeBaseState(); + + /** + * ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + @Import(name="createdAt") + private @Nullable Output createdAt; + + public Optional> createdAt() { + return Optional.ofNullable(this.createdAt); + } + + /** + * A description of the knowledge base. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return A description of the knowledge base. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + @Import(name="failureReasons") + private @Nullable Output> failureReasons; + + public Optional>> failureReasons() { + return Optional.ofNullable(this.failureReasons); + } + + /** + * Contains details about the embeddings model used for the knowledge base. + * + */ + @Import(name="knowledgeBaseConfiguration") + private @Nullable Output knowledgeBaseConfiguration; + + /** + * @return Contains details about the embeddings model used for the knowledge base. + * + */ + public Optional> knowledgeBaseConfiguration() { + return Optional.ofNullable(this.knowledgeBaseConfiguration); + } + + /** + * A name for the knowledge base. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return A name for the knowledge base. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * The ARN of the IAM role with permissions to create the knowledge base. + * + */ + @Import(name="roleArn") + private @Nullable Output roleArn; + + /** + * @return The ARN of the IAM role with permissions to create the knowledge base. + * + */ + public Optional> roleArn() { + return Optional.ofNullable(this.roleArn); + } + + /** + * Contains details about the configuration of the vector database used for the knowledge base. + * + */ + @Import(name="storageConfiguration") + private @Nullable Output storageConfiguration; + + /** + * @return Contains details about the configuration of the vector database used for the knowledge base. + * + */ + public Optional> storageConfiguration() { + return Optional.ofNullable(this.storageConfiguration); + } + + /** + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * @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); + } + + @Import(name="updatedAt") + private @Nullable Output updatedAt; + + public Optional> updatedAt() { + return Optional.ofNullable(this.updatedAt); + } + + private AgentKnowledgeBaseState() {} + + private AgentKnowledgeBaseState(AgentKnowledgeBaseState $) { + this.arn = $.arn; + this.createdAt = $.createdAt; + this.description = $.description; + this.failureReasons = $.failureReasons; + this.knowledgeBaseConfiguration = $.knowledgeBaseConfiguration; + this.name = $.name; + this.roleArn = $.roleArn; + this.storageConfiguration = $.storageConfiguration; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + this.timeouts = $.timeouts; + this.updatedAt = $.updatedAt; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentKnowledgeBaseState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentKnowledgeBaseState $; + + public Builder() { + $ = new AgentKnowledgeBaseState(); + } + + public Builder(AgentKnowledgeBaseState defaults) { + $ = new AgentKnowledgeBaseState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + public Builder createdAt(@Nullable Output createdAt) { + $.createdAt = createdAt; + return this; + } + + public Builder createdAt(String createdAt) { + return createdAt(Output.of(createdAt)); + } + + /** + * @param description A description of the knowledge base. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description A description of the knowledge base. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + public Builder failureReasons(@Nullable Output> failureReasons) { + $.failureReasons = failureReasons; + return this; + } + + public Builder failureReasons(List failureReasons) { + return failureReasons(Output.of(failureReasons)); + } + + public Builder failureReasons(String... failureReasons) { + return failureReasons(List.of(failureReasons)); + } + + /** + * @param knowledgeBaseConfiguration Contains details about the embeddings model used for the knowledge base. + * + * @return builder + * + */ + public Builder knowledgeBaseConfiguration(@Nullable Output knowledgeBaseConfiguration) { + $.knowledgeBaseConfiguration = knowledgeBaseConfiguration; + return this; + } + + /** + * @param knowledgeBaseConfiguration Contains details about the embeddings model used for the knowledge base. + * + * @return builder + * + */ + public Builder knowledgeBaseConfiguration(AgentKnowledgeBaseKnowledgeBaseConfigurationArgs knowledgeBaseConfiguration) { + return knowledgeBaseConfiguration(Output.of(knowledgeBaseConfiguration)); + } + + /** + * @param name A name for the knowledge base. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name A name for the knowledge base. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param roleArn The ARN of the IAM role with permissions to create the knowledge base. + * + * @return builder + * + */ + public Builder roleArn(@Nullable Output roleArn) { + $.roleArn = roleArn; + return this; + } + + /** + * @param roleArn The ARN of the IAM role with permissions to create the knowledge base. + * + * @return builder + * + */ + public Builder roleArn(String roleArn) { + return roleArn(Output.of(roleArn)); + } + + /** + * @param storageConfiguration Contains details about the configuration of the vector database used for the knowledge base. + * + * @return builder + * + */ + public Builder storageConfiguration(@Nullable Output storageConfiguration) { + $.storageConfiguration = storageConfiguration; + return this; + } + + /** + * @param storageConfiguration Contains details about the configuration of the vector database used for the knowledge base. + * + * @return builder + * + */ + public Builder storageConfiguration(AgentKnowledgeBaseStorageConfigurationArgs storageConfiguration) { + return storageConfiguration(Output.of(storageConfiguration)); + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @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(AgentKnowledgeBaseTimeoutsArgs timeouts) { + return timeouts(Output.of(timeouts)); + } + + public Builder updatedAt(@Nullable Output updatedAt) { + $.updatedAt = updatedAt; + return this; + } + + public Builder updatedAt(String updatedAt) { + return updatedAt(Output.of(updatedAt)); + } + + public AgentKnowledgeBaseState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationArgs.java new file mode 100644 index 00000000000..a95f7da4bc4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationArgs.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.bedrock.inputs; + +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs; +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs; +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs; +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs; +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 AgentKnowledgeBaseStorageConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentKnowledgeBaseStorageConfigurationArgs Empty = new AgentKnowledgeBaseStorageConfigurationArgs(); + + /** + * Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + * + */ + @Import(name="opensearchServerlessConfiguration") + private @Nullable Output opensearchServerlessConfiguration; + + /** + * @return Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + * + */ + public Optional> opensearchServerlessConfiguration() { + return Optional.ofNullable(this.opensearchServerlessConfiguration); + } + + /** + * Contains the storage configuration of the knowledge base in Pinecone. + * + */ + @Import(name="pineconeConfiguration") + private @Nullable Output pineconeConfiguration; + + /** + * @return Contains the storage configuration of the knowledge base in Pinecone. + * + */ + public Optional> pineconeConfiguration() { + return Optional.ofNullable(this.pineconeConfiguration); + } + + /** + * Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + * + */ + @Import(name="rdsConfiguration") + private @Nullable Output rdsConfiguration; + + /** + * @return Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + * + */ + public Optional> rdsConfiguration() { + return Optional.ofNullable(this.rdsConfiguration); + } + + /** + * Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + * + */ + @Import(name="redisEnterpriseCloudConfiguration") + private @Nullable Output redisEnterpriseCloudConfiguration; + + /** + * @return Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + * + */ + public Optional> redisEnterpriseCloudConfiguration() { + return Optional.ofNullable(this.redisEnterpriseCloudConfiguration); + } + + /** + * The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + * + */ + @Import(name="type", required=true) + private Output type; + + /** + * @return The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + * + */ + public Output type() { + return this.type; + } + + private AgentKnowledgeBaseStorageConfigurationArgs() {} + + private AgentKnowledgeBaseStorageConfigurationArgs(AgentKnowledgeBaseStorageConfigurationArgs $) { + this.opensearchServerlessConfiguration = $.opensearchServerlessConfiguration; + this.pineconeConfiguration = $.pineconeConfiguration; + this.rdsConfiguration = $.rdsConfiguration; + this.redisEnterpriseCloudConfiguration = $.redisEnterpriseCloudConfiguration; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentKnowledgeBaseStorageConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentKnowledgeBaseStorageConfigurationArgs $; + + public Builder() { + $ = new AgentKnowledgeBaseStorageConfigurationArgs(); + } + + public Builder(AgentKnowledgeBaseStorageConfigurationArgs defaults) { + $ = new AgentKnowledgeBaseStorageConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param opensearchServerlessConfiguration Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + * + * @return builder + * + */ + public Builder opensearchServerlessConfiguration(@Nullable Output opensearchServerlessConfiguration) { + $.opensearchServerlessConfiguration = opensearchServerlessConfiguration; + return this; + } + + /** + * @param opensearchServerlessConfiguration Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + * + * @return builder + * + */ + public Builder opensearchServerlessConfiguration(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs opensearchServerlessConfiguration) { + return opensearchServerlessConfiguration(Output.of(opensearchServerlessConfiguration)); + } + + /** + * @param pineconeConfiguration Contains the storage configuration of the knowledge base in Pinecone. + * + * @return builder + * + */ + public Builder pineconeConfiguration(@Nullable Output pineconeConfiguration) { + $.pineconeConfiguration = pineconeConfiguration; + return this; + } + + /** + * @param pineconeConfiguration Contains the storage configuration of the knowledge base in Pinecone. + * + * @return builder + * + */ + public Builder pineconeConfiguration(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs pineconeConfiguration) { + return pineconeConfiguration(Output.of(pineconeConfiguration)); + } + + /** + * @param rdsConfiguration Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + * + * @return builder + * + */ + public Builder rdsConfiguration(@Nullable Output rdsConfiguration) { + $.rdsConfiguration = rdsConfiguration; + return this; + } + + /** + * @param rdsConfiguration Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + * + * @return builder + * + */ + public Builder rdsConfiguration(AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs rdsConfiguration) { + return rdsConfiguration(Output.of(rdsConfiguration)); + } + + /** + * @param redisEnterpriseCloudConfiguration Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + * + * @return builder + * + */ + public Builder redisEnterpriseCloudConfiguration(@Nullable Output redisEnterpriseCloudConfiguration) { + $.redisEnterpriseCloudConfiguration = redisEnterpriseCloudConfiguration; + return this; + } + + /** + * @param redisEnterpriseCloudConfiguration Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + * + * @return builder + * + */ + public Builder redisEnterpriseCloudConfiguration(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs redisEnterpriseCloudConfiguration) { + return redisEnterpriseCloudConfiguration(Output.of(redisEnterpriseCloudConfiguration)); + } + + /** + * @param type The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + * + * @return builder + * + */ + public Builder type(Output type) { + $.type = type; + return this; + } + + /** + * @param type The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public AgentKnowledgeBaseStorageConfigurationArgs build() { + if ($.type == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationArgs", "type"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs.java new file mode 100644 index 00000000000..4d2cfdd86ba --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs.java @@ -0,0 +1,165 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs; +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 AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs Empty = new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs(); + + /** + * The ARN of the OpenSearch Service vector store. + * + */ + @Import(name="collectionArn", required=true) + private Output collectionArn; + + /** + * @return The ARN of the OpenSearch Service vector store. + * + */ + public Output collectionArn() { + return this.collectionArn; + } + + /** + * Contains the names of the fields to which to map information about the vector store. + * + */ + @Import(name="fieldMapping") + private @Nullable Output fieldMapping; + + /** + * @return Contains the names of the fields to which to map information about the vector store. + * + */ + public Optional> fieldMapping() { + return Optional.ofNullable(this.fieldMapping); + } + + /** + * The name of the vector store. + * + */ + @Import(name="vectorIndexName", required=true) + private Output vectorIndexName; + + /** + * @return The name of the vector store. + * + */ + public Output vectorIndexName() { + return this.vectorIndexName; + } + + private AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs() {} + + private AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs $) { + this.collectionArn = $.collectionArn; + this.fieldMapping = $.fieldMapping; + this.vectorIndexName = $.vectorIndexName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs $; + + public Builder() { + $ = new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs(); + } + + public Builder(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs defaults) { + $ = new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param collectionArn The ARN of the OpenSearch Service vector store. + * + * @return builder + * + */ + public Builder collectionArn(Output collectionArn) { + $.collectionArn = collectionArn; + return this; + } + + /** + * @param collectionArn The ARN of the OpenSearch Service vector store. + * + * @return builder + * + */ + public Builder collectionArn(String collectionArn) { + return collectionArn(Output.of(collectionArn)); + } + + /** + * @param fieldMapping Contains the names of the fields to which to map information about the vector store. + * + * @return builder + * + */ + public Builder fieldMapping(@Nullable Output fieldMapping) { + $.fieldMapping = fieldMapping; + return this; + } + + /** + * @param fieldMapping Contains the names of the fields to which to map information about the vector store. + * + * @return builder + * + */ + public Builder fieldMapping(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs fieldMapping) { + return fieldMapping(Output.of(fieldMapping)); + } + + /** + * @param vectorIndexName The name of the vector store. + * + * @return builder + * + */ + public Builder vectorIndexName(Output vectorIndexName) { + $.vectorIndexName = vectorIndexName; + return this; + } + + /** + * @param vectorIndexName The name of the vector store. + * + * @return builder + * + */ + public Builder vectorIndexName(String vectorIndexName) { + return vectorIndexName(Output.of(vectorIndexName)); + } + + public AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs build() { + if ($.collectionArn == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs", "collectionArn"); + } + if ($.vectorIndexName == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs", "vectorIndexName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs.java new file mode 100644 index 00000000000..75933ccfc1a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs Empty = new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs(); + + /** + * The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + @Import(name="metadataField") + private @Nullable Output metadataField; + + /** + * @return The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + public Optional> metadataField() { + return Optional.ofNullable(this.metadataField); + } + + /** + * The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + @Import(name="textField") + private @Nullable Output textField; + + /** + * @return The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + public Optional> textField() { + return Optional.ofNullable(this.textField); + } + + /** + * The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + */ + @Import(name="vectorField") + private @Nullable Output vectorField; + + /** + * @return The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + */ + public Optional> vectorField() { + return Optional.ofNullable(this.vectorField); + } + + private AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs() {} + + private AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs $) { + this.metadataField = $.metadataField; + this.textField = $.textField; + this.vectorField = $.vectorField; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs $; + + public Builder() { + $ = new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs(); + } + + public Builder(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs defaults) { + $ = new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param metadataField The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + * @return builder + * + */ + public Builder metadataField(@Nullable Output metadataField) { + $.metadataField = metadataField; + return this; + } + + /** + * @param metadataField The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + * @return builder + * + */ + public Builder metadataField(String metadataField) { + return metadataField(Output.of(metadataField)); + } + + /** + * @param textField The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + * @return builder + * + */ + public Builder textField(@Nullable Output textField) { + $.textField = textField; + return this; + } + + /** + * @param textField The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + * @return builder + * + */ + public Builder textField(String textField) { + return textField(Output.of(textField)); + } + + /** + * @param vectorField The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + * @return builder + * + */ + public Builder vectorField(@Nullable Output vectorField) { + $.vectorField = vectorField; + return this; + } + + /** + * @param vectorField The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + * @return builder + * + */ + public Builder vectorField(String vectorField) { + return vectorField(Output.of(vectorField)); + } + + public AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs.java new file mode 100644 index 00000000000..6697d4c757c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs.java @@ -0,0 +1,202 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs; +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 AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs Empty = new AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs(); + + /** + * The endpoint URL for your index management page. + * + */ + @Import(name="connectionString", required=true) + private Output connectionString; + + /** + * @return The endpoint URL for your index management page. + * + */ + public Output connectionString() { + return this.connectionString; + } + + /** + * The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + */ + @Import(name="credentialsSecretArn", required=true) + private Output credentialsSecretArn; + + /** + * @return The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + */ + public Output credentialsSecretArn() { + return this.credentialsSecretArn; + } + + /** + * Contains the names of the fields to which to map information about the vector store. + * + */ + @Import(name="fieldMapping") + private @Nullable Output fieldMapping; + + /** + * @return Contains the names of the fields to which to map information about the vector store. + * + */ + public Optional> fieldMapping() { + return Optional.ofNullable(this.fieldMapping); + } + + /** + * The namespace to be used to write new data to your database. + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return The namespace to be used to write new data to your database. + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + private AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs() {} + + private AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs $) { + this.connectionString = $.connectionString; + this.credentialsSecretArn = $.credentialsSecretArn; + this.fieldMapping = $.fieldMapping; + this.namespace = $.namespace; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs $; + + public Builder() { + $ = new AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs(); + } + + public Builder(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs defaults) { + $ = new AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param connectionString The endpoint URL for your index management page. + * + * @return builder + * + */ + public Builder connectionString(Output connectionString) { + $.connectionString = connectionString; + return this; + } + + /** + * @param connectionString The endpoint URL for your index management page. + * + * @return builder + * + */ + public Builder connectionString(String connectionString) { + return connectionString(Output.of(connectionString)); + } + + /** + * @param credentialsSecretArn The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + * @return builder + * + */ + public Builder credentialsSecretArn(Output credentialsSecretArn) { + $.credentialsSecretArn = credentialsSecretArn; + return this; + } + + /** + * @param credentialsSecretArn The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + * @return builder + * + */ + public Builder credentialsSecretArn(String credentialsSecretArn) { + return credentialsSecretArn(Output.of(credentialsSecretArn)); + } + + /** + * @param fieldMapping Contains the names of the fields to which to map information about the vector store. + * + * @return builder + * + */ + public Builder fieldMapping(@Nullable Output fieldMapping) { + $.fieldMapping = fieldMapping; + return this; + } + + /** + * @param fieldMapping Contains the names of the fields to which to map information about the vector store. + * + * @return builder + * + */ + public Builder fieldMapping(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs fieldMapping) { + return fieldMapping(Output.of(fieldMapping)); + } + + /** + * @param namespace The namespace to be used to write new data to your database. + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace The namespace to be used to write new data to your database. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + public AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs build() { + if ($.connectionString == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs", "connectionString"); + } + if ($.credentialsSecretArn == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs", "credentialsSecretArn"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs.java new file mode 100644 index 00000000000..da60ca7d7c0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs.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.bedrock.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs Empty = new AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs(); + + /** + * The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + @Import(name="metadataField") + private @Nullable Output metadataField; + + /** + * @return The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + public Optional> metadataField() { + return Optional.ofNullable(this.metadataField); + } + + /** + * The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + @Import(name="textField") + private @Nullable Output textField; + + /** + * @return The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + public Optional> textField() { + return Optional.ofNullable(this.textField); + } + + private AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs() {} + + private AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs $) { + this.metadataField = $.metadataField; + this.textField = $.textField; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs $; + + public Builder() { + $ = new AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs(); + } + + public Builder(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs defaults) { + $ = new AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param metadataField The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + * @return builder + * + */ + public Builder metadataField(@Nullable Output metadataField) { + $.metadataField = metadataField; + return this; + } + + /** + * @param metadataField The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + * @return builder + * + */ + public Builder metadataField(String metadataField) { + return metadataField(Output.of(metadataField)); + } + + /** + * @param textField The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + * @return builder + * + */ + public Builder textField(@Nullable Output textField) { + $.textField = textField; + return this; + } + + /** + * @param textField The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + * @return builder + * + */ + public Builder textField(String textField) { + return textField(Output.of(textField)); + } + + public AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs.java new file mode 100644 index 00000000000..d4a7c537721 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs.java @@ -0,0 +1,245 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs; +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 AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs Empty = new AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs(); + + /** + * The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + */ + @Import(name="credentialsSecretArn", required=true) + private Output credentialsSecretArn; + + /** + * @return The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + */ + public Output credentialsSecretArn() { + return this.credentialsSecretArn; + } + + /** + * The name of your Amazon RDS database. + * + */ + @Import(name="databaseName", required=true) + private Output databaseName; + + /** + * @return The name of your Amazon RDS database. + * + */ + public Output databaseName() { + return this.databaseName; + } + + /** + * Contains the names of the fields to which to map information about the vector store. + * + */ + @Import(name="fieldMapping") + private @Nullable Output fieldMapping; + + /** + * @return Contains the names of the fields to which to map information about the vector store. + * + */ + public Optional> fieldMapping() { + return Optional.ofNullable(this.fieldMapping); + } + + /** + * The namespace to be used to write new data to your database. + * + */ + @Import(name="resourceArn", required=true) + private Output resourceArn; + + /** + * @return The namespace to be used to write new data to your database. + * + */ + public Output resourceArn() { + return this.resourceArn; + } + + /** + * The name of the table in the database. + * + */ + @Import(name="tableName", required=true) + private Output tableName; + + /** + * @return The name of the table in the database. + * + */ + public Output tableName() { + return this.tableName; + } + + private AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs() {} + + private AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs(AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs $) { + this.credentialsSecretArn = $.credentialsSecretArn; + this.databaseName = $.databaseName; + this.fieldMapping = $.fieldMapping; + this.resourceArn = $.resourceArn; + this.tableName = $.tableName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs $; + + public Builder() { + $ = new AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs(); + } + + public Builder(AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs defaults) { + $ = new AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param credentialsSecretArn The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + * @return builder + * + */ + public Builder credentialsSecretArn(Output credentialsSecretArn) { + $.credentialsSecretArn = credentialsSecretArn; + return this; + } + + /** + * @param credentialsSecretArn The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + * @return builder + * + */ + public Builder credentialsSecretArn(String credentialsSecretArn) { + return credentialsSecretArn(Output.of(credentialsSecretArn)); + } + + /** + * @param databaseName The name of your Amazon RDS database. + * + * @return builder + * + */ + public Builder databaseName(Output databaseName) { + $.databaseName = databaseName; + return this; + } + + /** + * @param databaseName The name of your Amazon RDS database. + * + * @return builder + * + */ + public Builder databaseName(String databaseName) { + return databaseName(Output.of(databaseName)); + } + + /** + * @param fieldMapping Contains the names of the fields to which to map information about the vector store. + * + * @return builder + * + */ + public Builder fieldMapping(@Nullable Output fieldMapping) { + $.fieldMapping = fieldMapping; + return this; + } + + /** + * @param fieldMapping Contains the names of the fields to which to map information about the vector store. + * + * @return builder + * + */ + public Builder fieldMapping(AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs fieldMapping) { + return fieldMapping(Output.of(fieldMapping)); + } + + /** + * @param resourceArn The namespace to be used to write new data to your database. + * + * @return builder + * + */ + public Builder resourceArn(Output resourceArn) { + $.resourceArn = resourceArn; + return this; + } + + /** + * @param resourceArn The namespace to be used to write new data to your database. + * + * @return builder + * + */ + public Builder resourceArn(String resourceArn) { + return resourceArn(Output.of(resourceArn)); + } + + /** + * @param tableName The name of the table in the database. + * + * @return builder + * + */ + public Builder tableName(Output tableName) { + $.tableName = tableName; + return this; + } + + /** + * @param tableName The name of the table in the database. + * + * @return builder + * + */ + public Builder tableName(String tableName) { + return tableName(Output.of(tableName)); + } + + public AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs build() { + if ($.credentialsSecretArn == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs", "credentialsSecretArn"); + } + if ($.databaseName == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs", "databaseName"); + } + if ($.resourceArn == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs", "resourceArn"); + } + if ($.tableName == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs", "tableName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs.java new file mode 100644 index 00000000000..2ae66a1ef7a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs.java @@ -0,0 +1,205 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs Empty = new AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs(); + + /** + * The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + @Import(name="metadataField", required=true) + private Output metadataField; + + /** + * @return The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + public Output metadataField() { + return this.metadataField; + } + + /** + * The name of the field in which Amazon Bedrock stores the ID for each entry. + * + */ + @Import(name="primaryKeyField", required=true) + private Output primaryKeyField; + + /** + * @return The name of the field in which Amazon Bedrock stores the ID for each entry. + * + */ + public Output primaryKeyField() { + return this.primaryKeyField; + } + + /** + * The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + @Import(name="textField", required=true) + private Output textField; + + /** + * @return The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + public Output textField() { + return this.textField; + } + + /** + * The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + */ + @Import(name="vectorField", required=true) + private Output vectorField; + + /** + * @return The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + */ + public Output vectorField() { + return this.vectorField; + } + + private AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs() {} + + private AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs(AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs $) { + this.metadataField = $.metadataField; + this.primaryKeyField = $.primaryKeyField; + this.textField = $.textField; + this.vectorField = $.vectorField; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs $; + + public Builder() { + $ = new AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs(); + } + + public Builder(AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs defaults) { + $ = new AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param metadataField The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + * @return builder + * + */ + public Builder metadataField(Output metadataField) { + $.metadataField = metadataField; + return this; + } + + /** + * @param metadataField The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + * @return builder + * + */ + public Builder metadataField(String metadataField) { + return metadataField(Output.of(metadataField)); + } + + /** + * @param primaryKeyField The name of the field in which Amazon Bedrock stores the ID for each entry. + * + * @return builder + * + */ + public Builder primaryKeyField(Output primaryKeyField) { + $.primaryKeyField = primaryKeyField; + return this; + } + + /** + * @param primaryKeyField The name of the field in which Amazon Bedrock stores the ID for each entry. + * + * @return builder + * + */ + public Builder primaryKeyField(String primaryKeyField) { + return primaryKeyField(Output.of(primaryKeyField)); + } + + /** + * @param textField The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + * @return builder + * + */ + public Builder textField(Output textField) { + $.textField = textField; + return this; + } + + /** + * @param textField The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + * @return builder + * + */ + public Builder textField(String textField) { + return textField(Output.of(textField)); + } + + /** + * @param vectorField The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + * @return builder + * + */ + public Builder vectorField(Output vectorField) { + $.vectorField = vectorField; + return this; + } + + /** + * @param vectorField The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + * @return builder + * + */ + public Builder vectorField(String vectorField) { + return vectorField(Output.of(vectorField)); + } + + public AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs build() { + if ($.metadataField == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs", "metadataField"); + } + if ($.primaryKeyField == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs", "primaryKeyField"); + } + if ($.textField == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs", "textField"); + } + if ($.vectorField == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs", "vectorField"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs.java new file mode 100644 index 00000000000..c589fdbdf4d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs.java @@ -0,0 +1,205 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.aws.bedrock.inputs.AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs; +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 AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs Empty = new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs(); + + /** + * The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + */ + @Import(name="credentialsSecretArn", required=true) + private Output credentialsSecretArn; + + /** + * @return The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + */ + public Output credentialsSecretArn() { + return this.credentialsSecretArn; + } + + /** + * The endpoint URL of the Redis Enterprise Cloud database. + * + */ + @Import(name="endpoint", required=true) + private Output endpoint; + + /** + * @return The endpoint URL of the Redis Enterprise Cloud database. + * + */ + public Output endpoint() { + return this.endpoint; + } + + /** + * Contains the names of the fields to which to map information about the vector store. + * + */ + @Import(name="fieldMapping") + private @Nullable Output fieldMapping; + + /** + * @return Contains the names of the fields to which to map information about the vector store. + * + */ + public Optional> fieldMapping() { + return Optional.ofNullable(this.fieldMapping); + } + + /** + * The name of the vector store. + * + */ + @Import(name="vectorIndexName", required=true) + private Output vectorIndexName; + + /** + * @return The name of the vector store. + * + */ + public Output vectorIndexName() { + return this.vectorIndexName; + } + + private AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs() {} + + private AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs $) { + this.credentialsSecretArn = $.credentialsSecretArn; + this.endpoint = $.endpoint; + this.fieldMapping = $.fieldMapping; + this.vectorIndexName = $.vectorIndexName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs $; + + public Builder() { + $ = new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs(); + } + + public Builder(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs defaults) { + $ = new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param credentialsSecretArn The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + * @return builder + * + */ + public Builder credentialsSecretArn(Output credentialsSecretArn) { + $.credentialsSecretArn = credentialsSecretArn; + return this; + } + + /** + * @param credentialsSecretArn The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + * @return builder + * + */ + public Builder credentialsSecretArn(String credentialsSecretArn) { + return credentialsSecretArn(Output.of(credentialsSecretArn)); + } + + /** + * @param endpoint The endpoint URL of the Redis Enterprise Cloud database. + * + * @return builder + * + */ + public Builder endpoint(Output endpoint) { + $.endpoint = endpoint; + return this; + } + + /** + * @param endpoint The endpoint URL of the Redis Enterprise Cloud database. + * + * @return builder + * + */ + public Builder endpoint(String endpoint) { + return endpoint(Output.of(endpoint)); + } + + /** + * @param fieldMapping Contains the names of the fields to which to map information about the vector store. + * + * @return builder + * + */ + public Builder fieldMapping(@Nullable Output fieldMapping) { + $.fieldMapping = fieldMapping; + return this; + } + + /** + * @param fieldMapping Contains the names of the fields to which to map information about the vector store. + * + * @return builder + * + */ + public Builder fieldMapping(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs fieldMapping) { + return fieldMapping(Output.of(fieldMapping)); + } + + /** + * @param vectorIndexName The name of the vector store. + * + * @return builder + * + */ + public Builder vectorIndexName(Output vectorIndexName) { + $.vectorIndexName = vectorIndexName; + return this; + } + + /** + * @param vectorIndexName The name of the vector store. + * + * @return builder + * + */ + public Builder vectorIndexName(String vectorIndexName) { + return vectorIndexName(Output.of(vectorIndexName)); + } + + public AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs build() { + if ($.credentialsSecretArn == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs", "credentialsSecretArn"); + } + if ($.endpoint == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs", "endpoint"); + } + if ($.vectorIndexName == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs", "vectorIndexName"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs.java new file mode 100644 index 00000000000..fccc43cad0e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs Empty = new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs(); + + /** + * The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + @Import(name="metadataField") + private @Nullable Output metadataField; + + /** + * @return The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + public Optional> metadataField() { + return Optional.ofNullable(this.metadataField); + } + + /** + * The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + @Import(name="textField") + private @Nullable Output textField; + + /** + * @return The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + public Optional> textField() { + return Optional.ofNullable(this.textField); + } + + /** + * The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + */ + @Import(name="vectorField") + private @Nullable Output vectorField; + + /** + * @return The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + */ + public Optional> vectorField() { + return Optional.ofNullable(this.vectorField); + } + + private AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs() {} + + private AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs $) { + this.metadataField = $.metadataField; + this.textField = $.textField; + this.vectorField = $.vectorField; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs $; + + public Builder() { + $ = new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs(); + } + + public Builder(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs defaults) { + $ = new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param metadataField The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + * @return builder + * + */ + public Builder metadataField(@Nullable Output metadataField) { + $.metadataField = metadataField; + return this; + } + + /** + * @param metadataField The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + * @return builder + * + */ + public Builder metadataField(String metadataField) { + return metadataField(Output.of(metadataField)); + } + + /** + * @param textField The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + * @return builder + * + */ + public Builder textField(@Nullable Output textField) { + $.textField = textField; + return this; + } + + /** + * @param textField The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + * @return builder + * + */ + public Builder textField(String textField) { + return textField(Output.of(textField)); + } + + /** + * @param vectorField The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + * @return builder + * + */ + public Builder vectorField(@Nullable Output vectorField) { + $.vectorField = vectorField; + return this; + } + + /** + * @param vectorField The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + * @return builder + * + */ + public Builder vectorField(String vectorField) { + return vectorField(Output.of(vectorField)); + } + + public AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseTimeoutsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseTimeoutsArgs.java new file mode 100644 index 00000000000..567d7e326fe --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/inputs/AgentKnowledgeBaseTimeoutsArgs.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AgentKnowledgeBaseTimeoutsArgs extends com.pulumi.resources.ResourceArgs { + + public static final AgentKnowledgeBaseTimeoutsArgs Empty = new AgentKnowledgeBaseTimeoutsArgs(); + + /** + * A string that can be [parsed as a duration](https://pkg.go.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 AgentKnowledgeBaseTimeoutsArgs() {} + + private AgentKnowledgeBaseTimeoutsArgs(AgentKnowledgeBaseTimeoutsArgs $) { + this.create = $.create; + this.delete = $.delete; + this.update = $.update; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AgentKnowledgeBaseTimeoutsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AgentKnowledgeBaseTimeoutsArgs $; + + public Builder() { + $ = new AgentKnowledgeBaseTimeoutsArgs(); + } + + public Builder(AgentKnowledgeBaseTimeoutsArgs defaults) { + $ = new AgentKnowledgeBaseTimeoutsArgs(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 AgentKnowledgeBaseTimeoutsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentActionGroupActionGroupExecutor.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentActionGroupActionGroupExecutor.java new file mode 100644 index 00000000000..d27ed9c2f32 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentActionGroupActionGroupExecutor.java @@ -0,0 +1,57 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AgentAgentActionGroupActionGroupExecutor { + /** + * @return ARN of the Lambda that defines the business logic for the action group. + * + */ + private @Nullable String lambda; + + private AgentAgentActionGroupActionGroupExecutor() {} + /** + * @return ARN of the Lambda that defines the business logic for the action group. + * + */ + public Optional lambda() { + return Optional.ofNullable(this.lambda); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentAgentActionGroupActionGroupExecutor defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String lambda; + public Builder() {} + public Builder(AgentAgentActionGroupActionGroupExecutor defaults) { + Objects.requireNonNull(defaults); + this.lambda = defaults.lambda; + } + + @CustomType.Setter + public Builder lambda(@Nullable String lambda) { + + this.lambda = lambda; + return this; + } + public AgentAgentActionGroupActionGroupExecutor build() { + final var _resultValue = new AgentAgentActionGroupActionGroupExecutor(); + _resultValue.lambda = lambda; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentActionGroupApiSchema.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentActionGroupApiSchema.java new file mode 100644 index 00000000000..3e1dcc2d92c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentActionGroupApiSchema.java @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.aws.bedrock.outputs.AgentAgentActionGroupApiSchemaS3; +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 AgentAgentActionGroupApiSchema { + /** + * @return YAML or JSON OpenAPI Schema. + * + */ + private @Nullable String payload; + /** + * @return Configuration of S3 schema location + * + */ + private @Nullable AgentAgentActionGroupApiSchemaS3 s3; + + private AgentAgentActionGroupApiSchema() {} + /** + * @return YAML or JSON OpenAPI Schema. + * + */ + public Optional payload() { + return Optional.ofNullable(this.payload); + } + /** + * @return Configuration of S3 schema location + * + */ + public Optional s3() { + return Optional.ofNullable(this.s3); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentAgentActionGroupApiSchema defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String payload; + private @Nullable AgentAgentActionGroupApiSchemaS3 s3; + public Builder() {} + public Builder(AgentAgentActionGroupApiSchema defaults) { + Objects.requireNonNull(defaults); + this.payload = defaults.payload; + this.s3 = defaults.s3; + } + + @CustomType.Setter + public Builder payload(@Nullable String payload) { + + this.payload = payload; + return this; + } + @CustomType.Setter + public Builder s3(@Nullable AgentAgentActionGroupApiSchemaS3 s3) { + + this.s3 = s3; + return this; + } + public AgentAgentActionGroupApiSchema build() { + final var _resultValue = new AgentAgentActionGroupApiSchema(); + _resultValue.payload = payload; + _resultValue.s3 = s3; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentActionGroupApiSchemaS3.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentActionGroupApiSchemaS3.java new file mode 100644 index 00000000000..f20d3522db9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentActionGroupApiSchemaS3.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AgentAgentActionGroupApiSchemaS3 { + /** + * @return The S3 bucket name that contains the OpenAPI Schema. + * + */ + private @Nullable String s3BucketName; + /** + * @return The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + * + * The following arguments are optional: + * + */ + private @Nullable String s3ObjectKey; + + private AgentAgentActionGroupApiSchemaS3() {} + /** + * @return The S3 bucket name that contains the OpenAPI Schema. + * + */ + public Optional s3BucketName() { + return Optional.ofNullable(this.s3BucketName); + } + /** + * @return The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + * + * The following arguments are optional: + * + */ + public Optional s3ObjectKey() { + return Optional.ofNullable(this.s3ObjectKey); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentAgentActionGroupApiSchemaS3 defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String s3BucketName; + private @Nullable String s3ObjectKey; + public Builder() {} + public Builder(AgentAgentActionGroupApiSchemaS3 defaults) { + Objects.requireNonNull(defaults); + this.s3BucketName = defaults.s3BucketName; + this.s3ObjectKey = defaults.s3ObjectKey; + } + + @CustomType.Setter + public Builder s3BucketName(@Nullable String s3BucketName) { + + this.s3BucketName = s3BucketName; + return this; + } + @CustomType.Setter + public Builder s3ObjectKey(@Nullable String s3ObjectKey) { + + this.s3ObjectKey = s3ObjectKey; + return this; + } + public AgentAgentActionGroupApiSchemaS3 build() { + final var _resultValue = new AgentAgentActionGroupApiSchemaS3(); + _resultValue.s3BucketName = s3BucketName; + _resultValue.s3ObjectKey = s3ObjectKey; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentAliasRoutingConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentAliasRoutingConfiguration.java new file mode 100644 index 00000000000..fa2faa71baa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentAliasRoutingConfiguration.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class AgentAgentAliasRoutingConfiguration { + /** + * @return Version of the agent the alias routes to. + * + */ + private String agentVersion; + + private AgentAgentAliasRoutingConfiguration() {} + /** + * @return Version of the agent the alias routes to. + * + */ + public String agentVersion() { + return this.agentVersion; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentAgentAliasRoutingConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String agentVersion; + public Builder() {} + public Builder(AgentAgentAliasRoutingConfiguration defaults) { + Objects.requireNonNull(defaults); + this.agentVersion = defaults.agentVersion; + } + + @CustomType.Setter + public Builder agentVersion(String agentVersion) { + if (agentVersion == null) { + throw new MissingRequiredPropertyException("AgentAgentAliasRoutingConfiguration", "agentVersion"); + } + this.agentVersion = agentVersion; + return this; + } + public AgentAgentAliasRoutingConfiguration build() { + final var _resultValue = new AgentAgentAliasRoutingConfiguration(); + _resultValue.agentVersion = agentVersion; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentAliasTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentAliasTimeouts.java new file mode 100644 index 00000000000..b009cf6499b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentAliasTimeouts.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AgentAgentAliasTimeouts { + /** + * @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 AgentAgentAliasTimeouts() {} + /** + * @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(AgentAgentAliasTimeouts 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(AgentAgentAliasTimeouts 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 AgentAgentAliasTimeouts build() { + final var _resultValue = new AgentAgentAliasTimeouts(); + _resultValue.create = create; + _resultValue.delete = delete; + _resultValue.update = update; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentPromptOverrideConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentPromptOverrideConfiguration.java new file mode 100644 index 00000000000..f4c29f3facf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentPromptOverrideConfiguration.java @@ -0,0 +1,90 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Object; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class AgentAgentPromptOverrideConfiguration { + /** + * @return ARN of Lambda to use when parsing the raw foundation model output. + * + */ + private String overrideLambda; + /** + * @return List of prompt configurations. + * + * The following arguments are optional: + * + */ + private List promptConfigurations; + + private AgentAgentPromptOverrideConfiguration() {} + /** + * @return ARN of Lambda to use when parsing the raw foundation model output. + * + */ + public String overrideLambda() { + return this.overrideLambda; + } + /** + * @return List of prompt configurations. + * + * The following arguments are optional: + * + */ + public List promptConfigurations() { + return this.promptConfigurations; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentAgentPromptOverrideConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String overrideLambda; + private List promptConfigurations; + public Builder() {} + public Builder(AgentAgentPromptOverrideConfiguration defaults) { + Objects.requireNonNull(defaults); + this.overrideLambda = defaults.overrideLambda; + this.promptConfigurations = defaults.promptConfigurations; + } + + @CustomType.Setter + public Builder overrideLambda(String overrideLambda) { + if (overrideLambda == null) { + throw new MissingRequiredPropertyException("AgentAgentPromptOverrideConfiguration", "overrideLambda"); + } + this.overrideLambda = overrideLambda; + return this; + } + @CustomType.Setter + public Builder promptConfigurations(List promptConfigurations) { + if (promptConfigurations == null) { + throw new MissingRequiredPropertyException("AgentAgentPromptOverrideConfiguration", "promptConfigurations"); + } + this.promptConfigurations = promptConfigurations; + return this; + } + public Builder promptConfigurations(Object... promptConfigurations) { + return promptConfigurations(List.of(promptConfigurations)); + } + public AgentAgentPromptOverrideConfiguration build() { + final var _resultValue = new AgentAgentPromptOverrideConfiguration(); + _resultValue.overrideLambda = overrideLambda; + _resultValue.promptConfigurations = promptConfigurations; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentTimeouts.java new file mode 100644 index 00000000000..3d2ca262d19 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentAgentTimeouts.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AgentAgentTimeouts { + /** + * @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 AgentAgentTimeouts() {} + /** + * @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(AgentAgentTimeouts 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(AgentAgentTimeouts 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 AgentAgentTimeouts build() { + final var _resultValue = new AgentAgentTimeouts(); + _resultValue.create = create; + _resultValue.delete = delete; + _resultValue.update = update; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseKnowledgeBaseConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseKnowledgeBaseConfiguration.java new file mode 100644 index 00000000000..5efab1ba3dd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseKnowledgeBaseConfiguration.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.aws.bedrock.outputs.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AgentKnowledgeBaseKnowledgeBaseConfiguration { + /** + * @return The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + * + */ + private String type; + /** + * @return Contains details about the embeddings model that'sused to convert the data source. + * + */ + private @Nullable AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration vectorKnowledgeBaseConfiguration; + + private AgentKnowledgeBaseKnowledgeBaseConfiguration() {} + /** + * @return The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + * + */ + public String type() { + return this.type; + } + /** + * @return Contains details about the embeddings model that'sused to convert the data source. + * + */ + public Optional vectorKnowledgeBaseConfiguration() { + return Optional.ofNullable(this.vectorKnowledgeBaseConfiguration); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentKnowledgeBaseKnowledgeBaseConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String type; + private @Nullable AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration vectorKnowledgeBaseConfiguration; + public Builder() {} + public Builder(AgentKnowledgeBaseKnowledgeBaseConfiguration defaults) { + Objects.requireNonNull(defaults); + this.type = defaults.type; + this.vectorKnowledgeBaseConfiguration = defaults.vectorKnowledgeBaseConfiguration; + } + + @CustomType.Setter + public Builder type(String type) { + if (type == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseKnowledgeBaseConfiguration", "type"); + } + this.type = type; + return this; + } + @CustomType.Setter + public Builder vectorKnowledgeBaseConfiguration(@Nullable AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration vectorKnowledgeBaseConfiguration) { + + this.vectorKnowledgeBaseConfiguration = vectorKnowledgeBaseConfiguration; + return this; + } + public AgentKnowledgeBaseKnowledgeBaseConfiguration build() { + final var _resultValue = new AgentKnowledgeBaseKnowledgeBaseConfiguration(); + _resultValue.type = type; + _resultValue.vectorKnowledgeBaseConfiguration = vectorKnowledgeBaseConfiguration; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration.java new file mode 100644 index 00000000000..11a38b61c4d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration { + /** + * @return The ARN of the model used to create vector embeddings for the knowledge base. + * + */ + private String embeddingModelArn; + + private AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration() {} + /** + * @return The ARN of the model used to create vector embeddings for the knowledge base. + * + */ + public String embeddingModelArn() { + return this.embeddingModelArn; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String embeddingModelArn; + public Builder() {} + public Builder(AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration defaults) { + Objects.requireNonNull(defaults); + this.embeddingModelArn = defaults.embeddingModelArn; + } + + @CustomType.Setter + public Builder embeddingModelArn(String embeddingModelArn) { + if (embeddingModelArn == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration", "embeddingModelArn"); + } + this.embeddingModelArn = embeddingModelArn; + return this; + } + public AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration build() { + final var _resultValue = new AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration(); + _resultValue.embeddingModelArn = embeddingModelArn; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfiguration.java new file mode 100644 index 00000000000..1f8ba67443a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfiguration.java @@ -0,0 +1,148 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.aws.bedrock.outputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration; +import com.pulumi.aws.bedrock.outputs.AgentKnowledgeBaseStorageConfigurationPineconeConfiguration; +import com.pulumi.aws.bedrock.outputs.AgentKnowledgeBaseStorageConfigurationRdsConfiguration; +import com.pulumi.aws.bedrock.outputs.AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AgentKnowledgeBaseStorageConfiguration { + /** + * @return Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + * + */ + private @Nullable AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration opensearchServerlessConfiguration; + /** + * @return Contains the storage configuration of the knowledge base in Pinecone. + * + */ + private @Nullable AgentKnowledgeBaseStorageConfigurationPineconeConfiguration pineconeConfiguration; + /** + * @return Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + * + */ + private @Nullable AgentKnowledgeBaseStorageConfigurationRdsConfiguration rdsConfiguration; + /** + * @return Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + * + */ + private @Nullable AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration redisEnterpriseCloudConfiguration; + /** + * @return The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + * + */ + private String type; + + private AgentKnowledgeBaseStorageConfiguration() {} + /** + * @return Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + * + */ + public Optional opensearchServerlessConfiguration() { + return Optional.ofNullable(this.opensearchServerlessConfiguration); + } + /** + * @return Contains the storage configuration of the knowledge base in Pinecone. + * + */ + public Optional pineconeConfiguration() { + return Optional.ofNullable(this.pineconeConfiguration); + } + /** + * @return Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + * + */ + public Optional rdsConfiguration() { + return Optional.ofNullable(this.rdsConfiguration); + } + /** + * @return Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + * + */ + public Optional redisEnterpriseCloudConfiguration() { + return Optional.ofNullable(this.redisEnterpriseCloudConfiguration); + } + /** + * @return The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + * + */ + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentKnowledgeBaseStorageConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration opensearchServerlessConfiguration; + private @Nullable AgentKnowledgeBaseStorageConfigurationPineconeConfiguration pineconeConfiguration; + private @Nullable AgentKnowledgeBaseStorageConfigurationRdsConfiguration rdsConfiguration; + private @Nullable AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration redisEnterpriseCloudConfiguration; + private String type; + public Builder() {} + public Builder(AgentKnowledgeBaseStorageConfiguration defaults) { + Objects.requireNonNull(defaults); + this.opensearchServerlessConfiguration = defaults.opensearchServerlessConfiguration; + this.pineconeConfiguration = defaults.pineconeConfiguration; + this.rdsConfiguration = defaults.rdsConfiguration; + this.redisEnterpriseCloudConfiguration = defaults.redisEnterpriseCloudConfiguration; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder opensearchServerlessConfiguration(@Nullable AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration opensearchServerlessConfiguration) { + + this.opensearchServerlessConfiguration = opensearchServerlessConfiguration; + return this; + } + @CustomType.Setter + public Builder pineconeConfiguration(@Nullable AgentKnowledgeBaseStorageConfigurationPineconeConfiguration pineconeConfiguration) { + + this.pineconeConfiguration = pineconeConfiguration; + return this; + } + @CustomType.Setter + public Builder rdsConfiguration(@Nullable AgentKnowledgeBaseStorageConfigurationRdsConfiguration rdsConfiguration) { + + this.rdsConfiguration = rdsConfiguration; + return this; + } + @CustomType.Setter + public Builder redisEnterpriseCloudConfiguration(@Nullable AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration redisEnterpriseCloudConfiguration) { + + this.redisEnterpriseCloudConfiguration = redisEnterpriseCloudConfiguration; + return this; + } + @CustomType.Setter + public Builder type(String type) { + if (type == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfiguration", "type"); + } + this.type = type; + return this; + } + public AgentKnowledgeBaseStorageConfiguration build() { + final var _resultValue = new AgentKnowledgeBaseStorageConfiguration(); + _resultValue.opensearchServerlessConfiguration = opensearchServerlessConfiguration; + _resultValue.pineconeConfiguration = pineconeConfiguration; + _resultValue.rdsConfiguration = rdsConfiguration; + _resultValue.redisEnterpriseCloudConfiguration = redisEnterpriseCloudConfiguration; + _resultValue.type = type; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration.java new file mode 100644 index 00000000000..97ecfd9c314 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration.java @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.aws.bedrock.outputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration { + /** + * @return The ARN of the OpenSearch Service vector store. + * + */ + private String collectionArn; + /** + * @return Contains the names of the fields to which to map information about the vector store. + * + */ + private @Nullable AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping fieldMapping; + /** + * @return The name of the vector store. + * + */ + private String vectorIndexName; + + private AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration() {} + /** + * @return The ARN of the OpenSearch Service vector store. + * + */ + public String collectionArn() { + return this.collectionArn; + } + /** + * @return Contains the names of the fields to which to map information about the vector store. + * + */ + public Optional fieldMapping() { + return Optional.ofNullable(this.fieldMapping); + } + /** + * @return The name of the vector store. + * + */ + public String vectorIndexName() { + return this.vectorIndexName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String collectionArn; + private @Nullable AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping fieldMapping; + private String vectorIndexName; + public Builder() {} + public Builder(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration defaults) { + Objects.requireNonNull(defaults); + this.collectionArn = defaults.collectionArn; + this.fieldMapping = defaults.fieldMapping; + this.vectorIndexName = defaults.vectorIndexName; + } + + @CustomType.Setter + public Builder collectionArn(String collectionArn) { + if (collectionArn == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration", "collectionArn"); + } + this.collectionArn = collectionArn; + return this; + } + @CustomType.Setter + public Builder fieldMapping(@Nullable AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping fieldMapping) { + + this.fieldMapping = fieldMapping; + return this; + } + @CustomType.Setter + public Builder vectorIndexName(String vectorIndexName) { + if (vectorIndexName == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration", "vectorIndexName"); + } + this.vectorIndexName = vectorIndexName; + return this; + } + public AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration build() { + final var _resultValue = new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration(); + _resultValue.collectionArn = collectionArn; + _resultValue.fieldMapping = fieldMapping; + _resultValue.vectorIndexName = vectorIndexName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping.java new file mode 100644 index 00000000000..65a6f8011ee --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping { + /** + * @return The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + private @Nullable String metadataField; + /** + * @return The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + private @Nullable String textField; + /** + * @return The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + */ + private @Nullable String vectorField; + + private AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping() {} + /** + * @return The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + public Optional metadataField() { + return Optional.ofNullable(this.metadataField); + } + /** + * @return The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + public Optional textField() { + return Optional.ofNullable(this.textField); + } + /** + * @return The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + */ + public Optional vectorField() { + return Optional.ofNullable(this.vectorField); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String metadataField; + private @Nullable String textField; + private @Nullable String vectorField; + public Builder() {} + public Builder(AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping defaults) { + Objects.requireNonNull(defaults); + this.metadataField = defaults.metadataField; + this.textField = defaults.textField; + this.vectorField = defaults.vectorField; + } + + @CustomType.Setter + public Builder metadataField(@Nullable String metadataField) { + + this.metadataField = metadataField; + return this; + } + @CustomType.Setter + public Builder textField(@Nullable String textField) { + + this.textField = textField; + return this; + } + @CustomType.Setter + public Builder vectorField(@Nullable String vectorField) { + + this.vectorField = vectorField; + return this; + } + public AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping build() { + final var _resultValue = new AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping(); + _resultValue.metadataField = metadataField; + _resultValue.textField = textField; + _resultValue.vectorField = vectorField; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfiguration.java new file mode 100644 index 00000000000..5b6c685810c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfiguration.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.aws.bedrock.outputs.AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AgentKnowledgeBaseStorageConfigurationPineconeConfiguration { + /** + * @return The endpoint URL for your index management page. + * + */ + private String connectionString; + /** + * @return The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + */ + private String credentialsSecretArn; + /** + * @return Contains the names of the fields to which to map information about the vector store. + * + */ + private @Nullable AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping fieldMapping; + /** + * @return The namespace to be used to write new data to your database. + * + */ + private @Nullable String namespace; + + private AgentKnowledgeBaseStorageConfigurationPineconeConfiguration() {} + /** + * @return The endpoint URL for your index management page. + * + */ + public String connectionString() { + return this.connectionString; + } + /** + * @return The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + */ + public String credentialsSecretArn() { + return this.credentialsSecretArn; + } + /** + * @return Contains the names of the fields to which to map information about the vector store. + * + */ + public Optional fieldMapping() { + return Optional.ofNullable(this.fieldMapping); + } + /** + * @return The namespace to be used to write new data to your database. + * + */ + public Optional namespace() { + return Optional.ofNullable(this.namespace); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentKnowledgeBaseStorageConfigurationPineconeConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String connectionString; + private String credentialsSecretArn; + private @Nullable AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping fieldMapping; + private @Nullable String namespace; + public Builder() {} + public Builder(AgentKnowledgeBaseStorageConfigurationPineconeConfiguration defaults) { + Objects.requireNonNull(defaults); + this.connectionString = defaults.connectionString; + this.credentialsSecretArn = defaults.credentialsSecretArn; + this.fieldMapping = defaults.fieldMapping; + this.namespace = defaults.namespace; + } + + @CustomType.Setter + public Builder connectionString(String connectionString) { + if (connectionString == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationPineconeConfiguration", "connectionString"); + } + this.connectionString = connectionString; + return this; + } + @CustomType.Setter + public Builder credentialsSecretArn(String credentialsSecretArn) { + if (credentialsSecretArn == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationPineconeConfiguration", "credentialsSecretArn"); + } + this.credentialsSecretArn = credentialsSecretArn; + return this; + } + @CustomType.Setter + public Builder fieldMapping(@Nullable AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping fieldMapping) { + + this.fieldMapping = fieldMapping; + return this; + } + @CustomType.Setter + public Builder namespace(@Nullable String namespace) { + + this.namespace = namespace; + return this; + } + public AgentKnowledgeBaseStorageConfigurationPineconeConfiguration build() { + final var _resultValue = new AgentKnowledgeBaseStorageConfigurationPineconeConfiguration(); + _resultValue.connectionString = connectionString; + _resultValue.credentialsSecretArn = credentialsSecretArn; + _resultValue.fieldMapping = fieldMapping; + _resultValue.namespace = namespace; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping.java new file mode 100644 index 00000000000..7d75036b714 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping.java @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping { + /** + * @return The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + private @Nullable String metadataField; + /** + * @return The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + private @Nullable String textField; + + private AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping() {} + /** + * @return The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + public Optional metadataField() { + return Optional.ofNullable(this.metadataField); + } + /** + * @return The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + public Optional textField() { + return Optional.ofNullable(this.textField); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String metadataField; + private @Nullable String textField; + public Builder() {} + public Builder(AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping defaults) { + Objects.requireNonNull(defaults); + this.metadataField = defaults.metadataField; + this.textField = defaults.textField; + } + + @CustomType.Setter + public Builder metadataField(@Nullable String metadataField) { + + this.metadataField = metadataField; + return this; + } + @CustomType.Setter + public Builder textField(@Nullable String textField) { + + this.textField = textField; + return this; + } + public AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping build() { + final var _resultValue = new AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping(); + _resultValue.metadataField = metadataField; + _resultValue.textField = textField; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRdsConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRdsConfiguration.java new file mode 100644 index 00000000000..b3e8a70b4fa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRdsConfiguration.java @@ -0,0 +1,151 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.aws.bedrock.outputs.AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AgentKnowledgeBaseStorageConfigurationRdsConfiguration { + /** + * @return The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + */ + private String credentialsSecretArn; + /** + * @return The name of your Amazon RDS database. + * + */ + private String databaseName; + /** + * @return Contains the names of the fields to which to map information about the vector store. + * + */ + private @Nullable AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping fieldMapping; + /** + * @return The namespace to be used to write new data to your database. + * + */ + private String resourceArn; + /** + * @return The name of the table in the database. + * + */ + private String tableName; + + private AgentKnowledgeBaseStorageConfigurationRdsConfiguration() {} + /** + * @return The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + */ + public String credentialsSecretArn() { + return this.credentialsSecretArn; + } + /** + * @return The name of your Amazon RDS database. + * + */ + public String databaseName() { + return this.databaseName; + } + /** + * @return Contains the names of the fields to which to map information about the vector store. + * + */ + public Optional fieldMapping() { + return Optional.ofNullable(this.fieldMapping); + } + /** + * @return The namespace to be used to write new data to your database. + * + */ + public String resourceArn() { + return this.resourceArn; + } + /** + * @return The name of the table in the database. + * + */ + public String tableName() { + return this.tableName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentKnowledgeBaseStorageConfigurationRdsConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String credentialsSecretArn; + private String databaseName; + private @Nullable AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping fieldMapping; + private String resourceArn; + private String tableName; + public Builder() {} + public Builder(AgentKnowledgeBaseStorageConfigurationRdsConfiguration defaults) { + Objects.requireNonNull(defaults); + this.credentialsSecretArn = defaults.credentialsSecretArn; + this.databaseName = defaults.databaseName; + this.fieldMapping = defaults.fieldMapping; + this.resourceArn = defaults.resourceArn; + this.tableName = defaults.tableName; + } + + @CustomType.Setter + public Builder credentialsSecretArn(String credentialsSecretArn) { + if (credentialsSecretArn == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfiguration", "credentialsSecretArn"); + } + this.credentialsSecretArn = credentialsSecretArn; + return this; + } + @CustomType.Setter + public Builder databaseName(String databaseName) { + if (databaseName == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfiguration", "databaseName"); + } + this.databaseName = databaseName; + return this; + } + @CustomType.Setter + public Builder fieldMapping(@Nullable AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping fieldMapping) { + + this.fieldMapping = fieldMapping; + return this; + } + @CustomType.Setter + public Builder resourceArn(String resourceArn) { + if (resourceArn == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfiguration", "resourceArn"); + } + this.resourceArn = resourceArn; + return this; + } + @CustomType.Setter + public Builder tableName(String tableName) { + if (tableName == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfiguration", "tableName"); + } + this.tableName = tableName; + return this; + } + public AgentKnowledgeBaseStorageConfigurationRdsConfiguration build() { + final var _resultValue = new AgentKnowledgeBaseStorageConfigurationRdsConfiguration(); + _resultValue.credentialsSecretArn = credentialsSecretArn; + _resultValue.databaseName = databaseName; + _resultValue.fieldMapping = fieldMapping; + _resultValue.resourceArn = resourceArn; + _resultValue.tableName = tableName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping.java new file mode 100644 index 00000000000..20d8e11c684 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping.java @@ -0,0 +1,127 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping { + /** + * @return The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + private String metadataField; + /** + * @return The name of the field in which Amazon Bedrock stores the ID for each entry. + * + */ + private String primaryKeyField; + /** + * @return The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + private String textField; + /** + * @return The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + */ + private String vectorField; + + private AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping() {} + /** + * @return The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + public String metadataField() { + return this.metadataField; + } + /** + * @return The name of the field in which Amazon Bedrock stores the ID for each entry. + * + */ + public String primaryKeyField() { + return this.primaryKeyField; + } + /** + * @return The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + public String textField() { + return this.textField; + } + /** + * @return The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + */ + public String vectorField() { + return this.vectorField; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String metadataField; + private String primaryKeyField; + private String textField; + private String vectorField; + public Builder() {} + public Builder(AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping defaults) { + Objects.requireNonNull(defaults); + this.metadataField = defaults.metadataField; + this.primaryKeyField = defaults.primaryKeyField; + this.textField = defaults.textField; + this.vectorField = defaults.vectorField; + } + + @CustomType.Setter + public Builder metadataField(String metadataField) { + if (metadataField == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping", "metadataField"); + } + this.metadataField = metadataField; + return this; + } + @CustomType.Setter + public Builder primaryKeyField(String primaryKeyField) { + if (primaryKeyField == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping", "primaryKeyField"); + } + this.primaryKeyField = primaryKeyField; + return this; + } + @CustomType.Setter + public Builder textField(String textField) { + if (textField == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping", "textField"); + } + this.textField = textField; + return this; + } + @CustomType.Setter + public Builder vectorField(String vectorField) { + if (vectorField == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping", "vectorField"); + } + this.vectorField = vectorField; + return this; + } + public AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping build() { + final var _resultValue = new AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping(); + _resultValue.metadataField = metadataField; + _resultValue.primaryKeyField = primaryKeyField; + _resultValue.textField = textField; + _resultValue.vectorField = vectorField; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration.java new file mode 100644 index 00000000000..d69ae7e35d7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration.java @@ -0,0 +1,128 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.aws.bedrock.outputs.AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration { + /** + * @return The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + */ + private String credentialsSecretArn; + /** + * @return The endpoint URL of the Redis Enterprise Cloud database. + * + */ + private String endpoint; + /** + * @return Contains the names of the fields to which to map information about the vector store. + * + */ + private @Nullable AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping fieldMapping; + /** + * @return The name of the vector store. + * + */ + private String vectorIndexName; + + private AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration() {} + /** + * @return The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + * + */ + public String credentialsSecretArn() { + return this.credentialsSecretArn; + } + /** + * @return The endpoint URL of the Redis Enterprise Cloud database. + * + */ + public String endpoint() { + return this.endpoint; + } + /** + * @return Contains the names of the fields to which to map information about the vector store. + * + */ + public Optional fieldMapping() { + return Optional.ofNullable(this.fieldMapping); + } + /** + * @return The name of the vector store. + * + */ + public String vectorIndexName() { + return this.vectorIndexName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String credentialsSecretArn; + private String endpoint; + private @Nullable AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping fieldMapping; + private String vectorIndexName; + public Builder() {} + public Builder(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration defaults) { + Objects.requireNonNull(defaults); + this.credentialsSecretArn = defaults.credentialsSecretArn; + this.endpoint = defaults.endpoint; + this.fieldMapping = defaults.fieldMapping; + this.vectorIndexName = defaults.vectorIndexName; + } + + @CustomType.Setter + public Builder credentialsSecretArn(String credentialsSecretArn) { + if (credentialsSecretArn == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration", "credentialsSecretArn"); + } + this.credentialsSecretArn = credentialsSecretArn; + return this; + } + @CustomType.Setter + public Builder endpoint(String endpoint) { + if (endpoint == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration", "endpoint"); + } + this.endpoint = endpoint; + return this; + } + @CustomType.Setter + public Builder fieldMapping(@Nullable AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping fieldMapping) { + + this.fieldMapping = fieldMapping; + return this; + } + @CustomType.Setter + public Builder vectorIndexName(String vectorIndexName) { + if (vectorIndexName == null) { + throw new MissingRequiredPropertyException("AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration", "vectorIndexName"); + } + this.vectorIndexName = vectorIndexName; + return this; + } + public AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration build() { + final var _resultValue = new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration(); + _resultValue.credentialsSecretArn = credentialsSecretArn; + _resultValue.endpoint = endpoint; + _resultValue.fieldMapping = fieldMapping; + _resultValue.vectorIndexName = vectorIndexName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping.java new file mode 100644 index 00000000000..079af89f86c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping { + /** + * @return The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + private @Nullable String metadataField; + /** + * @return The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + private @Nullable String textField; + /** + * @return The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + */ + private @Nullable String vectorField; + + private AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping() {} + /** + * @return The name of the field in which Amazon Bedrock stores metadata about the vector store. + * + */ + public Optional metadataField() { + return Optional.ofNullable(this.metadataField); + } + /** + * @return The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + * + */ + public Optional textField() { + return Optional.ofNullable(this.textField); + } + /** + * @return The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + * + */ + public Optional vectorField() { + return Optional.ofNullable(this.vectorField); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String metadataField; + private @Nullable String textField; + private @Nullable String vectorField; + public Builder() {} + public Builder(AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping defaults) { + Objects.requireNonNull(defaults); + this.metadataField = defaults.metadataField; + this.textField = defaults.textField; + this.vectorField = defaults.vectorField; + } + + @CustomType.Setter + public Builder metadataField(@Nullable String metadataField) { + + this.metadataField = metadataField; + return this; + } + @CustomType.Setter + public Builder textField(@Nullable String textField) { + + this.textField = textField; + return this; + } + @CustomType.Setter + public Builder vectorField(@Nullable String vectorField) { + + this.vectorField = vectorField; + return this; + } + public AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping build() { + final var _resultValue = new AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping(); + _resultValue.metadataField = metadataField; + _resultValue.textField = textField; + _resultValue.vectorField = vectorField; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseTimeouts.java b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseTimeouts.java new file mode 100644 index 00000000000..56f6798c0dd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/bedrock/outputs/AgentKnowledgeBaseTimeouts.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.bedrock.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AgentKnowledgeBaseTimeouts { + /** + * @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 AgentKnowledgeBaseTimeouts() {} + /** + * @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(AgentKnowledgeBaseTimeouts 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(AgentKnowledgeBaseTimeouts 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 AgentKnowledgeBaseTimeouts build() { + final var _resultValue = new AgentKnowledgeBaseTimeouts(); + _resultValue.create = create; + _resultValue.delete = delete; + _resultValue.update = update; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSet.java b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSet.java index a3a5d0572f4..1025b96a803 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSet.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudformation/StackSet.java @@ -26,6 +26,8 @@ * * > **NOTE:** All `NoEcho` template parameters must be ignored with the `lifecycle` configuration block `ignore_changes` argument. * + * > **NOTE:** When using a delegated administrator account, ensure that your IAM User or Role has the `organizations:ListDelegatedAdministrators` permission. Otherwise, you may get an error like `ValidationError: Account used is not a delegated administrator`. + * * ## Example Usage * * <!--Start PulumiCodeChooser --> diff --git a/sdk/java/src/main/java/com/pulumi/aws/codecommit/Repository.java b/sdk/java/src/main/java/com/pulumi/aws/codecommit/Repository.java index 326f4a86912..8e4548a7b30 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codecommit/Repository.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codecommit/Repository.java @@ -176,14 +176,14 @@ public Output> description() { return Codegen.optional(this.description); } /** - * The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + * The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. * */ @Export(name="kmsKeyId", refs={String.class}, tree="[0]") private Output kmsKeyId; /** - * @return The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + * @return The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. * */ public Output kmsKeyId() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/codecommit/RepositoryArgs.java b/sdk/java/src/main/java/com/pulumi/aws/codecommit/RepositoryArgs.java index c81196d8333..3ad1f0a45df 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codecommit/RepositoryArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codecommit/RepositoryArgs.java @@ -48,14 +48,14 @@ public Optional> description() { } /** - * The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + * The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. * */ @Import(name="kmsKeyId") private @Nullable Output kmsKeyId; /** - * @return The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + * @return The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. * */ public Optional> kmsKeyId() { @@ -163,7 +163,7 @@ public Builder description(String description) { } /** - * @param kmsKeyId The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + * @param kmsKeyId The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. * * @return builder * @@ -174,7 +174,7 @@ public Builder kmsKeyId(@Nullable Output kmsKeyId) { } /** - * @param kmsKeyId The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + * @param kmsKeyId The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/codecommit/inputs/RepositoryState.java b/sdk/java/src/main/java/com/pulumi/aws/codecommit/inputs/RepositoryState.java index 835e1df6d03..b3ba05c12fe 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/codecommit/inputs/RepositoryState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/codecommit/inputs/RepositoryState.java @@ -92,14 +92,14 @@ public Optional> description() { } /** - * The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + * The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. * */ @Import(name="kmsKeyId") private @Nullable Output kmsKeyId; /** - * @return The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + * @return The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. * */ public Optional> kmsKeyId() { @@ -313,7 +313,7 @@ public Builder description(String description) { } /** - * @param kmsKeyId The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + * @param kmsKeyId The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. * * @return builder * @@ -324,7 +324,7 @@ public Builder kmsKeyId(@Nullable Output kmsKeyId) { } /** - * @param kmsKeyId The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + * @param kmsKeyId The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. * * @return builder * 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 395755c0447..2a0e71fd64e 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 @@ -1131,6 +1131,11 @@ public final class Endpoints { * */ private @Nullable String route53domains; + /** + * @return Use this to override the default service endpoint URL + * + */ + private @Nullable String route53profiles; /** * @return Use this to override the default service endpoint URL * @@ -2971,6 +2976,13 @@ public Optional route53() { public Optional route53domains() { return Optional.ofNullable(this.route53domains); } + /** + * @return Use this to override the default service endpoint URL + * + */ + public Optional route53profiles() { + return Optional.ofNullable(this.route53profiles); + } /** * @return Use this to override the default service endpoint URL * @@ -3583,6 +3595,7 @@ public static final class Builder { private @Nullable String rolesanywhere; private @Nullable String route53; private @Nullable String route53domains; + private @Nullable String route53profiles; private @Nullable String route53recoverycontrolconfig; private @Nullable String route53recoveryreadiness; private @Nullable String route53resolver; @@ -3864,6 +3877,7 @@ public Builder(Endpoints defaults) { this.rolesanywhere = defaults.rolesanywhere; this.route53 = defaults.route53; this.route53domains = defaults.route53domains; + this.route53profiles = defaults.route53profiles; this.route53recoverycontrolconfig = defaults.route53recoverycontrolconfig; this.route53recoveryreadiness = defaults.route53recoveryreadiness; this.route53resolver = defaults.route53resolver; @@ -5265,6 +5279,12 @@ public Builder route53domains(@Nullable String route53domains) { return this; } @CustomType.Setter + public Builder route53profiles(@Nullable String route53profiles) { + + this.route53profiles = route53profiles; + return this; + } + @CustomType.Setter public Builder route53recoverycontrolconfig(@Nullable String route53recoverycontrolconfig) { this.route53recoverycontrolconfig = route53recoverycontrolconfig; @@ -5814,6 +5834,7 @@ public Endpoints build() { _resultValue.rolesanywhere = rolesanywhere; _resultValue.route53 = route53; _resultValue.route53domains = route53domains; + _resultValue.route53profiles = route53profiles; _resultValue.route53recoverycontrolconfig = route53recoverycontrolconfig; _resultValue.route53recoveryreadiness = route53recoveryreadiness; _resultValue.route53resolver = route53resolver; diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndArgs.java new file mode 100644 index 00000000000..c45611bda10 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndArgs.java @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.costexplorer.inputs; + +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleAndAndCostCategoryArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleAndAndDimensionArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleAndAndTagsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleAndAndArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleAndAndArgs Empty = new CostCategoryRuleRuleAndAndArgs(); + + @Import(name="costCategory") + private @Nullable Output costCategory; + + public Optional> costCategory() { + return Optional.ofNullable(this.costCategory); + } + + @Import(name="dimension") + private @Nullable Output dimension; + + public Optional> dimension() { + return Optional.ofNullable(this.dimension); + } + + /** + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output tags; + + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + private CostCategoryRuleRuleAndAndArgs() {} + + private CostCategoryRuleRuleAndAndArgs(CostCategoryRuleRuleAndAndArgs $) { + this.costCategory = $.costCategory; + this.dimension = $.dimension; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleAndAndArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleAndAndArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleAndAndArgs(); + } + + public Builder(CostCategoryRuleRuleAndAndArgs defaults) { + $ = new CostCategoryRuleRuleAndAndArgs(Objects.requireNonNull(defaults)); + } + + public Builder costCategory(@Nullable Output costCategory) { + $.costCategory = costCategory; + return this; + } + + public Builder costCategory(CostCategoryRuleRuleAndAndCostCategoryArgs costCategory) { + return costCategory(Output.of(costCategory)); + } + + public Builder dimension(@Nullable Output dimension) { + $.dimension = dimension; + return this; + } + + public Builder dimension(CostCategoryRuleRuleAndAndDimensionArgs dimension) { + return dimension(Output.of(dimension)); + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(CostCategoryRuleRuleAndAndTagsArgs tags) { + return tags(Output.of(tags)); + } + + public CostCategoryRuleRuleAndAndArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndCostCategoryArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndCostCategoryArgs.java new file mode 100644 index 00000000000..0ef80c386e2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndCostCategoryArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleAndAndCostCategoryArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleAndAndCostCategoryArgs Empty = new CostCategoryRuleRuleAndAndCostCategoryArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleAndAndCostCategoryArgs() {} + + private CostCategoryRuleRuleAndAndCostCategoryArgs(CostCategoryRuleRuleAndAndCostCategoryArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleAndAndCostCategoryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleAndAndCostCategoryArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleAndAndCostCategoryArgs(); + } + + public Builder(CostCategoryRuleRuleAndAndCostCategoryArgs defaults) { + $ = new CostCategoryRuleRuleAndAndCostCategoryArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleAndAndCostCategoryArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndDimensionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndDimensionArgs.java new file mode 100644 index 00000000000..5846fe5ccf1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndDimensionArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleAndAndDimensionArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleAndAndDimensionArgs Empty = new CostCategoryRuleRuleAndAndDimensionArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleAndAndDimensionArgs() {} + + private CostCategoryRuleRuleAndAndDimensionArgs(CostCategoryRuleRuleAndAndDimensionArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleAndAndDimensionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleAndAndDimensionArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleAndAndDimensionArgs(); + } + + public Builder(CostCategoryRuleRuleAndAndDimensionArgs defaults) { + $ = new CostCategoryRuleRuleAndAndDimensionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleAndAndDimensionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndTagsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndTagsArgs.java new file mode 100644 index 00000000000..1dcc39f2f21 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndAndTagsArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleAndAndTagsArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleAndAndTagsArgs Empty = new CostCategoryRuleRuleAndAndTagsArgs(); + + /** + * Key for the tag. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Key for the tag. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleAndAndTagsArgs() {} + + private CostCategoryRuleRuleAndAndTagsArgs(CostCategoryRuleRuleAndAndTagsArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleAndAndTagsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleAndAndTagsArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleAndAndTagsArgs(); + } + + public Builder(CostCategoryRuleRuleAndAndTagsArgs defaults) { + $ = new CostCategoryRuleRuleAndAndTagsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleAndAndTagsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndArgs.java index dd6b30a6d8e..f6aa09290dd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndArgs.java @@ -3,11 +3,15 @@ package com.pulumi.aws.costexplorer.inputs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleAndAndArgs; import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleAndCostCategoryArgs; import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleAndDimensionArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleAndNotArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleAndOrArgs; import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleAndTagsArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -17,6 +21,13 @@ public final class CostCategoryRuleRuleAndArgs extends com.pulumi.resources.Reso public static final CostCategoryRuleRuleAndArgs Empty = new CostCategoryRuleRuleAndArgs(); + @Import(name="ands") + private @Nullable Output> ands; + + public Optional>> ands() { + return Optional.ofNullable(this.ands); + } + @Import(name="costCategory") private @Nullable Output costCategory; @@ -31,6 +42,20 @@ public Optional> dimension() { return Optional.ofNullable(this.dimension); } + @Import(name="not") + private @Nullable Output not; + + public Optional> not() { + return Optional.ofNullable(this.not); + } + + @Import(name="ors") + private @Nullable Output> ors; + + public Optional>> ors() { + return Optional.ofNullable(this.ors); + } + /** * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * @@ -49,8 +74,11 @@ public Optional> tags() { private CostCategoryRuleRuleAndArgs() {} private CostCategoryRuleRuleAndArgs(CostCategoryRuleRuleAndArgs $) { + this.ands = $.ands; this.costCategory = $.costCategory; this.dimension = $.dimension; + this.not = $.not; + this.ors = $.ors; this.tags = $.tags; } @@ -72,6 +100,19 @@ public Builder(CostCategoryRuleRuleAndArgs defaults) { $ = new CostCategoryRuleRuleAndArgs(Objects.requireNonNull(defaults)); } + public Builder ands(@Nullable Output> ands) { + $.ands = ands; + return this; + } + + public Builder ands(List ands) { + return ands(Output.of(ands)); + } + + public Builder ands(CostCategoryRuleRuleAndAndArgs... ands) { + return ands(List.of(ands)); + } + public Builder costCategory(@Nullable Output costCategory) { $.costCategory = costCategory; return this; @@ -90,6 +131,28 @@ public Builder dimension(CostCategoryRuleRuleAndDimensionArgs dimension) { return dimension(Output.of(dimension)); } + public Builder not(@Nullable Output not) { + $.not = not; + return this; + } + + public Builder not(CostCategoryRuleRuleAndNotArgs not) { + return not(Output.of(not)); + } + + public Builder ors(@Nullable Output> ors) { + $.ors = ors; + return this; + } + + public Builder ors(List ors) { + return ors(Output.of(ors)); + } + + public Builder ors(CostCategoryRuleRuleAndOrArgs... ors) { + return ors(List.of(ors)); + } + /** * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotArgs.java new file mode 100644 index 00000000000..74a961f2ecf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotArgs.java @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.costexplorer.inputs; + +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleAndNotCostCategoryArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleAndNotDimensionArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleAndNotTagsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleAndNotArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleAndNotArgs Empty = new CostCategoryRuleRuleAndNotArgs(); + + @Import(name="costCategory") + private @Nullable Output costCategory; + + public Optional> costCategory() { + return Optional.ofNullable(this.costCategory); + } + + @Import(name="dimension") + private @Nullable Output dimension; + + public Optional> dimension() { + return Optional.ofNullable(this.dimension); + } + + /** + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output tags; + + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + private CostCategoryRuleRuleAndNotArgs() {} + + private CostCategoryRuleRuleAndNotArgs(CostCategoryRuleRuleAndNotArgs $) { + this.costCategory = $.costCategory; + this.dimension = $.dimension; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleAndNotArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleAndNotArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleAndNotArgs(); + } + + public Builder(CostCategoryRuleRuleAndNotArgs defaults) { + $ = new CostCategoryRuleRuleAndNotArgs(Objects.requireNonNull(defaults)); + } + + public Builder costCategory(@Nullable Output costCategory) { + $.costCategory = costCategory; + return this; + } + + public Builder costCategory(CostCategoryRuleRuleAndNotCostCategoryArgs costCategory) { + return costCategory(Output.of(costCategory)); + } + + public Builder dimension(@Nullable Output dimension) { + $.dimension = dimension; + return this; + } + + public Builder dimension(CostCategoryRuleRuleAndNotDimensionArgs dimension) { + return dimension(Output.of(dimension)); + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(CostCategoryRuleRuleAndNotTagsArgs tags) { + return tags(Output.of(tags)); + } + + public CostCategoryRuleRuleAndNotArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotCostCategoryArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotCostCategoryArgs.java new file mode 100644 index 00000000000..380d3712650 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotCostCategoryArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleAndNotCostCategoryArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleAndNotCostCategoryArgs Empty = new CostCategoryRuleRuleAndNotCostCategoryArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleAndNotCostCategoryArgs() {} + + private CostCategoryRuleRuleAndNotCostCategoryArgs(CostCategoryRuleRuleAndNotCostCategoryArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleAndNotCostCategoryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleAndNotCostCategoryArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleAndNotCostCategoryArgs(); + } + + public Builder(CostCategoryRuleRuleAndNotCostCategoryArgs defaults) { + $ = new CostCategoryRuleRuleAndNotCostCategoryArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleAndNotCostCategoryArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotDimensionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotDimensionArgs.java new file mode 100644 index 00000000000..432bcf9b0d8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotDimensionArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleAndNotDimensionArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleAndNotDimensionArgs Empty = new CostCategoryRuleRuleAndNotDimensionArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleAndNotDimensionArgs() {} + + private CostCategoryRuleRuleAndNotDimensionArgs(CostCategoryRuleRuleAndNotDimensionArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleAndNotDimensionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleAndNotDimensionArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleAndNotDimensionArgs(); + } + + public Builder(CostCategoryRuleRuleAndNotDimensionArgs defaults) { + $ = new CostCategoryRuleRuleAndNotDimensionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleAndNotDimensionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotTagsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotTagsArgs.java new file mode 100644 index 00000000000..a58fce0e8fd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndNotTagsArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleAndNotTagsArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleAndNotTagsArgs Empty = new CostCategoryRuleRuleAndNotTagsArgs(); + + /** + * Key for the tag. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Key for the tag. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleAndNotTagsArgs() {} + + private CostCategoryRuleRuleAndNotTagsArgs(CostCategoryRuleRuleAndNotTagsArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleAndNotTagsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleAndNotTagsArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleAndNotTagsArgs(); + } + + public Builder(CostCategoryRuleRuleAndNotTagsArgs defaults) { + $ = new CostCategoryRuleRuleAndNotTagsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleAndNotTagsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrArgs.java new file mode 100644 index 00000000000..9980b3d5bd7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrArgs.java @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.costexplorer.inputs; + +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleAndOrCostCategoryArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleAndOrDimensionArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleAndOrTagsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleAndOrArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleAndOrArgs Empty = new CostCategoryRuleRuleAndOrArgs(); + + @Import(name="costCategory") + private @Nullable Output costCategory; + + public Optional> costCategory() { + return Optional.ofNullable(this.costCategory); + } + + @Import(name="dimension") + private @Nullable Output dimension; + + public Optional> dimension() { + return Optional.ofNullable(this.dimension); + } + + /** + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output tags; + + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + private CostCategoryRuleRuleAndOrArgs() {} + + private CostCategoryRuleRuleAndOrArgs(CostCategoryRuleRuleAndOrArgs $) { + this.costCategory = $.costCategory; + this.dimension = $.dimension; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleAndOrArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleAndOrArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleAndOrArgs(); + } + + public Builder(CostCategoryRuleRuleAndOrArgs defaults) { + $ = new CostCategoryRuleRuleAndOrArgs(Objects.requireNonNull(defaults)); + } + + public Builder costCategory(@Nullable Output costCategory) { + $.costCategory = costCategory; + return this; + } + + public Builder costCategory(CostCategoryRuleRuleAndOrCostCategoryArgs costCategory) { + return costCategory(Output.of(costCategory)); + } + + public Builder dimension(@Nullable Output dimension) { + $.dimension = dimension; + return this; + } + + public Builder dimension(CostCategoryRuleRuleAndOrDimensionArgs dimension) { + return dimension(Output.of(dimension)); + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(CostCategoryRuleRuleAndOrTagsArgs tags) { + return tags(Output.of(tags)); + } + + public CostCategoryRuleRuleAndOrArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrCostCategoryArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrCostCategoryArgs.java new file mode 100644 index 00000000000..79647740e63 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrCostCategoryArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleAndOrCostCategoryArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleAndOrCostCategoryArgs Empty = new CostCategoryRuleRuleAndOrCostCategoryArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleAndOrCostCategoryArgs() {} + + private CostCategoryRuleRuleAndOrCostCategoryArgs(CostCategoryRuleRuleAndOrCostCategoryArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleAndOrCostCategoryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleAndOrCostCategoryArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleAndOrCostCategoryArgs(); + } + + public Builder(CostCategoryRuleRuleAndOrCostCategoryArgs defaults) { + $ = new CostCategoryRuleRuleAndOrCostCategoryArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleAndOrCostCategoryArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrDimensionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrDimensionArgs.java new file mode 100644 index 00000000000..5b65eace61e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrDimensionArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleAndOrDimensionArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleAndOrDimensionArgs Empty = new CostCategoryRuleRuleAndOrDimensionArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleAndOrDimensionArgs() {} + + private CostCategoryRuleRuleAndOrDimensionArgs(CostCategoryRuleRuleAndOrDimensionArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleAndOrDimensionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleAndOrDimensionArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleAndOrDimensionArgs(); + } + + public Builder(CostCategoryRuleRuleAndOrDimensionArgs defaults) { + $ = new CostCategoryRuleRuleAndOrDimensionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleAndOrDimensionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrTagsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrTagsArgs.java new file mode 100644 index 00000000000..83a362d1ef1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleAndOrTagsArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleAndOrTagsArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleAndOrTagsArgs Empty = new CostCategoryRuleRuleAndOrTagsArgs(); + + /** + * Key for the tag. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Key for the tag. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleAndOrTagsArgs() {} + + private CostCategoryRuleRuleAndOrTagsArgs(CostCategoryRuleRuleAndOrTagsArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleAndOrTagsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleAndOrTagsArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleAndOrTagsArgs(); + } + + public Builder(CostCategoryRuleRuleAndOrTagsArgs defaults) { + $ = new CostCategoryRuleRuleAndOrTagsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleAndOrTagsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndArgs.java new file mode 100644 index 00000000000..bbb703305d8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndArgs.java @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.costexplorer.inputs; + +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleNotAndCostCategoryArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleNotAndDimensionArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleNotAndTagsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleNotAndArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleNotAndArgs Empty = new CostCategoryRuleRuleNotAndArgs(); + + @Import(name="costCategory") + private @Nullable Output costCategory; + + public Optional> costCategory() { + return Optional.ofNullable(this.costCategory); + } + + @Import(name="dimension") + private @Nullable Output dimension; + + public Optional> dimension() { + return Optional.ofNullable(this.dimension); + } + + /** + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output tags; + + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + private CostCategoryRuleRuleNotAndArgs() {} + + private CostCategoryRuleRuleNotAndArgs(CostCategoryRuleRuleNotAndArgs $) { + this.costCategory = $.costCategory; + this.dimension = $.dimension; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleNotAndArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleNotAndArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleNotAndArgs(); + } + + public Builder(CostCategoryRuleRuleNotAndArgs defaults) { + $ = new CostCategoryRuleRuleNotAndArgs(Objects.requireNonNull(defaults)); + } + + public Builder costCategory(@Nullable Output costCategory) { + $.costCategory = costCategory; + return this; + } + + public Builder costCategory(CostCategoryRuleRuleNotAndCostCategoryArgs costCategory) { + return costCategory(Output.of(costCategory)); + } + + public Builder dimension(@Nullable Output dimension) { + $.dimension = dimension; + return this; + } + + public Builder dimension(CostCategoryRuleRuleNotAndDimensionArgs dimension) { + return dimension(Output.of(dimension)); + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(CostCategoryRuleRuleNotAndTagsArgs tags) { + return tags(Output.of(tags)); + } + + public CostCategoryRuleRuleNotAndArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndCostCategoryArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndCostCategoryArgs.java new file mode 100644 index 00000000000..9e2bf093936 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndCostCategoryArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleNotAndCostCategoryArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleNotAndCostCategoryArgs Empty = new CostCategoryRuleRuleNotAndCostCategoryArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleNotAndCostCategoryArgs() {} + + private CostCategoryRuleRuleNotAndCostCategoryArgs(CostCategoryRuleRuleNotAndCostCategoryArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleNotAndCostCategoryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleNotAndCostCategoryArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleNotAndCostCategoryArgs(); + } + + public Builder(CostCategoryRuleRuleNotAndCostCategoryArgs defaults) { + $ = new CostCategoryRuleRuleNotAndCostCategoryArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleNotAndCostCategoryArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndDimensionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndDimensionArgs.java new file mode 100644 index 00000000000..836aece0fc1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndDimensionArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleNotAndDimensionArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleNotAndDimensionArgs Empty = new CostCategoryRuleRuleNotAndDimensionArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleNotAndDimensionArgs() {} + + private CostCategoryRuleRuleNotAndDimensionArgs(CostCategoryRuleRuleNotAndDimensionArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleNotAndDimensionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleNotAndDimensionArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleNotAndDimensionArgs(); + } + + public Builder(CostCategoryRuleRuleNotAndDimensionArgs defaults) { + $ = new CostCategoryRuleRuleNotAndDimensionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleNotAndDimensionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndTagsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndTagsArgs.java new file mode 100644 index 00000000000..602cf7a8d86 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotAndTagsArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleNotAndTagsArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleNotAndTagsArgs Empty = new CostCategoryRuleRuleNotAndTagsArgs(); + + /** + * Key for the tag. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Key for the tag. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleNotAndTagsArgs() {} + + private CostCategoryRuleRuleNotAndTagsArgs(CostCategoryRuleRuleNotAndTagsArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleNotAndTagsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleNotAndTagsArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleNotAndTagsArgs(); + } + + public Builder(CostCategoryRuleRuleNotAndTagsArgs defaults) { + $ = new CostCategoryRuleRuleNotAndTagsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleNotAndTagsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotArgs.java index b0b7dbe30dd..73194ae60d8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotArgs.java @@ -3,11 +3,15 @@ package com.pulumi.aws.costexplorer.inputs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleNotAndArgs; import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleNotCostCategoryArgs; import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleNotDimensionArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleNotNotArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleNotOrArgs; import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleNotTagsArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -17,6 +21,13 @@ public final class CostCategoryRuleRuleNotArgs extends com.pulumi.resources.Reso public static final CostCategoryRuleRuleNotArgs Empty = new CostCategoryRuleRuleNotArgs(); + @Import(name="ands") + private @Nullable Output> ands; + + public Optional>> ands() { + return Optional.ofNullable(this.ands); + } + @Import(name="costCategory") private @Nullable Output costCategory; @@ -31,6 +42,20 @@ public Optional> dimension() { return Optional.ofNullable(this.dimension); } + @Import(name="not") + private @Nullable Output not; + + public Optional> not() { + return Optional.ofNullable(this.not); + } + + @Import(name="ors") + private @Nullable Output> ors; + + public Optional>> ors() { + return Optional.ofNullable(this.ors); + } + /** * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * @@ -49,8 +74,11 @@ public Optional> tags() { private CostCategoryRuleRuleNotArgs() {} private CostCategoryRuleRuleNotArgs(CostCategoryRuleRuleNotArgs $) { + this.ands = $.ands; this.costCategory = $.costCategory; this.dimension = $.dimension; + this.not = $.not; + this.ors = $.ors; this.tags = $.tags; } @@ -72,6 +100,19 @@ public Builder(CostCategoryRuleRuleNotArgs defaults) { $ = new CostCategoryRuleRuleNotArgs(Objects.requireNonNull(defaults)); } + public Builder ands(@Nullable Output> ands) { + $.ands = ands; + return this; + } + + public Builder ands(List ands) { + return ands(Output.of(ands)); + } + + public Builder ands(CostCategoryRuleRuleNotAndArgs... ands) { + return ands(List.of(ands)); + } + public Builder costCategory(@Nullable Output costCategory) { $.costCategory = costCategory; return this; @@ -90,6 +131,28 @@ public Builder dimension(CostCategoryRuleRuleNotDimensionArgs dimension) { return dimension(Output.of(dimension)); } + public Builder not(@Nullable Output not) { + $.not = not; + return this; + } + + public Builder not(CostCategoryRuleRuleNotNotArgs not) { + return not(Output.of(not)); + } + + public Builder ors(@Nullable Output> ors) { + $.ors = ors; + return this; + } + + public Builder ors(List ors) { + return ors(Output.of(ors)); + } + + public Builder ors(CostCategoryRuleRuleNotOrArgs... ors) { + return ors(List.of(ors)); + } + /** * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotArgs.java new file mode 100644 index 00000000000..11e015c3f76 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotArgs.java @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.costexplorer.inputs; + +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleNotNotCostCategoryArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleNotNotDimensionArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleNotNotTagsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleNotNotArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleNotNotArgs Empty = new CostCategoryRuleRuleNotNotArgs(); + + @Import(name="costCategory") + private @Nullable Output costCategory; + + public Optional> costCategory() { + return Optional.ofNullable(this.costCategory); + } + + @Import(name="dimension") + private @Nullable Output dimension; + + public Optional> dimension() { + return Optional.ofNullable(this.dimension); + } + + /** + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output tags; + + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + private CostCategoryRuleRuleNotNotArgs() {} + + private CostCategoryRuleRuleNotNotArgs(CostCategoryRuleRuleNotNotArgs $) { + this.costCategory = $.costCategory; + this.dimension = $.dimension; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleNotNotArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleNotNotArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleNotNotArgs(); + } + + public Builder(CostCategoryRuleRuleNotNotArgs defaults) { + $ = new CostCategoryRuleRuleNotNotArgs(Objects.requireNonNull(defaults)); + } + + public Builder costCategory(@Nullable Output costCategory) { + $.costCategory = costCategory; + return this; + } + + public Builder costCategory(CostCategoryRuleRuleNotNotCostCategoryArgs costCategory) { + return costCategory(Output.of(costCategory)); + } + + public Builder dimension(@Nullable Output dimension) { + $.dimension = dimension; + return this; + } + + public Builder dimension(CostCategoryRuleRuleNotNotDimensionArgs dimension) { + return dimension(Output.of(dimension)); + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(CostCategoryRuleRuleNotNotTagsArgs tags) { + return tags(Output.of(tags)); + } + + public CostCategoryRuleRuleNotNotArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotCostCategoryArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotCostCategoryArgs.java new file mode 100644 index 00000000000..88a37c9b800 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotCostCategoryArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleNotNotCostCategoryArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleNotNotCostCategoryArgs Empty = new CostCategoryRuleRuleNotNotCostCategoryArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleNotNotCostCategoryArgs() {} + + private CostCategoryRuleRuleNotNotCostCategoryArgs(CostCategoryRuleRuleNotNotCostCategoryArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleNotNotCostCategoryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleNotNotCostCategoryArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleNotNotCostCategoryArgs(); + } + + public Builder(CostCategoryRuleRuleNotNotCostCategoryArgs defaults) { + $ = new CostCategoryRuleRuleNotNotCostCategoryArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleNotNotCostCategoryArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotDimensionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotDimensionArgs.java new file mode 100644 index 00000000000..8a830244639 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotDimensionArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleNotNotDimensionArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleNotNotDimensionArgs Empty = new CostCategoryRuleRuleNotNotDimensionArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleNotNotDimensionArgs() {} + + private CostCategoryRuleRuleNotNotDimensionArgs(CostCategoryRuleRuleNotNotDimensionArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleNotNotDimensionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleNotNotDimensionArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleNotNotDimensionArgs(); + } + + public Builder(CostCategoryRuleRuleNotNotDimensionArgs defaults) { + $ = new CostCategoryRuleRuleNotNotDimensionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleNotNotDimensionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotTagsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotTagsArgs.java new file mode 100644 index 00000000000..4e6b02f2214 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotNotTagsArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleNotNotTagsArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleNotNotTagsArgs Empty = new CostCategoryRuleRuleNotNotTagsArgs(); + + /** + * Key for the tag. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Key for the tag. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleNotNotTagsArgs() {} + + private CostCategoryRuleRuleNotNotTagsArgs(CostCategoryRuleRuleNotNotTagsArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleNotNotTagsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleNotNotTagsArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleNotNotTagsArgs(); + } + + public Builder(CostCategoryRuleRuleNotNotTagsArgs defaults) { + $ = new CostCategoryRuleRuleNotNotTagsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleNotNotTagsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrArgs.java new file mode 100644 index 00000000000..c2f044b273f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrArgs.java @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.costexplorer.inputs; + +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleNotOrCostCategoryArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleNotOrDimensionArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleNotOrTagsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleNotOrArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleNotOrArgs Empty = new CostCategoryRuleRuleNotOrArgs(); + + @Import(name="costCategory") + private @Nullable Output costCategory; + + public Optional> costCategory() { + return Optional.ofNullable(this.costCategory); + } + + @Import(name="dimension") + private @Nullable Output dimension; + + public Optional> dimension() { + return Optional.ofNullable(this.dimension); + } + + /** + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output tags; + + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + private CostCategoryRuleRuleNotOrArgs() {} + + private CostCategoryRuleRuleNotOrArgs(CostCategoryRuleRuleNotOrArgs $) { + this.costCategory = $.costCategory; + this.dimension = $.dimension; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleNotOrArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleNotOrArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleNotOrArgs(); + } + + public Builder(CostCategoryRuleRuleNotOrArgs defaults) { + $ = new CostCategoryRuleRuleNotOrArgs(Objects.requireNonNull(defaults)); + } + + public Builder costCategory(@Nullable Output costCategory) { + $.costCategory = costCategory; + return this; + } + + public Builder costCategory(CostCategoryRuleRuleNotOrCostCategoryArgs costCategory) { + return costCategory(Output.of(costCategory)); + } + + public Builder dimension(@Nullable Output dimension) { + $.dimension = dimension; + return this; + } + + public Builder dimension(CostCategoryRuleRuleNotOrDimensionArgs dimension) { + return dimension(Output.of(dimension)); + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(CostCategoryRuleRuleNotOrTagsArgs tags) { + return tags(Output.of(tags)); + } + + public CostCategoryRuleRuleNotOrArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrCostCategoryArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrCostCategoryArgs.java new file mode 100644 index 00000000000..5c8fd061bf2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrCostCategoryArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleNotOrCostCategoryArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleNotOrCostCategoryArgs Empty = new CostCategoryRuleRuleNotOrCostCategoryArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleNotOrCostCategoryArgs() {} + + private CostCategoryRuleRuleNotOrCostCategoryArgs(CostCategoryRuleRuleNotOrCostCategoryArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleNotOrCostCategoryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleNotOrCostCategoryArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleNotOrCostCategoryArgs(); + } + + public Builder(CostCategoryRuleRuleNotOrCostCategoryArgs defaults) { + $ = new CostCategoryRuleRuleNotOrCostCategoryArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleNotOrCostCategoryArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrDimensionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrDimensionArgs.java new file mode 100644 index 00000000000..8316ea475ec --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrDimensionArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleNotOrDimensionArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleNotOrDimensionArgs Empty = new CostCategoryRuleRuleNotOrDimensionArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleNotOrDimensionArgs() {} + + private CostCategoryRuleRuleNotOrDimensionArgs(CostCategoryRuleRuleNotOrDimensionArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleNotOrDimensionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleNotOrDimensionArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleNotOrDimensionArgs(); + } + + public Builder(CostCategoryRuleRuleNotOrDimensionArgs defaults) { + $ = new CostCategoryRuleRuleNotOrDimensionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleNotOrDimensionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrTagsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrTagsArgs.java new file mode 100644 index 00000000000..36fb7d54760 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleNotOrTagsArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleNotOrTagsArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleNotOrTagsArgs Empty = new CostCategoryRuleRuleNotOrTagsArgs(); + + /** + * Key for the tag. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Key for the tag. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleNotOrTagsArgs() {} + + private CostCategoryRuleRuleNotOrTagsArgs(CostCategoryRuleRuleNotOrTagsArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleNotOrTagsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleNotOrTagsArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleNotOrTagsArgs(); + } + + public Builder(CostCategoryRuleRuleNotOrTagsArgs defaults) { + $ = new CostCategoryRuleRuleNotOrTagsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleNotOrTagsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndArgs.java new file mode 100644 index 00000000000..a9514ab57e3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndArgs.java @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.costexplorer.inputs; + +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleOrAndCostCategoryArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleOrAndDimensionArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleOrAndTagsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleOrAndArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleOrAndArgs Empty = new CostCategoryRuleRuleOrAndArgs(); + + @Import(name="costCategory") + private @Nullable Output costCategory; + + public Optional> costCategory() { + return Optional.ofNullable(this.costCategory); + } + + @Import(name="dimension") + private @Nullable Output dimension; + + public Optional> dimension() { + return Optional.ofNullable(this.dimension); + } + + /** + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output tags; + + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + private CostCategoryRuleRuleOrAndArgs() {} + + private CostCategoryRuleRuleOrAndArgs(CostCategoryRuleRuleOrAndArgs $) { + this.costCategory = $.costCategory; + this.dimension = $.dimension; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleOrAndArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleOrAndArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleOrAndArgs(); + } + + public Builder(CostCategoryRuleRuleOrAndArgs defaults) { + $ = new CostCategoryRuleRuleOrAndArgs(Objects.requireNonNull(defaults)); + } + + public Builder costCategory(@Nullable Output costCategory) { + $.costCategory = costCategory; + return this; + } + + public Builder costCategory(CostCategoryRuleRuleOrAndCostCategoryArgs costCategory) { + return costCategory(Output.of(costCategory)); + } + + public Builder dimension(@Nullable Output dimension) { + $.dimension = dimension; + return this; + } + + public Builder dimension(CostCategoryRuleRuleOrAndDimensionArgs dimension) { + return dimension(Output.of(dimension)); + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(CostCategoryRuleRuleOrAndTagsArgs tags) { + return tags(Output.of(tags)); + } + + public CostCategoryRuleRuleOrAndArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndCostCategoryArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndCostCategoryArgs.java new file mode 100644 index 00000000000..c5957f16cac --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndCostCategoryArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleOrAndCostCategoryArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleOrAndCostCategoryArgs Empty = new CostCategoryRuleRuleOrAndCostCategoryArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleOrAndCostCategoryArgs() {} + + private CostCategoryRuleRuleOrAndCostCategoryArgs(CostCategoryRuleRuleOrAndCostCategoryArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleOrAndCostCategoryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleOrAndCostCategoryArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleOrAndCostCategoryArgs(); + } + + public Builder(CostCategoryRuleRuleOrAndCostCategoryArgs defaults) { + $ = new CostCategoryRuleRuleOrAndCostCategoryArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleOrAndCostCategoryArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndDimensionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndDimensionArgs.java new file mode 100644 index 00000000000..1e1a0976f47 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndDimensionArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleOrAndDimensionArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleOrAndDimensionArgs Empty = new CostCategoryRuleRuleOrAndDimensionArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleOrAndDimensionArgs() {} + + private CostCategoryRuleRuleOrAndDimensionArgs(CostCategoryRuleRuleOrAndDimensionArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleOrAndDimensionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleOrAndDimensionArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleOrAndDimensionArgs(); + } + + public Builder(CostCategoryRuleRuleOrAndDimensionArgs defaults) { + $ = new CostCategoryRuleRuleOrAndDimensionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleOrAndDimensionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndTagsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndTagsArgs.java new file mode 100644 index 00000000000..697e4c0d6be --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrAndTagsArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleOrAndTagsArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleOrAndTagsArgs Empty = new CostCategoryRuleRuleOrAndTagsArgs(); + + /** + * Key for the tag. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Key for the tag. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleOrAndTagsArgs() {} + + private CostCategoryRuleRuleOrAndTagsArgs(CostCategoryRuleRuleOrAndTagsArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleOrAndTagsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleOrAndTagsArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleOrAndTagsArgs(); + } + + public Builder(CostCategoryRuleRuleOrAndTagsArgs defaults) { + $ = new CostCategoryRuleRuleOrAndTagsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleOrAndTagsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrArgs.java index 40fa069f5fd..8a34390834e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrArgs.java @@ -3,11 +3,15 @@ package com.pulumi.aws.costexplorer.inputs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleOrAndArgs; import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleOrCostCategoryArgs; import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleOrDimensionArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleOrNotArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleOrOrArgs; import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleOrTagsArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -17,6 +21,13 @@ public final class CostCategoryRuleRuleOrArgs extends com.pulumi.resources.Resou public static final CostCategoryRuleRuleOrArgs Empty = new CostCategoryRuleRuleOrArgs(); + @Import(name="ands") + private @Nullable Output> ands; + + public Optional>> ands() { + return Optional.ofNullable(this.ands); + } + @Import(name="costCategory") private @Nullable Output costCategory; @@ -31,6 +42,20 @@ public Optional> dimension() { return Optional.ofNullable(this.dimension); } + @Import(name="not") + private @Nullable Output not; + + public Optional> not() { + return Optional.ofNullable(this.not); + } + + @Import(name="ors") + private @Nullable Output> ors; + + public Optional>> ors() { + return Optional.ofNullable(this.ors); + } + /** * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * @@ -49,8 +74,11 @@ public Optional> tags() { private CostCategoryRuleRuleOrArgs() {} private CostCategoryRuleRuleOrArgs(CostCategoryRuleRuleOrArgs $) { + this.ands = $.ands; this.costCategory = $.costCategory; this.dimension = $.dimension; + this.not = $.not; + this.ors = $.ors; this.tags = $.tags; } @@ -72,6 +100,19 @@ public Builder(CostCategoryRuleRuleOrArgs defaults) { $ = new CostCategoryRuleRuleOrArgs(Objects.requireNonNull(defaults)); } + public Builder ands(@Nullable Output> ands) { + $.ands = ands; + return this; + } + + public Builder ands(List ands) { + return ands(Output.of(ands)); + } + + public Builder ands(CostCategoryRuleRuleOrAndArgs... ands) { + return ands(List.of(ands)); + } + public Builder costCategory(@Nullable Output costCategory) { $.costCategory = costCategory; return this; @@ -90,6 +131,28 @@ public Builder dimension(CostCategoryRuleRuleOrDimensionArgs dimension) { return dimension(Output.of(dimension)); } + public Builder not(@Nullable Output not) { + $.not = not; + return this; + } + + public Builder not(CostCategoryRuleRuleOrNotArgs not) { + return not(Output.of(not)); + } + + public Builder ors(@Nullable Output> ors) { + $.ors = ors; + return this; + } + + public Builder ors(List ors) { + return ors(Output.of(ors)); + } + + public Builder ors(CostCategoryRuleRuleOrOrArgs... ors) { + return ors(List.of(ors)); + } + /** * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotArgs.java new file mode 100644 index 00000000000..826d2cc0be1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotArgs.java @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.costexplorer.inputs; + +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleOrNotCostCategoryArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleOrNotDimensionArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleOrNotTagsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleOrNotArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleOrNotArgs Empty = new CostCategoryRuleRuleOrNotArgs(); + + @Import(name="costCategory") + private @Nullable Output costCategory; + + public Optional> costCategory() { + return Optional.ofNullable(this.costCategory); + } + + @Import(name="dimension") + private @Nullable Output dimension; + + public Optional> dimension() { + return Optional.ofNullable(this.dimension); + } + + /** + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output tags; + + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + private CostCategoryRuleRuleOrNotArgs() {} + + private CostCategoryRuleRuleOrNotArgs(CostCategoryRuleRuleOrNotArgs $) { + this.costCategory = $.costCategory; + this.dimension = $.dimension; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleOrNotArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleOrNotArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleOrNotArgs(); + } + + public Builder(CostCategoryRuleRuleOrNotArgs defaults) { + $ = new CostCategoryRuleRuleOrNotArgs(Objects.requireNonNull(defaults)); + } + + public Builder costCategory(@Nullable Output costCategory) { + $.costCategory = costCategory; + return this; + } + + public Builder costCategory(CostCategoryRuleRuleOrNotCostCategoryArgs costCategory) { + return costCategory(Output.of(costCategory)); + } + + public Builder dimension(@Nullable Output dimension) { + $.dimension = dimension; + return this; + } + + public Builder dimension(CostCategoryRuleRuleOrNotDimensionArgs dimension) { + return dimension(Output.of(dimension)); + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(CostCategoryRuleRuleOrNotTagsArgs tags) { + return tags(Output.of(tags)); + } + + public CostCategoryRuleRuleOrNotArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotCostCategoryArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotCostCategoryArgs.java new file mode 100644 index 00000000000..eb81160f4d8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotCostCategoryArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleOrNotCostCategoryArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleOrNotCostCategoryArgs Empty = new CostCategoryRuleRuleOrNotCostCategoryArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleOrNotCostCategoryArgs() {} + + private CostCategoryRuleRuleOrNotCostCategoryArgs(CostCategoryRuleRuleOrNotCostCategoryArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleOrNotCostCategoryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleOrNotCostCategoryArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleOrNotCostCategoryArgs(); + } + + public Builder(CostCategoryRuleRuleOrNotCostCategoryArgs defaults) { + $ = new CostCategoryRuleRuleOrNotCostCategoryArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleOrNotCostCategoryArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotDimensionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotDimensionArgs.java new file mode 100644 index 00000000000..afd11e1387a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotDimensionArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleOrNotDimensionArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleOrNotDimensionArgs Empty = new CostCategoryRuleRuleOrNotDimensionArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleOrNotDimensionArgs() {} + + private CostCategoryRuleRuleOrNotDimensionArgs(CostCategoryRuleRuleOrNotDimensionArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleOrNotDimensionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleOrNotDimensionArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleOrNotDimensionArgs(); + } + + public Builder(CostCategoryRuleRuleOrNotDimensionArgs defaults) { + $ = new CostCategoryRuleRuleOrNotDimensionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleOrNotDimensionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotTagsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotTagsArgs.java new file mode 100644 index 00000000000..69d3a2c8527 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrNotTagsArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleOrNotTagsArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleOrNotTagsArgs Empty = new CostCategoryRuleRuleOrNotTagsArgs(); + + /** + * Key for the tag. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Key for the tag. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleOrNotTagsArgs() {} + + private CostCategoryRuleRuleOrNotTagsArgs(CostCategoryRuleRuleOrNotTagsArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleOrNotTagsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleOrNotTagsArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleOrNotTagsArgs(); + } + + public Builder(CostCategoryRuleRuleOrNotTagsArgs defaults) { + $ = new CostCategoryRuleRuleOrNotTagsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleOrNotTagsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrArgs.java new file mode 100644 index 00000000000..41ac8731fe9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrArgs.java @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.costexplorer.inputs; + +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleOrOrCostCategoryArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleOrOrDimensionArgs; +import com.pulumi.aws.costexplorer.inputs.CostCategoryRuleRuleOrOrTagsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleOrOrArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleOrOrArgs Empty = new CostCategoryRuleRuleOrOrArgs(); + + @Import(name="costCategory") + private @Nullable Output costCategory; + + public Optional> costCategory() { + return Optional.ofNullable(this.costCategory); + } + + @Import(name="dimension") + private @Nullable Output dimension; + + public Optional> dimension() { + return Optional.ofNullable(this.dimension); + } + + /** + * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output tags; + + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + private CostCategoryRuleRuleOrOrArgs() {} + + private CostCategoryRuleRuleOrOrArgs(CostCategoryRuleRuleOrOrArgs $) { + this.costCategory = $.costCategory; + this.dimension = $.dimension; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleOrOrArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleOrOrArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleOrOrArgs(); + } + + public Builder(CostCategoryRuleRuleOrOrArgs defaults) { + $ = new CostCategoryRuleRuleOrOrArgs(Objects.requireNonNull(defaults)); + } + + public Builder costCategory(@Nullable Output costCategory) { + $.costCategory = costCategory; + return this; + } + + public Builder costCategory(CostCategoryRuleRuleOrOrCostCategoryArgs costCategory) { + return costCategory(Output.of(costCategory)); + } + + public Builder dimension(@Nullable Output dimension) { + $.dimension = dimension; + return this; + } + + public Builder dimension(CostCategoryRuleRuleOrOrDimensionArgs dimension) { + return dimension(Output.of(dimension)); + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(CostCategoryRuleRuleOrOrTagsArgs tags) { + return tags(Output.of(tags)); + } + + public CostCategoryRuleRuleOrOrArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrCostCategoryArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrCostCategoryArgs.java new file mode 100644 index 00000000000..909bcf8dde7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrCostCategoryArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleOrOrCostCategoryArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleOrOrCostCategoryArgs Empty = new CostCategoryRuleRuleOrOrCostCategoryArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleOrOrCostCategoryArgs() {} + + private CostCategoryRuleRuleOrOrCostCategoryArgs(CostCategoryRuleRuleOrOrCostCategoryArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleOrOrCostCategoryArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleOrOrCostCategoryArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleOrOrCostCategoryArgs(); + } + + public Builder(CostCategoryRuleRuleOrOrCostCategoryArgs defaults) { + $ = new CostCategoryRuleRuleOrOrCostCategoryArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleOrOrCostCategoryArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrDimensionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrDimensionArgs.java new file mode 100644 index 00000000000..d60c160e78e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrDimensionArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleOrOrDimensionArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleOrOrDimensionArgs Empty = new CostCategoryRuleRuleOrOrDimensionArgs(); + + /** + * Unique name of the Cost Category. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Unique name of the Cost Category. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleOrOrDimensionArgs() {} + + private CostCategoryRuleRuleOrOrDimensionArgs(CostCategoryRuleRuleOrOrDimensionArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleOrOrDimensionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleOrOrDimensionArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleOrOrDimensionArgs(); + } + + public Builder(CostCategoryRuleRuleOrOrDimensionArgs defaults) { + $ = new CostCategoryRuleRuleOrOrDimensionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Unique name of the Cost Category. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleOrOrDimensionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrTagsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrTagsArgs.java new file mode 100644 index 00000000000..66edca24628 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/inputs/CostCategoryRuleRuleOrOrTagsArgs.java @@ -0,0 +1,178 @@ +// *** 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.costexplorer.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CostCategoryRuleRuleOrOrTagsArgs extends com.pulumi.resources.ResourceArgs { + + public static final CostCategoryRuleRuleOrOrTagsArgs Empty = new CostCategoryRuleRuleOrOrTagsArgs(); + + /** + * Key for the tag. + * + */ + @Import(name="key") + private @Nullable Output key; + + /** + * @return Key for the tag. + * + */ + public Optional> key() { + return Optional.ofNullable(this.key); + } + + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + @Import(name="matchOptions") + private @Nullable Output> matchOptions; + + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public Optional>> matchOptions() { + return Optional.ofNullable(this.matchOptions); + } + + /** + * Specific value of the Cost Category. + * + */ + @Import(name="values") + private @Nullable Output> values; + + /** + * @return Specific value of the Cost Category. + * + */ + public Optional>> values() { + return Optional.ofNullable(this.values); + } + + private CostCategoryRuleRuleOrOrTagsArgs() {} + + private CostCategoryRuleRuleOrOrTagsArgs(CostCategoryRuleRuleOrOrTagsArgs $) { + this.key = $.key; + this.matchOptions = $.matchOptions; + this.values = $.values; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CostCategoryRuleRuleOrOrTagsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CostCategoryRuleRuleOrOrTagsArgs $; + + public Builder() { + $ = new CostCategoryRuleRuleOrOrTagsArgs(); + } + + public Builder(CostCategoryRuleRuleOrOrTagsArgs defaults) { + $ = new CostCategoryRuleRuleOrOrTagsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(@Nullable Output key) { + $.key = key; + return this; + } + + /** + * @param key Key for the tag. + * + * @return builder + * + */ + public Builder key(String key) { + return key(Output.of(key)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(@Nullable Output> matchOptions) { + $.matchOptions = matchOptions; + return this; + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(List matchOptions) { + return matchOptions(Output.of(matchOptions)); + } + + /** + * @param matchOptions Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + * @return builder + * + */ + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(@Nullable Output> values) { + $.values = values; + return this; + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(List values) { + return values(Output.of(values)); + } + + /** + * @param values Specific value of the Cost Category. + * + * @return builder + * + */ + public Builder values(String... values) { + return values(List.of(values)); + } + + public CostCategoryRuleRuleOrOrTagsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAnd.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAnd.java index 7aa00033e16..b128c24b4ae 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAnd.java +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAnd.java @@ -3,18 +3,25 @@ package com.pulumi.aws.costexplorer.outputs; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleAndAnd; import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleAndCostCategory; import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleAndDimension; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleAndNot; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleAndOr; import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleAndTags; import com.pulumi.core.annotations.CustomType; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @CustomType public final class CostCategoryRuleRuleAnd { + private @Nullable List ands; private @Nullable CostCategoryRuleRuleAndCostCategory costCategory; private @Nullable CostCategoryRuleRuleAndDimension dimension; + private @Nullable CostCategoryRuleRuleAndNot not; + private @Nullable List ors; /** * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * @@ -22,12 +29,21 @@ public final class CostCategoryRuleRuleAnd { private @Nullable CostCategoryRuleRuleAndTags tags; private CostCategoryRuleRuleAnd() {} + public List ands() { + return this.ands == null ? List.of() : this.ands; + } public Optional costCategory() { return Optional.ofNullable(this.costCategory); } public Optional dimension() { return Optional.ofNullable(this.dimension); } + public Optional not() { + return Optional.ofNullable(this.not); + } + public List ors() { + return this.ors == null ? List.of() : this.ors; + } /** * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * @@ -45,17 +61,32 @@ public static Builder builder(CostCategoryRuleRuleAnd defaults) { } @CustomType.Builder public static final class Builder { + private @Nullable List ands; private @Nullable CostCategoryRuleRuleAndCostCategory costCategory; private @Nullable CostCategoryRuleRuleAndDimension dimension; + private @Nullable CostCategoryRuleRuleAndNot not; + private @Nullable List ors; private @Nullable CostCategoryRuleRuleAndTags tags; public Builder() {} public Builder(CostCategoryRuleRuleAnd defaults) { Objects.requireNonNull(defaults); + this.ands = defaults.ands; this.costCategory = defaults.costCategory; this.dimension = defaults.dimension; + this.not = defaults.not; + this.ors = defaults.ors; this.tags = defaults.tags; } + @CustomType.Setter + public Builder ands(@Nullable List ands) { + + this.ands = ands; + return this; + } + public Builder ands(CostCategoryRuleRuleAndAnd... ands) { + return ands(List.of(ands)); + } @CustomType.Setter public Builder costCategory(@Nullable CostCategoryRuleRuleAndCostCategory costCategory) { @@ -69,6 +100,21 @@ public Builder dimension(@Nullable CostCategoryRuleRuleAndDimension dimension) { return this; } @CustomType.Setter + public Builder not(@Nullable CostCategoryRuleRuleAndNot not) { + + this.not = not; + return this; + } + @CustomType.Setter + public Builder ors(@Nullable List ors) { + + this.ors = ors; + return this; + } + public Builder ors(CostCategoryRuleRuleAndOr... ors) { + return ors(List.of(ors)); + } + @CustomType.Setter public Builder tags(@Nullable CostCategoryRuleRuleAndTags tags) { this.tags = tags; @@ -76,8 +122,11 @@ public Builder tags(@Nullable CostCategoryRuleRuleAndTags tags) { } public CostCategoryRuleRuleAnd build() { final var _resultValue = new CostCategoryRuleRuleAnd(); + _resultValue.ands = ands; _resultValue.costCategory = costCategory; _resultValue.dimension = dimension; + _resultValue.not = not; + _resultValue.ors = ors; _resultValue.tags = tags; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAnd.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAnd.java new file mode 100644 index 00000000000..cfce66d36eb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAnd.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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleAndAndCostCategory; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleAndAndDimension; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleAndAndTags; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleAndAnd { + private @Nullable CostCategoryRuleRuleAndAndCostCategory costCategory; + private @Nullable CostCategoryRuleRuleAndAndDimension dimension; + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + private @Nullable CostCategoryRuleRuleAndAndTags tags; + + private CostCategoryRuleRuleAndAnd() {} + public Optional costCategory() { + return Optional.ofNullable(this.costCategory); + } + public Optional dimension() { + return Optional.ofNullable(this.dimension); + } + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional tags() { + return Optional.ofNullable(this.tags); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleAndAnd defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable CostCategoryRuleRuleAndAndCostCategory costCategory; + private @Nullable CostCategoryRuleRuleAndAndDimension dimension; + private @Nullable CostCategoryRuleRuleAndAndTags tags; + public Builder() {} + public Builder(CostCategoryRuleRuleAndAnd defaults) { + Objects.requireNonNull(defaults); + this.costCategory = defaults.costCategory; + this.dimension = defaults.dimension; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategory(@Nullable CostCategoryRuleRuleAndAndCostCategory costCategory) { + + this.costCategory = costCategory; + return this; + } + @CustomType.Setter + public Builder dimension(@Nullable CostCategoryRuleRuleAndAndDimension dimension) { + + this.dimension = dimension; + return this; + } + @CustomType.Setter + public Builder tags(@Nullable CostCategoryRuleRuleAndAndTags tags) { + + this.tags = tags; + return this; + } + public CostCategoryRuleRuleAndAnd build() { + final var _resultValue = new CostCategoryRuleRuleAndAnd(); + _resultValue.costCategory = costCategory; + _resultValue.dimension = dimension; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAndCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAndCostCategory.java new file mode 100644 index 00000000000..09a5b5fc4fa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAndCostCategory.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleAndAndCostCategory { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleAndAndCostCategory() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleAndAndCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleAndAndCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleAndAndCostCategory build() { + final var _resultValue = new CostCategoryRuleRuleAndAndCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAndDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAndDimension.java new file mode 100644 index 00000000000..31565d8c842 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAndDimension.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleAndAndDimension { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleAndAndDimension() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleAndAndDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleAndAndDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleAndAndDimension build() { + final var _resultValue = new CostCategoryRuleRuleAndAndDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAndTags.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAndTags.java new file mode 100644 index 00000000000..8a497b9e2a8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndAndTags.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleAndAndTags { + /** + * @return Key for the tag. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleAndAndTags() {} + /** + * @return Key for the tag. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleAndAndTags defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleAndAndTags defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleAndAndTags build() { + final var _resultValue = new CostCategoryRuleRuleAndAndTags(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNot.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNot.java new file mode 100644 index 00000000000..b6ca08915ce --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNot.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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleAndNotCostCategory; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleAndNotDimension; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleAndNotTags; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleAndNot { + private @Nullable CostCategoryRuleRuleAndNotCostCategory costCategory; + private @Nullable CostCategoryRuleRuleAndNotDimension dimension; + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + private @Nullable CostCategoryRuleRuleAndNotTags tags; + + private CostCategoryRuleRuleAndNot() {} + public Optional costCategory() { + return Optional.ofNullable(this.costCategory); + } + public Optional dimension() { + return Optional.ofNullable(this.dimension); + } + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional tags() { + return Optional.ofNullable(this.tags); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleAndNot defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable CostCategoryRuleRuleAndNotCostCategory costCategory; + private @Nullable CostCategoryRuleRuleAndNotDimension dimension; + private @Nullable CostCategoryRuleRuleAndNotTags tags; + public Builder() {} + public Builder(CostCategoryRuleRuleAndNot defaults) { + Objects.requireNonNull(defaults); + this.costCategory = defaults.costCategory; + this.dimension = defaults.dimension; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategory(@Nullable CostCategoryRuleRuleAndNotCostCategory costCategory) { + + this.costCategory = costCategory; + return this; + } + @CustomType.Setter + public Builder dimension(@Nullable CostCategoryRuleRuleAndNotDimension dimension) { + + this.dimension = dimension; + return this; + } + @CustomType.Setter + public Builder tags(@Nullable CostCategoryRuleRuleAndNotTags tags) { + + this.tags = tags; + return this; + } + public CostCategoryRuleRuleAndNot build() { + final var _resultValue = new CostCategoryRuleRuleAndNot(); + _resultValue.costCategory = costCategory; + _resultValue.dimension = dimension; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNotCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNotCostCategory.java new file mode 100644 index 00000000000..800f38ba55e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNotCostCategory.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleAndNotCostCategory { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleAndNotCostCategory() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleAndNotCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleAndNotCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleAndNotCostCategory build() { + final var _resultValue = new CostCategoryRuleRuleAndNotCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNotDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNotDimension.java new file mode 100644 index 00000000000..bcaccf4d2b8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNotDimension.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleAndNotDimension { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleAndNotDimension() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleAndNotDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleAndNotDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleAndNotDimension build() { + final var _resultValue = new CostCategoryRuleRuleAndNotDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNotTags.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNotTags.java new file mode 100644 index 00000000000..7a064c9a51f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndNotTags.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleAndNotTags { + /** + * @return Key for the tag. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleAndNotTags() {} + /** + * @return Key for the tag. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleAndNotTags defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleAndNotTags defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleAndNotTags build() { + final var _resultValue = new CostCategoryRuleRuleAndNotTags(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOr.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOr.java new file mode 100644 index 00000000000..93ef6781684 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOr.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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleAndOrCostCategory; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleAndOrDimension; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleAndOrTags; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleAndOr { + private @Nullable CostCategoryRuleRuleAndOrCostCategory costCategory; + private @Nullable CostCategoryRuleRuleAndOrDimension dimension; + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + private @Nullable CostCategoryRuleRuleAndOrTags tags; + + private CostCategoryRuleRuleAndOr() {} + public Optional costCategory() { + return Optional.ofNullable(this.costCategory); + } + public Optional dimension() { + return Optional.ofNullable(this.dimension); + } + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional tags() { + return Optional.ofNullable(this.tags); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleAndOr defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable CostCategoryRuleRuleAndOrCostCategory costCategory; + private @Nullable CostCategoryRuleRuleAndOrDimension dimension; + private @Nullable CostCategoryRuleRuleAndOrTags tags; + public Builder() {} + public Builder(CostCategoryRuleRuleAndOr defaults) { + Objects.requireNonNull(defaults); + this.costCategory = defaults.costCategory; + this.dimension = defaults.dimension; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategory(@Nullable CostCategoryRuleRuleAndOrCostCategory costCategory) { + + this.costCategory = costCategory; + return this; + } + @CustomType.Setter + public Builder dimension(@Nullable CostCategoryRuleRuleAndOrDimension dimension) { + + this.dimension = dimension; + return this; + } + @CustomType.Setter + public Builder tags(@Nullable CostCategoryRuleRuleAndOrTags tags) { + + this.tags = tags; + return this; + } + public CostCategoryRuleRuleAndOr build() { + final var _resultValue = new CostCategoryRuleRuleAndOr(); + _resultValue.costCategory = costCategory; + _resultValue.dimension = dimension; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOrCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOrCostCategory.java new file mode 100644 index 00000000000..a23c8b2784e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOrCostCategory.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleAndOrCostCategory { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleAndOrCostCategory() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleAndOrCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleAndOrCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleAndOrCostCategory build() { + final var _resultValue = new CostCategoryRuleRuleAndOrCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOrDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOrDimension.java new file mode 100644 index 00000000000..a2457997365 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOrDimension.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleAndOrDimension { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleAndOrDimension() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleAndOrDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleAndOrDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleAndOrDimension build() { + final var _resultValue = new CostCategoryRuleRuleAndOrDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOrTags.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOrTags.java new file mode 100644 index 00000000000..142333180c5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleAndOrTags.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleAndOrTags { + /** + * @return Key for the tag. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleAndOrTags() {} + /** + * @return Key for the tag. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleAndOrTags defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleAndOrTags defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleAndOrTags build() { + final var _resultValue = new CostCategoryRuleRuleAndOrTags(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNot.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNot.java index 7037307b589..ad5dac9d1ec 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNot.java @@ -3,18 +3,25 @@ package com.pulumi.aws.costexplorer.outputs; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleNotAnd; import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleNotCostCategory; import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleNotDimension; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleNotNot; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleNotOr; import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleNotTags; import com.pulumi.core.annotations.CustomType; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @CustomType public final class CostCategoryRuleRuleNot { + private @Nullable List ands; private @Nullable CostCategoryRuleRuleNotCostCategory costCategory; private @Nullable CostCategoryRuleRuleNotDimension dimension; + private @Nullable CostCategoryRuleRuleNotNot not; + private @Nullable List ors; /** * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * @@ -22,12 +29,21 @@ public final class CostCategoryRuleRuleNot { private @Nullable CostCategoryRuleRuleNotTags tags; private CostCategoryRuleRuleNot() {} + public List ands() { + return this.ands == null ? List.of() : this.ands; + } public Optional costCategory() { return Optional.ofNullable(this.costCategory); } public Optional dimension() { return Optional.ofNullable(this.dimension); } + public Optional not() { + return Optional.ofNullable(this.not); + } + public List ors() { + return this.ors == null ? List.of() : this.ors; + } /** * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * @@ -45,17 +61,32 @@ public static Builder builder(CostCategoryRuleRuleNot defaults) { } @CustomType.Builder public static final class Builder { + private @Nullable List ands; private @Nullable CostCategoryRuleRuleNotCostCategory costCategory; private @Nullable CostCategoryRuleRuleNotDimension dimension; + private @Nullable CostCategoryRuleRuleNotNot not; + private @Nullable List ors; private @Nullable CostCategoryRuleRuleNotTags tags; public Builder() {} public Builder(CostCategoryRuleRuleNot defaults) { Objects.requireNonNull(defaults); + this.ands = defaults.ands; this.costCategory = defaults.costCategory; this.dimension = defaults.dimension; + this.not = defaults.not; + this.ors = defaults.ors; this.tags = defaults.tags; } + @CustomType.Setter + public Builder ands(@Nullable List ands) { + + this.ands = ands; + return this; + } + public Builder ands(CostCategoryRuleRuleNotAnd... ands) { + return ands(List.of(ands)); + } @CustomType.Setter public Builder costCategory(@Nullable CostCategoryRuleRuleNotCostCategory costCategory) { @@ -69,6 +100,21 @@ public Builder dimension(@Nullable CostCategoryRuleRuleNotDimension dimension) { return this; } @CustomType.Setter + public Builder not(@Nullable CostCategoryRuleRuleNotNot not) { + + this.not = not; + return this; + } + @CustomType.Setter + public Builder ors(@Nullable List ors) { + + this.ors = ors; + return this; + } + public Builder ors(CostCategoryRuleRuleNotOr... ors) { + return ors(List.of(ors)); + } + @CustomType.Setter public Builder tags(@Nullable CostCategoryRuleRuleNotTags tags) { this.tags = tags; @@ -76,8 +122,11 @@ public Builder tags(@Nullable CostCategoryRuleRuleNotTags tags) { } public CostCategoryRuleRuleNot build() { final var _resultValue = new CostCategoryRuleRuleNot(); + _resultValue.ands = ands; _resultValue.costCategory = costCategory; _resultValue.dimension = dimension; + _resultValue.not = not; + _resultValue.ors = ors; _resultValue.tags = tags; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAnd.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAnd.java new file mode 100644 index 00000000000..208bf5f7714 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAnd.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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleNotAndCostCategory; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleNotAndDimension; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleNotAndTags; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleNotAnd { + private @Nullable CostCategoryRuleRuleNotAndCostCategory costCategory; + private @Nullable CostCategoryRuleRuleNotAndDimension dimension; + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + private @Nullable CostCategoryRuleRuleNotAndTags tags; + + private CostCategoryRuleRuleNotAnd() {} + public Optional costCategory() { + return Optional.ofNullable(this.costCategory); + } + public Optional dimension() { + return Optional.ofNullable(this.dimension); + } + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional tags() { + return Optional.ofNullable(this.tags); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleNotAnd defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable CostCategoryRuleRuleNotAndCostCategory costCategory; + private @Nullable CostCategoryRuleRuleNotAndDimension dimension; + private @Nullable CostCategoryRuleRuleNotAndTags tags; + public Builder() {} + public Builder(CostCategoryRuleRuleNotAnd defaults) { + Objects.requireNonNull(defaults); + this.costCategory = defaults.costCategory; + this.dimension = defaults.dimension; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategory(@Nullable CostCategoryRuleRuleNotAndCostCategory costCategory) { + + this.costCategory = costCategory; + return this; + } + @CustomType.Setter + public Builder dimension(@Nullable CostCategoryRuleRuleNotAndDimension dimension) { + + this.dimension = dimension; + return this; + } + @CustomType.Setter + public Builder tags(@Nullable CostCategoryRuleRuleNotAndTags tags) { + + this.tags = tags; + return this; + } + public CostCategoryRuleRuleNotAnd build() { + final var _resultValue = new CostCategoryRuleRuleNotAnd(); + _resultValue.costCategory = costCategory; + _resultValue.dimension = dimension; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAndCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAndCostCategory.java new file mode 100644 index 00000000000..d6e3e33683e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAndCostCategory.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleNotAndCostCategory { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleNotAndCostCategory() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleNotAndCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleNotAndCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleNotAndCostCategory build() { + final var _resultValue = new CostCategoryRuleRuleNotAndCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAndDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAndDimension.java new file mode 100644 index 00000000000..2ff3b1c45a1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAndDimension.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleNotAndDimension { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleNotAndDimension() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleNotAndDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleNotAndDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleNotAndDimension build() { + final var _resultValue = new CostCategoryRuleRuleNotAndDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAndTags.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAndTags.java new file mode 100644 index 00000000000..6e10f7a42c5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotAndTags.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleNotAndTags { + /** + * @return Key for the tag. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleNotAndTags() {} + /** + * @return Key for the tag. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleNotAndTags defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleNotAndTags defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleNotAndTags build() { + final var _resultValue = new CostCategoryRuleRuleNotAndTags(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNot.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNot.java new file mode 100644 index 00000000000..95db30ececb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNot.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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleNotNotCostCategory; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleNotNotDimension; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleNotNotTags; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleNotNot { + private @Nullable CostCategoryRuleRuleNotNotCostCategory costCategory; + private @Nullable CostCategoryRuleRuleNotNotDimension dimension; + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + private @Nullable CostCategoryRuleRuleNotNotTags tags; + + private CostCategoryRuleRuleNotNot() {} + public Optional costCategory() { + return Optional.ofNullable(this.costCategory); + } + public Optional dimension() { + return Optional.ofNullable(this.dimension); + } + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional tags() { + return Optional.ofNullable(this.tags); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleNotNot defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable CostCategoryRuleRuleNotNotCostCategory costCategory; + private @Nullable CostCategoryRuleRuleNotNotDimension dimension; + private @Nullable CostCategoryRuleRuleNotNotTags tags; + public Builder() {} + public Builder(CostCategoryRuleRuleNotNot defaults) { + Objects.requireNonNull(defaults); + this.costCategory = defaults.costCategory; + this.dimension = defaults.dimension; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategory(@Nullable CostCategoryRuleRuleNotNotCostCategory costCategory) { + + this.costCategory = costCategory; + return this; + } + @CustomType.Setter + public Builder dimension(@Nullable CostCategoryRuleRuleNotNotDimension dimension) { + + this.dimension = dimension; + return this; + } + @CustomType.Setter + public Builder tags(@Nullable CostCategoryRuleRuleNotNotTags tags) { + + this.tags = tags; + return this; + } + public CostCategoryRuleRuleNotNot build() { + final var _resultValue = new CostCategoryRuleRuleNotNot(); + _resultValue.costCategory = costCategory; + _resultValue.dimension = dimension; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNotCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNotCostCategory.java new file mode 100644 index 00000000000..95491d37b1a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNotCostCategory.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleNotNotCostCategory { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleNotNotCostCategory() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleNotNotCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleNotNotCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleNotNotCostCategory build() { + final var _resultValue = new CostCategoryRuleRuleNotNotCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNotDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNotDimension.java new file mode 100644 index 00000000000..e05f54ac4a9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNotDimension.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleNotNotDimension { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleNotNotDimension() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleNotNotDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleNotNotDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleNotNotDimension build() { + final var _resultValue = new CostCategoryRuleRuleNotNotDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNotTags.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNotTags.java new file mode 100644 index 00000000000..2325076e9a4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotNotTags.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleNotNotTags { + /** + * @return Key for the tag. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleNotNotTags() {} + /** + * @return Key for the tag. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleNotNotTags defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleNotNotTags defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleNotNotTags build() { + final var _resultValue = new CostCategoryRuleRuleNotNotTags(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOr.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOr.java new file mode 100644 index 00000000000..7e11b3e9137 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOr.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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleNotOrCostCategory; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleNotOrDimension; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleNotOrTags; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleNotOr { + private @Nullable CostCategoryRuleRuleNotOrCostCategory costCategory; + private @Nullable CostCategoryRuleRuleNotOrDimension dimension; + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + private @Nullable CostCategoryRuleRuleNotOrTags tags; + + private CostCategoryRuleRuleNotOr() {} + public Optional costCategory() { + return Optional.ofNullable(this.costCategory); + } + public Optional dimension() { + return Optional.ofNullable(this.dimension); + } + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional tags() { + return Optional.ofNullable(this.tags); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleNotOr defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable CostCategoryRuleRuleNotOrCostCategory costCategory; + private @Nullable CostCategoryRuleRuleNotOrDimension dimension; + private @Nullable CostCategoryRuleRuleNotOrTags tags; + public Builder() {} + public Builder(CostCategoryRuleRuleNotOr defaults) { + Objects.requireNonNull(defaults); + this.costCategory = defaults.costCategory; + this.dimension = defaults.dimension; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategory(@Nullable CostCategoryRuleRuleNotOrCostCategory costCategory) { + + this.costCategory = costCategory; + return this; + } + @CustomType.Setter + public Builder dimension(@Nullable CostCategoryRuleRuleNotOrDimension dimension) { + + this.dimension = dimension; + return this; + } + @CustomType.Setter + public Builder tags(@Nullable CostCategoryRuleRuleNotOrTags tags) { + + this.tags = tags; + return this; + } + public CostCategoryRuleRuleNotOr build() { + final var _resultValue = new CostCategoryRuleRuleNotOr(); + _resultValue.costCategory = costCategory; + _resultValue.dimension = dimension; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOrCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOrCostCategory.java new file mode 100644 index 00000000000..eb284cc6fc6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOrCostCategory.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleNotOrCostCategory { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleNotOrCostCategory() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleNotOrCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleNotOrCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleNotOrCostCategory build() { + final var _resultValue = new CostCategoryRuleRuleNotOrCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOrDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOrDimension.java new file mode 100644 index 00000000000..b5b10747e2a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOrDimension.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleNotOrDimension { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleNotOrDimension() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleNotOrDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleNotOrDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleNotOrDimension build() { + final var _resultValue = new CostCategoryRuleRuleNotOrDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOrTags.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOrTags.java new file mode 100644 index 00000000000..3eca14d070e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleNotOrTags.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleNotOrTags { + /** + * @return Key for the tag. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleNotOrTags() {} + /** + * @return Key for the tag. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleNotOrTags defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleNotOrTags defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleNotOrTags build() { + final var _resultValue = new CostCategoryRuleRuleNotOrTags(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOr.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOr.java index 640c2907c58..00555be30d8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOr.java +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOr.java @@ -3,18 +3,25 @@ package com.pulumi.aws.costexplorer.outputs; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleOrAnd; import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleOrCostCategory; import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleOrDimension; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleOrNot; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleOrOr; import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleOrTags; import com.pulumi.core.annotations.CustomType; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @CustomType public final class CostCategoryRuleRuleOr { + private @Nullable List ands; private @Nullable CostCategoryRuleRuleOrCostCategory costCategory; private @Nullable CostCategoryRuleRuleOrDimension dimension; + private @Nullable CostCategoryRuleRuleOrNot not; + private @Nullable List ors; /** * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * @@ -22,12 +29,21 @@ public final class CostCategoryRuleRuleOr { private @Nullable CostCategoryRuleRuleOrTags tags; private CostCategoryRuleRuleOr() {} + public List ands() { + return this.ands == null ? List.of() : this.ands; + } public Optional costCategory() { return Optional.ofNullable(this.costCategory); } public Optional dimension() { return Optional.ofNullable(this.dimension); } + public Optional not() { + return Optional.ofNullable(this.not); + } + public List ors() { + return this.ors == null ? List.of() : this.ors; + } /** * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. * @@ -45,17 +61,32 @@ public static Builder builder(CostCategoryRuleRuleOr defaults) { } @CustomType.Builder public static final class Builder { + private @Nullable List ands; private @Nullable CostCategoryRuleRuleOrCostCategory costCategory; private @Nullable CostCategoryRuleRuleOrDimension dimension; + private @Nullable CostCategoryRuleRuleOrNot not; + private @Nullable List ors; private @Nullable CostCategoryRuleRuleOrTags tags; public Builder() {} public Builder(CostCategoryRuleRuleOr defaults) { Objects.requireNonNull(defaults); + this.ands = defaults.ands; this.costCategory = defaults.costCategory; this.dimension = defaults.dimension; + this.not = defaults.not; + this.ors = defaults.ors; this.tags = defaults.tags; } + @CustomType.Setter + public Builder ands(@Nullable List ands) { + + this.ands = ands; + return this; + } + public Builder ands(CostCategoryRuleRuleOrAnd... ands) { + return ands(List.of(ands)); + } @CustomType.Setter public Builder costCategory(@Nullable CostCategoryRuleRuleOrCostCategory costCategory) { @@ -69,6 +100,21 @@ public Builder dimension(@Nullable CostCategoryRuleRuleOrDimension dimension) { return this; } @CustomType.Setter + public Builder not(@Nullable CostCategoryRuleRuleOrNot not) { + + this.not = not; + return this; + } + @CustomType.Setter + public Builder ors(@Nullable List ors) { + + this.ors = ors; + return this; + } + public Builder ors(CostCategoryRuleRuleOrOr... ors) { + return ors(List.of(ors)); + } + @CustomType.Setter public Builder tags(@Nullable CostCategoryRuleRuleOrTags tags) { this.tags = tags; @@ -76,8 +122,11 @@ public Builder tags(@Nullable CostCategoryRuleRuleOrTags tags) { } public CostCategoryRuleRuleOr build() { final var _resultValue = new CostCategoryRuleRuleOr(); + _resultValue.ands = ands; _resultValue.costCategory = costCategory; _resultValue.dimension = dimension; + _resultValue.not = not; + _resultValue.ors = ors; _resultValue.tags = tags; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAnd.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAnd.java new file mode 100644 index 00000000000..f5e41bf4ed5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAnd.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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleOrAndCostCategory; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleOrAndDimension; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleOrAndTags; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleOrAnd { + private @Nullable CostCategoryRuleRuleOrAndCostCategory costCategory; + private @Nullable CostCategoryRuleRuleOrAndDimension dimension; + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + private @Nullable CostCategoryRuleRuleOrAndTags tags; + + private CostCategoryRuleRuleOrAnd() {} + public Optional costCategory() { + return Optional.ofNullable(this.costCategory); + } + public Optional dimension() { + return Optional.ofNullable(this.dimension); + } + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional tags() { + return Optional.ofNullable(this.tags); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleOrAnd defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable CostCategoryRuleRuleOrAndCostCategory costCategory; + private @Nullable CostCategoryRuleRuleOrAndDimension dimension; + private @Nullable CostCategoryRuleRuleOrAndTags tags; + public Builder() {} + public Builder(CostCategoryRuleRuleOrAnd defaults) { + Objects.requireNonNull(defaults); + this.costCategory = defaults.costCategory; + this.dimension = defaults.dimension; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategory(@Nullable CostCategoryRuleRuleOrAndCostCategory costCategory) { + + this.costCategory = costCategory; + return this; + } + @CustomType.Setter + public Builder dimension(@Nullable CostCategoryRuleRuleOrAndDimension dimension) { + + this.dimension = dimension; + return this; + } + @CustomType.Setter + public Builder tags(@Nullable CostCategoryRuleRuleOrAndTags tags) { + + this.tags = tags; + return this; + } + public CostCategoryRuleRuleOrAnd build() { + final var _resultValue = new CostCategoryRuleRuleOrAnd(); + _resultValue.costCategory = costCategory; + _resultValue.dimension = dimension; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAndCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAndCostCategory.java new file mode 100644 index 00000000000..b8283b4f674 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAndCostCategory.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleOrAndCostCategory { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleOrAndCostCategory() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleOrAndCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleOrAndCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleOrAndCostCategory build() { + final var _resultValue = new CostCategoryRuleRuleOrAndCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAndDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAndDimension.java new file mode 100644 index 00000000000..008de615893 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAndDimension.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleOrAndDimension { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleOrAndDimension() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleOrAndDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleOrAndDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleOrAndDimension build() { + final var _resultValue = new CostCategoryRuleRuleOrAndDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAndTags.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAndTags.java new file mode 100644 index 00000000000..03ab67beba7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrAndTags.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleOrAndTags { + /** + * @return Key for the tag. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleOrAndTags() {} + /** + * @return Key for the tag. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleOrAndTags defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleOrAndTags defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleOrAndTags build() { + final var _resultValue = new CostCategoryRuleRuleOrAndTags(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNot.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNot.java new file mode 100644 index 00000000000..1d1c0c6dea6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNot.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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleOrNotCostCategory; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleOrNotDimension; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleOrNotTags; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleOrNot { + private @Nullable CostCategoryRuleRuleOrNotCostCategory costCategory; + private @Nullable CostCategoryRuleRuleOrNotDimension dimension; + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + private @Nullable CostCategoryRuleRuleOrNotTags tags; + + private CostCategoryRuleRuleOrNot() {} + public Optional costCategory() { + return Optional.ofNullable(this.costCategory); + } + public Optional dimension() { + return Optional.ofNullable(this.dimension); + } + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional tags() { + return Optional.ofNullable(this.tags); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleOrNot defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable CostCategoryRuleRuleOrNotCostCategory costCategory; + private @Nullable CostCategoryRuleRuleOrNotDimension dimension; + private @Nullable CostCategoryRuleRuleOrNotTags tags; + public Builder() {} + public Builder(CostCategoryRuleRuleOrNot defaults) { + Objects.requireNonNull(defaults); + this.costCategory = defaults.costCategory; + this.dimension = defaults.dimension; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategory(@Nullable CostCategoryRuleRuleOrNotCostCategory costCategory) { + + this.costCategory = costCategory; + return this; + } + @CustomType.Setter + public Builder dimension(@Nullable CostCategoryRuleRuleOrNotDimension dimension) { + + this.dimension = dimension; + return this; + } + @CustomType.Setter + public Builder tags(@Nullable CostCategoryRuleRuleOrNotTags tags) { + + this.tags = tags; + return this; + } + public CostCategoryRuleRuleOrNot build() { + final var _resultValue = new CostCategoryRuleRuleOrNot(); + _resultValue.costCategory = costCategory; + _resultValue.dimension = dimension; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNotCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNotCostCategory.java new file mode 100644 index 00000000000..44202e9552f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNotCostCategory.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleOrNotCostCategory { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleOrNotCostCategory() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleOrNotCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleOrNotCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleOrNotCostCategory build() { + final var _resultValue = new CostCategoryRuleRuleOrNotCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNotDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNotDimension.java new file mode 100644 index 00000000000..6159dfd0710 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNotDimension.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleOrNotDimension { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleOrNotDimension() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleOrNotDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleOrNotDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleOrNotDimension build() { + final var _resultValue = new CostCategoryRuleRuleOrNotDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNotTags.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNotTags.java new file mode 100644 index 00000000000..5b95fc86cff --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrNotTags.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleOrNotTags { + /** + * @return Key for the tag. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleOrNotTags() {} + /** + * @return Key for the tag. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleOrNotTags defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleOrNotTags defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleOrNotTags build() { + final var _resultValue = new CostCategoryRuleRuleOrNotTags(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOr.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOr.java new file mode 100644 index 00000000000..daca4ef9890 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOr.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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleOrOrCostCategory; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleOrOrDimension; +import com.pulumi.aws.costexplorer.outputs.CostCategoryRuleRuleOrOrTags; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleOrOr { + private @Nullable CostCategoryRuleRuleOrOrCostCategory costCategory; + private @Nullable CostCategoryRuleRuleOrOrDimension dimension; + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + private @Nullable CostCategoryRuleRuleOrOrTags tags; + + private CostCategoryRuleRuleOrOr() {} + public Optional costCategory() { + return Optional.ofNullable(this.costCategory); + } + public Optional dimension() { + return Optional.ofNullable(this.dimension); + } + /** + * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional tags() { + return Optional.ofNullable(this.tags); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleOrOr defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable CostCategoryRuleRuleOrOrCostCategory costCategory; + private @Nullable CostCategoryRuleRuleOrOrDimension dimension; + private @Nullable CostCategoryRuleRuleOrOrTags tags; + public Builder() {} + public Builder(CostCategoryRuleRuleOrOr defaults) { + Objects.requireNonNull(defaults); + this.costCategory = defaults.costCategory; + this.dimension = defaults.dimension; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategory(@Nullable CostCategoryRuleRuleOrOrCostCategory costCategory) { + + this.costCategory = costCategory; + return this; + } + @CustomType.Setter + public Builder dimension(@Nullable CostCategoryRuleRuleOrOrDimension dimension) { + + this.dimension = dimension; + return this; + } + @CustomType.Setter + public Builder tags(@Nullable CostCategoryRuleRuleOrOrTags tags) { + + this.tags = tags; + return this; + } + public CostCategoryRuleRuleOrOr build() { + final var _resultValue = new CostCategoryRuleRuleOrOr(); + _resultValue.costCategory = costCategory; + _resultValue.dimension = dimension; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOrCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOrCostCategory.java new file mode 100644 index 00000000000..84c236d0982 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOrCostCategory.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleOrOrCostCategory { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleOrOrCostCategory() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleOrOrCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleOrOrCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleOrOrCostCategory build() { + final var _resultValue = new CostCategoryRuleRuleOrOrCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOrDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOrDimension.java new file mode 100644 index 00000000000..db962354b1e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOrDimension.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleOrOrDimension { + /** + * @return Unique name of the Cost Category. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleOrOrDimension() {} + /** + * @return Unique name of the Cost Category. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleOrOrDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleOrOrDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleOrOrDimension build() { + final var _resultValue = new CostCategoryRuleRuleOrOrDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOrTags.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOrTags.java new file mode 100644 index 00000000000..7203614170a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/CostCategoryRuleRuleOrOrTags.java @@ -0,0 +1,106 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CostCategoryRuleRuleOrOrTags { + /** + * @return Key for the tag. + * + */ + private @Nullable String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private @Nullable List matchOptions; + /** + * @return Specific value of the Cost Category. + * + */ + private @Nullable List values; + + private CostCategoryRuleRuleOrOrTags() {} + /** + * @return Key for the tag. + * + */ + public Optional key() { + return Optional.ofNullable(this.key); + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions == null ? List.of() : this.matchOptions; + } + /** + * @return Specific value of the Cost Category. + * + */ + public List values() { + return this.values == null ? List.of() : this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CostCategoryRuleRuleOrOrTags defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String key; + private @Nullable List matchOptions; + private @Nullable List values; + public Builder() {} + public Builder(CostCategoryRuleRuleOrOrTags defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(@Nullable String key) { + + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(@Nullable List matchOptions) { + + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(@Nullable List values) { + + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public CostCategoryRuleRuleOrOrTags build() { + final var _resultValue = new CostCategoryRuleRuleOrOrTags(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAnd.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAnd.java index df591d5b0cb..c4c13ab2f83 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAnd.java +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAnd.java @@ -3,8 +3,11 @@ package com.pulumi.aws.costexplorer.outputs; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleAndAnd; import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleAndCostCategory; import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleAndDimension; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleAndNot; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleAndOr; import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleAndTag; import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; @@ -13,6 +16,11 @@ @CustomType public final class GetCostCategoryRuleRuleAnd { + /** + * @return Return results that match both `Dimension` objects. + * + */ + private List ands; /** * @return Configuration block for the filter that's based on `CostCategory` values. See below. * @@ -23,6 +31,16 @@ public final class GetCostCategoryRuleRuleAnd { * */ private List dimensions; + /** + * @return Return results that do not match the `Dimension` object. + * + */ + private List nots; + /** + * @return Return results that match either `Dimension` object. + * + */ + private List ors; /** * @return Configuration block for the specific `Tag` to use for `Expression`. See below. * @@ -30,6 +48,13 @@ public final class GetCostCategoryRuleRuleAnd { private List tags; private GetCostCategoryRuleRuleAnd() {} + /** + * @return Return results that match both `Dimension` objects. + * + */ + public List ands() { + return this.ands; + } /** * @return Configuration block for the filter that's based on `CostCategory` values. See below. * @@ -44,6 +69,20 @@ public List costCategories() { public List dimensions() { return this.dimensions; } + /** + * @return Return results that do not match the `Dimension` object. + * + */ + public List nots() { + return this.nots; + } + /** + * @return Return results that match either `Dimension` object. + * + */ + public List ors() { + return this.ors; + } /** * @return Configuration block for the specific `Tag` to use for `Expression`. See below. * @@ -61,17 +100,34 @@ public static Builder builder(GetCostCategoryRuleRuleAnd defaults) { } @CustomType.Builder public static final class Builder { + private List ands; private List costCategories; private List dimensions; + private List nots; + private List ors; private List tags; public Builder() {} public Builder(GetCostCategoryRuleRuleAnd defaults) { Objects.requireNonNull(defaults); + this.ands = defaults.ands; this.costCategories = defaults.costCategories; this.dimensions = defaults.dimensions; + this.nots = defaults.nots; + this.ors = defaults.ors; this.tags = defaults.tags; } + @CustomType.Setter + public Builder ands(List ands) { + if (ands == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAnd", "ands"); + } + this.ands = ands; + return this; + } + public Builder ands(GetCostCategoryRuleRuleAndAnd... ands) { + return ands(List.of(ands)); + } @CustomType.Setter public Builder costCategories(List costCategories) { if (costCategories == null) { @@ -95,6 +151,28 @@ public Builder dimensions(GetCostCategoryRuleRuleAndDimension... dimensions) { return dimensions(List.of(dimensions)); } @CustomType.Setter + public Builder nots(List nots) { + if (nots == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAnd", "nots"); + } + this.nots = nots; + return this; + } + public Builder nots(GetCostCategoryRuleRuleAndNot... nots) { + return nots(List.of(nots)); + } + @CustomType.Setter + public Builder ors(List ors) { + if (ors == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAnd", "ors"); + } + this.ors = ors; + return this; + } + public Builder ors(GetCostCategoryRuleRuleAndOr... ors) { + return ors(List.of(ors)); + } + @CustomType.Setter public Builder tags(List tags) { if (tags == null) { throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAnd", "tags"); @@ -107,8 +185,11 @@ public Builder tags(GetCostCategoryRuleRuleAndTag... tags) { } public GetCostCategoryRuleRuleAnd build() { final var _resultValue = new GetCostCategoryRuleRuleAnd(); + _resultValue.ands = ands; _resultValue.costCategories = costCategories; _resultValue.dimensions = dimensions; + _resultValue.nots = nots; + _resultValue.ors = ors; _resultValue.tags = tags; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAnd.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAnd.java new file mode 100644 index 00000000000..744d83ea60e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAnd.java @@ -0,0 +1,116 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleAndAndCostCategory; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleAndAndDimension; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleAndAndTag; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetCostCategoryRuleRuleAndAnd { + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + private List costCategories; + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + private List dimensions; + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + private List tags; + + private GetCostCategoryRuleRuleAndAnd() {} + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + public List costCategories() { + return this.costCategories; + } + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + public List dimensions() { + return this.dimensions; + } + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + public List tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleAndAnd defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List costCategories; + private List dimensions; + private List tags; + public Builder() {} + public Builder(GetCostCategoryRuleRuleAndAnd defaults) { + Objects.requireNonNull(defaults); + this.costCategories = defaults.costCategories; + this.dimensions = defaults.dimensions; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategories(List costCategories) { + if (costCategories == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndAnd", "costCategories"); + } + this.costCategories = costCategories; + return this; + } + public Builder costCategories(GetCostCategoryRuleRuleAndAndCostCategory... costCategories) { + return costCategories(List.of(costCategories)); + } + @CustomType.Setter + public Builder dimensions(List dimensions) { + if (dimensions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndAnd", "dimensions"); + } + this.dimensions = dimensions; + return this; + } + public Builder dimensions(GetCostCategoryRuleRuleAndAndDimension... dimensions) { + return dimensions(List.of(dimensions)); + } + @CustomType.Setter + public Builder tags(List tags) { + if (tags == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndAnd", "tags"); + } + this.tags = tags; + return this; + } + public Builder tags(GetCostCategoryRuleRuleAndAndTag... tags) { + return tags(List.of(tags)); + } + public GetCostCategoryRuleRuleAndAnd build() { + final var _resultValue = new GetCostCategoryRuleRuleAndAnd(); + _resultValue.costCategories = costCategories; + _resultValue.dimensions = dimensions; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAndCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAndCostCategory.java new file mode 100644 index 00000000000..a90c10a4d4b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAndCostCategory.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleAndAndCostCategory { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleAndAndCostCategory() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleAndAndCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleAndAndCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndAndCostCategory", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndAndCostCategory", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndAndCostCategory", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleAndAndCostCategory build() { + final var _resultValue = new GetCostCategoryRuleRuleAndAndCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAndDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAndDimension.java new file mode 100644 index 00000000000..33e1f183901 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAndDimension.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleAndAndDimension { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleAndAndDimension() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleAndAndDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleAndAndDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndAndDimension", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndAndDimension", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndAndDimension", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleAndAndDimension build() { + final var _resultValue = new GetCostCategoryRuleRuleAndAndDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAndTag.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAndTag.java new file mode 100644 index 00000000000..cbe9dc1cbf9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndAndTag.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleAndAndTag { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleAndAndTag() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleAndAndTag defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleAndAndTag defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndAndTag", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndAndTag", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndAndTag", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleAndAndTag build() { + final var _resultValue = new GetCostCategoryRuleRuleAndAndTag(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNot.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNot.java new file mode 100644 index 00000000000..cbe2c1198b8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNot.java @@ -0,0 +1,116 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleAndNotCostCategory; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleAndNotDimension; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleAndNotTag; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetCostCategoryRuleRuleAndNot { + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + private List costCategories; + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + private List dimensions; + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + private List tags; + + private GetCostCategoryRuleRuleAndNot() {} + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + public List costCategories() { + return this.costCategories; + } + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + public List dimensions() { + return this.dimensions; + } + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + public List tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleAndNot defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List costCategories; + private List dimensions; + private List tags; + public Builder() {} + public Builder(GetCostCategoryRuleRuleAndNot defaults) { + Objects.requireNonNull(defaults); + this.costCategories = defaults.costCategories; + this.dimensions = defaults.dimensions; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategories(List costCategories) { + if (costCategories == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndNot", "costCategories"); + } + this.costCategories = costCategories; + return this; + } + public Builder costCategories(GetCostCategoryRuleRuleAndNotCostCategory... costCategories) { + return costCategories(List.of(costCategories)); + } + @CustomType.Setter + public Builder dimensions(List dimensions) { + if (dimensions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndNot", "dimensions"); + } + this.dimensions = dimensions; + return this; + } + public Builder dimensions(GetCostCategoryRuleRuleAndNotDimension... dimensions) { + return dimensions(List.of(dimensions)); + } + @CustomType.Setter + public Builder tags(List tags) { + if (tags == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndNot", "tags"); + } + this.tags = tags; + return this; + } + public Builder tags(GetCostCategoryRuleRuleAndNotTag... tags) { + return tags(List.of(tags)); + } + public GetCostCategoryRuleRuleAndNot build() { + final var _resultValue = new GetCostCategoryRuleRuleAndNot(); + _resultValue.costCategories = costCategories; + _resultValue.dimensions = dimensions; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNotCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNotCostCategory.java new file mode 100644 index 00000000000..e50df86d518 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNotCostCategory.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleAndNotCostCategory { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleAndNotCostCategory() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleAndNotCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleAndNotCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndNotCostCategory", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndNotCostCategory", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndNotCostCategory", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleAndNotCostCategory build() { + final var _resultValue = new GetCostCategoryRuleRuleAndNotCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNotDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNotDimension.java new file mode 100644 index 00000000000..46cab1a72b8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNotDimension.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleAndNotDimension { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleAndNotDimension() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleAndNotDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleAndNotDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndNotDimension", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndNotDimension", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndNotDimension", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleAndNotDimension build() { + final var _resultValue = new GetCostCategoryRuleRuleAndNotDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNotTag.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNotTag.java new file mode 100644 index 00000000000..455c2b79bbc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndNotTag.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleAndNotTag { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleAndNotTag() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleAndNotTag defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleAndNotTag defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndNotTag", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndNotTag", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndNotTag", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleAndNotTag build() { + final var _resultValue = new GetCostCategoryRuleRuleAndNotTag(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOr.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOr.java new file mode 100644 index 00000000000..405354ab1d6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOr.java @@ -0,0 +1,116 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleAndOrCostCategory; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleAndOrDimension; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleAndOrTag; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetCostCategoryRuleRuleAndOr { + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + private List costCategories; + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + private List dimensions; + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + private List tags; + + private GetCostCategoryRuleRuleAndOr() {} + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + public List costCategories() { + return this.costCategories; + } + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + public List dimensions() { + return this.dimensions; + } + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + public List tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleAndOr defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List costCategories; + private List dimensions; + private List tags; + public Builder() {} + public Builder(GetCostCategoryRuleRuleAndOr defaults) { + Objects.requireNonNull(defaults); + this.costCategories = defaults.costCategories; + this.dimensions = defaults.dimensions; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategories(List costCategories) { + if (costCategories == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndOr", "costCategories"); + } + this.costCategories = costCategories; + return this; + } + public Builder costCategories(GetCostCategoryRuleRuleAndOrCostCategory... costCategories) { + return costCategories(List.of(costCategories)); + } + @CustomType.Setter + public Builder dimensions(List dimensions) { + if (dimensions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndOr", "dimensions"); + } + this.dimensions = dimensions; + return this; + } + public Builder dimensions(GetCostCategoryRuleRuleAndOrDimension... dimensions) { + return dimensions(List.of(dimensions)); + } + @CustomType.Setter + public Builder tags(List tags) { + if (tags == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndOr", "tags"); + } + this.tags = tags; + return this; + } + public Builder tags(GetCostCategoryRuleRuleAndOrTag... tags) { + return tags(List.of(tags)); + } + public GetCostCategoryRuleRuleAndOr build() { + final var _resultValue = new GetCostCategoryRuleRuleAndOr(); + _resultValue.costCategories = costCategories; + _resultValue.dimensions = dimensions; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOrCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOrCostCategory.java new file mode 100644 index 00000000000..2c237f2d93c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOrCostCategory.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleAndOrCostCategory { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleAndOrCostCategory() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleAndOrCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleAndOrCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndOrCostCategory", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndOrCostCategory", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndOrCostCategory", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleAndOrCostCategory build() { + final var _resultValue = new GetCostCategoryRuleRuleAndOrCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOrDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOrDimension.java new file mode 100644 index 00000000000..025430e736d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOrDimension.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleAndOrDimension { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleAndOrDimension() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleAndOrDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleAndOrDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndOrDimension", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndOrDimension", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndOrDimension", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleAndOrDimension build() { + final var _resultValue = new GetCostCategoryRuleRuleAndOrDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOrTag.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOrTag.java new file mode 100644 index 00000000000..748ac20368d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleAndOrTag.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleAndOrTag { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleAndOrTag() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleAndOrTag defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleAndOrTag defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndOrTag", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndOrTag", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleAndOrTag", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleAndOrTag build() { + final var _resultValue = new GetCostCategoryRuleRuleAndOrTag(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNot.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNot.java index bbea668916f..ed78ca336e5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNot.java +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNot.java @@ -3,8 +3,11 @@ package com.pulumi.aws.costexplorer.outputs; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleNotAnd; import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleNotCostCategory; import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleNotDimension; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleNotNot; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleNotOr; import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleNotTag; import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; @@ -13,6 +16,11 @@ @CustomType public final class GetCostCategoryRuleRuleNot { + /** + * @return Return results that match both `Dimension` objects. + * + */ + private List ands; /** * @return Configuration block for the filter that's based on `CostCategory` values. See below. * @@ -23,6 +31,16 @@ public final class GetCostCategoryRuleRuleNot { * */ private List dimensions; + /** + * @return Return results that do not match the `Dimension` object. + * + */ + private List nots; + /** + * @return Return results that match either `Dimension` object. + * + */ + private List ors; /** * @return Configuration block for the specific `Tag` to use for `Expression`. See below. * @@ -30,6 +48,13 @@ public final class GetCostCategoryRuleRuleNot { private List tags; private GetCostCategoryRuleRuleNot() {} + /** + * @return Return results that match both `Dimension` objects. + * + */ + public List ands() { + return this.ands; + } /** * @return Configuration block for the filter that's based on `CostCategory` values. See below. * @@ -44,6 +69,20 @@ public List costCategories() { public List dimensions() { return this.dimensions; } + /** + * @return Return results that do not match the `Dimension` object. + * + */ + public List nots() { + return this.nots; + } + /** + * @return Return results that match either `Dimension` object. + * + */ + public List ors() { + return this.ors; + } /** * @return Configuration block for the specific `Tag` to use for `Expression`. See below. * @@ -61,17 +100,34 @@ public static Builder builder(GetCostCategoryRuleRuleNot defaults) { } @CustomType.Builder public static final class Builder { + private List ands; private List costCategories; private List dimensions; + private List nots; + private List ors; private List tags; public Builder() {} public Builder(GetCostCategoryRuleRuleNot defaults) { Objects.requireNonNull(defaults); + this.ands = defaults.ands; this.costCategories = defaults.costCategories; this.dimensions = defaults.dimensions; + this.nots = defaults.nots; + this.ors = defaults.ors; this.tags = defaults.tags; } + @CustomType.Setter + public Builder ands(List ands) { + if (ands == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNot", "ands"); + } + this.ands = ands; + return this; + } + public Builder ands(GetCostCategoryRuleRuleNotAnd... ands) { + return ands(List.of(ands)); + } @CustomType.Setter public Builder costCategories(List costCategories) { if (costCategories == null) { @@ -95,6 +151,28 @@ public Builder dimensions(GetCostCategoryRuleRuleNotDimension... dimensions) { return dimensions(List.of(dimensions)); } @CustomType.Setter + public Builder nots(List nots) { + if (nots == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNot", "nots"); + } + this.nots = nots; + return this; + } + public Builder nots(GetCostCategoryRuleRuleNotNot... nots) { + return nots(List.of(nots)); + } + @CustomType.Setter + public Builder ors(List ors) { + if (ors == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNot", "ors"); + } + this.ors = ors; + return this; + } + public Builder ors(GetCostCategoryRuleRuleNotOr... ors) { + return ors(List.of(ors)); + } + @CustomType.Setter public Builder tags(List tags) { if (tags == null) { throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNot", "tags"); @@ -107,8 +185,11 @@ public Builder tags(GetCostCategoryRuleRuleNotTag... tags) { } public GetCostCategoryRuleRuleNot build() { final var _resultValue = new GetCostCategoryRuleRuleNot(); + _resultValue.ands = ands; _resultValue.costCategories = costCategories; _resultValue.dimensions = dimensions; + _resultValue.nots = nots; + _resultValue.ors = ors; _resultValue.tags = tags; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAnd.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAnd.java new file mode 100644 index 00000000000..42b5e395549 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAnd.java @@ -0,0 +1,116 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleNotAndCostCategory; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleNotAndDimension; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleNotAndTag; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetCostCategoryRuleRuleNotAnd { + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + private List costCategories; + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + private List dimensions; + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + private List tags; + + private GetCostCategoryRuleRuleNotAnd() {} + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + public List costCategories() { + return this.costCategories; + } + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + public List dimensions() { + return this.dimensions; + } + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + public List tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleNotAnd defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List costCategories; + private List dimensions; + private List tags; + public Builder() {} + public Builder(GetCostCategoryRuleRuleNotAnd defaults) { + Objects.requireNonNull(defaults); + this.costCategories = defaults.costCategories; + this.dimensions = defaults.dimensions; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategories(List costCategories) { + if (costCategories == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotAnd", "costCategories"); + } + this.costCategories = costCategories; + return this; + } + public Builder costCategories(GetCostCategoryRuleRuleNotAndCostCategory... costCategories) { + return costCategories(List.of(costCategories)); + } + @CustomType.Setter + public Builder dimensions(List dimensions) { + if (dimensions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotAnd", "dimensions"); + } + this.dimensions = dimensions; + return this; + } + public Builder dimensions(GetCostCategoryRuleRuleNotAndDimension... dimensions) { + return dimensions(List.of(dimensions)); + } + @CustomType.Setter + public Builder tags(List tags) { + if (tags == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotAnd", "tags"); + } + this.tags = tags; + return this; + } + public Builder tags(GetCostCategoryRuleRuleNotAndTag... tags) { + return tags(List.of(tags)); + } + public GetCostCategoryRuleRuleNotAnd build() { + final var _resultValue = new GetCostCategoryRuleRuleNotAnd(); + _resultValue.costCategories = costCategories; + _resultValue.dimensions = dimensions; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAndCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAndCostCategory.java new file mode 100644 index 00000000000..80c2e8fe59f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAndCostCategory.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleNotAndCostCategory { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleNotAndCostCategory() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleNotAndCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleNotAndCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotAndCostCategory", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotAndCostCategory", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotAndCostCategory", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleNotAndCostCategory build() { + final var _resultValue = new GetCostCategoryRuleRuleNotAndCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAndDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAndDimension.java new file mode 100644 index 00000000000..f6e255964b7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAndDimension.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleNotAndDimension { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleNotAndDimension() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleNotAndDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleNotAndDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotAndDimension", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotAndDimension", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotAndDimension", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleNotAndDimension build() { + final var _resultValue = new GetCostCategoryRuleRuleNotAndDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAndTag.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAndTag.java new file mode 100644 index 00000000000..d7df4f2714a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotAndTag.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleNotAndTag { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleNotAndTag() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleNotAndTag defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleNotAndTag defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotAndTag", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotAndTag", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotAndTag", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleNotAndTag build() { + final var _resultValue = new GetCostCategoryRuleRuleNotAndTag(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNot.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNot.java new file mode 100644 index 00000000000..e19fe272b4d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNot.java @@ -0,0 +1,116 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleNotNotCostCategory; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleNotNotDimension; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleNotNotTag; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetCostCategoryRuleRuleNotNot { + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + private List costCategories; + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + private List dimensions; + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + private List tags; + + private GetCostCategoryRuleRuleNotNot() {} + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + public List costCategories() { + return this.costCategories; + } + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + public List dimensions() { + return this.dimensions; + } + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + public List tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleNotNot defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List costCategories; + private List dimensions; + private List tags; + public Builder() {} + public Builder(GetCostCategoryRuleRuleNotNot defaults) { + Objects.requireNonNull(defaults); + this.costCategories = defaults.costCategories; + this.dimensions = defaults.dimensions; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategories(List costCategories) { + if (costCategories == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotNot", "costCategories"); + } + this.costCategories = costCategories; + return this; + } + public Builder costCategories(GetCostCategoryRuleRuleNotNotCostCategory... costCategories) { + return costCategories(List.of(costCategories)); + } + @CustomType.Setter + public Builder dimensions(List dimensions) { + if (dimensions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotNot", "dimensions"); + } + this.dimensions = dimensions; + return this; + } + public Builder dimensions(GetCostCategoryRuleRuleNotNotDimension... dimensions) { + return dimensions(List.of(dimensions)); + } + @CustomType.Setter + public Builder tags(List tags) { + if (tags == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotNot", "tags"); + } + this.tags = tags; + return this; + } + public Builder tags(GetCostCategoryRuleRuleNotNotTag... tags) { + return tags(List.of(tags)); + } + public GetCostCategoryRuleRuleNotNot build() { + final var _resultValue = new GetCostCategoryRuleRuleNotNot(); + _resultValue.costCategories = costCategories; + _resultValue.dimensions = dimensions; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNotCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNotCostCategory.java new file mode 100644 index 00000000000..f72a72a21ab --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNotCostCategory.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleNotNotCostCategory { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleNotNotCostCategory() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleNotNotCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleNotNotCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotNotCostCategory", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotNotCostCategory", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotNotCostCategory", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleNotNotCostCategory build() { + final var _resultValue = new GetCostCategoryRuleRuleNotNotCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNotDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNotDimension.java new file mode 100644 index 00000000000..b354f00b81e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNotDimension.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleNotNotDimension { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleNotNotDimension() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleNotNotDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleNotNotDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotNotDimension", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotNotDimension", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotNotDimension", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleNotNotDimension build() { + final var _resultValue = new GetCostCategoryRuleRuleNotNotDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNotTag.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNotTag.java new file mode 100644 index 00000000000..049307c0ce8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotNotTag.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleNotNotTag { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleNotNotTag() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleNotNotTag defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleNotNotTag defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotNotTag", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotNotTag", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotNotTag", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleNotNotTag build() { + final var _resultValue = new GetCostCategoryRuleRuleNotNotTag(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOr.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOr.java new file mode 100644 index 00000000000..63a0e1118c1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOr.java @@ -0,0 +1,116 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleNotOrCostCategory; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleNotOrDimension; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleNotOrTag; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetCostCategoryRuleRuleNotOr { + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + private List costCategories; + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + private List dimensions; + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + private List tags; + + private GetCostCategoryRuleRuleNotOr() {} + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + public List costCategories() { + return this.costCategories; + } + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + public List dimensions() { + return this.dimensions; + } + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + public List tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleNotOr defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List costCategories; + private List dimensions; + private List tags; + public Builder() {} + public Builder(GetCostCategoryRuleRuleNotOr defaults) { + Objects.requireNonNull(defaults); + this.costCategories = defaults.costCategories; + this.dimensions = defaults.dimensions; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategories(List costCategories) { + if (costCategories == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotOr", "costCategories"); + } + this.costCategories = costCategories; + return this; + } + public Builder costCategories(GetCostCategoryRuleRuleNotOrCostCategory... costCategories) { + return costCategories(List.of(costCategories)); + } + @CustomType.Setter + public Builder dimensions(List dimensions) { + if (dimensions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotOr", "dimensions"); + } + this.dimensions = dimensions; + return this; + } + public Builder dimensions(GetCostCategoryRuleRuleNotOrDimension... dimensions) { + return dimensions(List.of(dimensions)); + } + @CustomType.Setter + public Builder tags(List tags) { + if (tags == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotOr", "tags"); + } + this.tags = tags; + return this; + } + public Builder tags(GetCostCategoryRuleRuleNotOrTag... tags) { + return tags(List.of(tags)); + } + public GetCostCategoryRuleRuleNotOr build() { + final var _resultValue = new GetCostCategoryRuleRuleNotOr(); + _resultValue.costCategories = costCategories; + _resultValue.dimensions = dimensions; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOrCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOrCostCategory.java new file mode 100644 index 00000000000..0a2b01bf00d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOrCostCategory.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleNotOrCostCategory { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleNotOrCostCategory() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleNotOrCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleNotOrCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotOrCostCategory", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotOrCostCategory", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotOrCostCategory", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleNotOrCostCategory build() { + final var _resultValue = new GetCostCategoryRuleRuleNotOrCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOrDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOrDimension.java new file mode 100644 index 00000000000..cb63a25ddb5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOrDimension.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleNotOrDimension { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleNotOrDimension() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleNotOrDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleNotOrDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotOrDimension", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotOrDimension", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotOrDimension", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleNotOrDimension build() { + final var _resultValue = new GetCostCategoryRuleRuleNotOrDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOrTag.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOrTag.java new file mode 100644 index 00000000000..2dcdfc33ccb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleNotOrTag.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleNotOrTag { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleNotOrTag() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleNotOrTag defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleNotOrTag defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotOrTag", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotOrTag", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleNotOrTag", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleNotOrTag build() { + final var _resultValue = new GetCostCategoryRuleRuleNotOrTag(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOr.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOr.java index 10359bcb514..734f20dfa5f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOr.java +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOr.java @@ -3,8 +3,11 @@ package com.pulumi.aws.costexplorer.outputs; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleOrAnd; import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleOrCostCategory; import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleOrDimension; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleOrNot; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleOrOr; import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleOrTag; import com.pulumi.core.annotations.CustomType; import com.pulumi.exceptions.MissingRequiredPropertyException; @@ -13,6 +16,11 @@ @CustomType public final class GetCostCategoryRuleRuleOr { + /** + * @return Return results that match both `Dimension` objects. + * + */ + private List ands; /** * @return Configuration block for the filter that's based on `CostCategory` values. See below. * @@ -23,6 +31,16 @@ public final class GetCostCategoryRuleRuleOr { * */ private List dimensions; + /** + * @return Return results that do not match the `Dimension` object. + * + */ + private List nots; + /** + * @return Return results that match either `Dimension` object. + * + */ + private List ors; /** * @return Configuration block for the specific `Tag` to use for `Expression`. See below. * @@ -30,6 +48,13 @@ public final class GetCostCategoryRuleRuleOr { private List tags; private GetCostCategoryRuleRuleOr() {} + /** + * @return Return results that match both `Dimension` objects. + * + */ + public List ands() { + return this.ands; + } /** * @return Configuration block for the filter that's based on `CostCategory` values. See below. * @@ -44,6 +69,20 @@ public List costCategories() { public List dimensions() { return this.dimensions; } + /** + * @return Return results that do not match the `Dimension` object. + * + */ + public List nots() { + return this.nots; + } + /** + * @return Return results that match either `Dimension` object. + * + */ + public List ors() { + return this.ors; + } /** * @return Configuration block for the specific `Tag` to use for `Expression`. See below. * @@ -61,17 +100,34 @@ public static Builder builder(GetCostCategoryRuleRuleOr defaults) { } @CustomType.Builder public static final class Builder { + private List ands; private List costCategories; private List dimensions; + private List nots; + private List ors; private List tags; public Builder() {} public Builder(GetCostCategoryRuleRuleOr defaults) { Objects.requireNonNull(defaults); + this.ands = defaults.ands; this.costCategories = defaults.costCategories; this.dimensions = defaults.dimensions; + this.nots = defaults.nots; + this.ors = defaults.ors; this.tags = defaults.tags; } + @CustomType.Setter + public Builder ands(List ands) { + if (ands == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOr", "ands"); + } + this.ands = ands; + return this; + } + public Builder ands(GetCostCategoryRuleRuleOrAnd... ands) { + return ands(List.of(ands)); + } @CustomType.Setter public Builder costCategories(List costCategories) { if (costCategories == null) { @@ -95,6 +151,28 @@ public Builder dimensions(GetCostCategoryRuleRuleOrDimension... dimensions) { return dimensions(List.of(dimensions)); } @CustomType.Setter + public Builder nots(List nots) { + if (nots == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOr", "nots"); + } + this.nots = nots; + return this; + } + public Builder nots(GetCostCategoryRuleRuleOrNot... nots) { + return nots(List.of(nots)); + } + @CustomType.Setter + public Builder ors(List ors) { + if (ors == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOr", "ors"); + } + this.ors = ors; + return this; + } + public Builder ors(GetCostCategoryRuleRuleOrOr... ors) { + return ors(List.of(ors)); + } + @CustomType.Setter public Builder tags(List tags) { if (tags == null) { throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOr", "tags"); @@ -107,8 +185,11 @@ public Builder tags(GetCostCategoryRuleRuleOrTag... tags) { } public GetCostCategoryRuleRuleOr build() { final var _resultValue = new GetCostCategoryRuleRuleOr(); + _resultValue.ands = ands; _resultValue.costCategories = costCategories; _resultValue.dimensions = dimensions; + _resultValue.nots = nots; + _resultValue.ors = ors; _resultValue.tags = tags; return _resultValue; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAnd.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAnd.java new file mode 100644 index 00000000000..65652f90bf4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAnd.java @@ -0,0 +1,116 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleOrAndCostCategory; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleOrAndDimension; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleOrAndTag; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetCostCategoryRuleRuleOrAnd { + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + private List costCategories; + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + private List dimensions; + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + private List tags; + + private GetCostCategoryRuleRuleOrAnd() {} + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + public List costCategories() { + return this.costCategories; + } + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + public List dimensions() { + return this.dimensions; + } + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + public List tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleOrAnd defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List costCategories; + private List dimensions; + private List tags; + public Builder() {} + public Builder(GetCostCategoryRuleRuleOrAnd defaults) { + Objects.requireNonNull(defaults); + this.costCategories = defaults.costCategories; + this.dimensions = defaults.dimensions; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategories(List costCategories) { + if (costCategories == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrAnd", "costCategories"); + } + this.costCategories = costCategories; + return this; + } + public Builder costCategories(GetCostCategoryRuleRuleOrAndCostCategory... costCategories) { + return costCategories(List.of(costCategories)); + } + @CustomType.Setter + public Builder dimensions(List dimensions) { + if (dimensions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrAnd", "dimensions"); + } + this.dimensions = dimensions; + return this; + } + public Builder dimensions(GetCostCategoryRuleRuleOrAndDimension... dimensions) { + return dimensions(List.of(dimensions)); + } + @CustomType.Setter + public Builder tags(List tags) { + if (tags == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrAnd", "tags"); + } + this.tags = tags; + return this; + } + public Builder tags(GetCostCategoryRuleRuleOrAndTag... tags) { + return tags(List.of(tags)); + } + public GetCostCategoryRuleRuleOrAnd build() { + final var _resultValue = new GetCostCategoryRuleRuleOrAnd(); + _resultValue.costCategories = costCategories; + _resultValue.dimensions = dimensions; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAndCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAndCostCategory.java new file mode 100644 index 00000000000..7b23542f099 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAndCostCategory.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleOrAndCostCategory { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleOrAndCostCategory() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleOrAndCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleOrAndCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrAndCostCategory", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrAndCostCategory", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrAndCostCategory", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleOrAndCostCategory build() { + final var _resultValue = new GetCostCategoryRuleRuleOrAndCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAndDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAndDimension.java new file mode 100644 index 00000000000..b17ba2bd8e1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAndDimension.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleOrAndDimension { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleOrAndDimension() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleOrAndDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleOrAndDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrAndDimension", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrAndDimension", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrAndDimension", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleOrAndDimension build() { + final var _resultValue = new GetCostCategoryRuleRuleOrAndDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAndTag.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAndTag.java new file mode 100644 index 00000000000..528e56bb49e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrAndTag.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleOrAndTag { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleOrAndTag() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleOrAndTag defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleOrAndTag defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrAndTag", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrAndTag", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrAndTag", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleOrAndTag build() { + final var _resultValue = new GetCostCategoryRuleRuleOrAndTag(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNot.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNot.java new file mode 100644 index 00000000000..c22f6ececf5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNot.java @@ -0,0 +1,116 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleOrNotCostCategory; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleOrNotDimension; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleOrNotTag; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetCostCategoryRuleRuleOrNot { + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + private List costCategories; + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + private List dimensions; + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + private List tags; + + private GetCostCategoryRuleRuleOrNot() {} + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + public List costCategories() { + return this.costCategories; + } + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + public List dimensions() { + return this.dimensions; + } + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + public List tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleOrNot defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List costCategories; + private List dimensions; + private List tags; + public Builder() {} + public Builder(GetCostCategoryRuleRuleOrNot defaults) { + Objects.requireNonNull(defaults); + this.costCategories = defaults.costCategories; + this.dimensions = defaults.dimensions; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategories(List costCategories) { + if (costCategories == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrNot", "costCategories"); + } + this.costCategories = costCategories; + return this; + } + public Builder costCategories(GetCostCategoryRuleRuleOrNotCostCategory... costCategories) { + return costCategories(List.of(costCategories)); + } + @CustomType.Setter + public Builder dimensions(List dimensions) { + if (dimensions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrNot", "dimensions"); + } + this.dimensions = dimensions; + return this; + } + public Builder dimensions(GetCostCategoryRuleRuleOrNotDimension... dimensions) { + return dimensions(List.of(dimensions)); + } + @CustomType.Setter + public Builder tags(List tags) { + if (tags == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrNot", "tags"); + } + this.tags = tags; + return this; + } + public Builder tags(GetCostCategoryRuleRuleOrNotTag... tags) { + return tags(List.of(tags)); + } + public GetCostCategoryRuleRuleOrNot build() { + final var _resultValue = new GetCostCategoryRuleRuleOrNot(); + _resultValue.costCategories = costCategories; + _resultValue.dimensions = dimensions; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNotCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNotCostCategory.java new file mode 100644 index 00000000000..d5373235222 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNotCostCategory.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleOrNotCostCategory { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleOrNotCostCategory() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleOrNotCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleOrNotCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrNotCostCategory", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrNotCostCategory", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrNotCostCategory", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleOrNotCostCategory build() { + final var _resultValue = new GetCostCategoryRuleRuleOrNotCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNotDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNotDimension.java new file mode 100644 index 00000000000..ddb197fa069 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNotDimension.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleOrNotDimension { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleOrNotDimension() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleOrNotDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleOrNotDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrNotDimension", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrNotDimension", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrNotDimension", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleOrNotDimension build() { + final var _resultValue = new GetCostCategoryRuleRuleOrNotDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNotTag.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNotTag.java new file mode 100644 index 00000000000..4d96a8602fd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrNotTag.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleOrNotTag { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleOrNotTag() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleOrNotTag defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleOrNotTag defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrNotTag", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrNotTag", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrNotTag", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleOrNotTag build() { + final var _resultValue = new GetCostCategoryRuleRuleOrNotTag(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOr.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOr.java new file mode 100644 index 00000000000..38c382cdae0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOr.java @@ -0,0 +1,116 @@ +// *** 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.costexplorer.outputs; + +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleOrOrCostCategory; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleOrOrDimension; +import com.pulumi.aws.costexplorer.outputs.GetCostCategoryRuleRuleOrOrTag; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetCostCategoryRuleRuleOrOr { + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + private List costCategories; + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + private List dimensions; + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + private List tags; + + private GetCostCategoryRuleRuleOrOr() {} + /** + * @return Configuration block for the filter that's based on `CostCategory` values. See below. + * + */ + public List costCategories() { + return this.costCategories; + } + /** + * @return Configuration block for the specific `Dimension` to use for `Expression`. See below. + * + */ + public List dimensions() { + return this.dimensions; + } + /** + * @return Configuration block for the specific `Tag` to use for `Expression`. See below. + * + */ + public List tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleOrOr defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List costCategories; + private List dimensions; + private List tags; + public Builder() {} + public Builder(GetCostCategoryRuleRuleOrOr defaults) { + Objects.requireNonNull(defaults); + this.costCategories = defaults.costCategories; + this.dimensions = defaults.dimensions; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder costCategories(List costCategories) { + if (costCategories == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrOr", "costCategories"); + } + this.costCategories = costCategories; + return this; + } + public Builder costCategories(GetCostCategoryRuleRuleOrOrCostCategory... costCategories) { + return costCategories(List.of(costCategories)); + } + @CustomType.Setter + public Builder dimensions(List dimensions) { + if (dimensions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrOr", "dimensions"); + } + this.dimensions = dimensions; + return this; + } + public Builder dimensions(GetCostCategoryRuleRuleOrOrDimension... dimensions) { + return dimensions(List.of(dimensions)); + } + @CustomType.Setter + public Builder tags(List tags) { + if (tags == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrOr", "tags"); + } + this.tags = tags; + return this; + } + public Builder tags(GetCostCategoryRuleRuleOrOrTag... tags) { + return tags(List.of(tags)); + } + public GetCostCategoryRuleRuleOrOr build() { + final var _resultValue = new GetCostCategoryRuleRuleOrOr(); + _resultValue.costCategories = costCategories; + _resultValue.dimensions = dimensions; + _resultValue.tags = tags; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOrCostCategory.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOrCostCategory.java new file mode 100644 index 00000000000..637b36df52c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOrCostCategory.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleOrOrCostCategory { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleOrOrCostCategory() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleOrOrCostCategory defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleOrOrCostCategory defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrOrCostCategory", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrOrCostCategory", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrOrCostCategory", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleOrOrCostCategory build() { + final var _resultValue = new GetCostCategoryRuleRuleOrOrCostCategory(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOrDimension.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOrDimension.java new file mode 100644 index 00000000000..2dd3641f495 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOrDimension.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleOrOrDimension { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleOrOrDimension() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleOrOrDimension defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleOrOrDimension defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrOrDimension", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrOrDimension", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrOrDimension", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleOrOrDimension build() { + final var _resultValue = new GetCostCategoryRuleRuleOrOrDimension(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOrTag.java b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOrTag.java new file mode 100644 index 00000000000..02f82c92153 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/costexplorer/outputs/GetCostCategoryRuleRuleOrOrTag.java @@ -0,0 +1,111 @@ +// *** 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.costexplorer.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 GetCostCategoryRuleRuleOrOrTag { + /** + * @return Key for the tag. + * + */ + private String key; + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + private List matchOptions; + /** + * @return Parameter values. + * + */ + private List values; + + private GetCostCategoryRuleRuleOrOrTag() {} + /** + * @return Key for the tag. + * + */ + public String key() { + return this.key; + } + /** + * @return Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + * + */ + public List matchOptions() { + return this.matchOptions; + } + /** + * @return Parameter values. + * + */ + public List values() { + return this.values; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetCostCategoryRuleRuleOrOrTag defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private List matchOptions; + private List values; + public Builder() {} + public Builder(GetCostCategoryRuleRuleOrOrTag defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.matchOptions = defaults.matchOptions; + this.values = defaults.values; + } + + @CustomType.Setter + public Builder key(String key) { + if (key == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrOrTag", "key"); + } + this.key = key; + return this; + } + @CustomType.Setter + public Builder matchOptions(List matchOptions) { + if (matchOptions == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrOrTag", "matchOptions"); + } + this.matchOptions = matchOptions; + return this; + } + public Builder matchOptions(String... matchOptions) { + return matchOptions(List.of(matchOptions)); + } + @CustomType.Setter + public Builder values(List values) { + if (values == null) { + throw new MissingRequiredPropertyException("GetCostCategoryRuleRuleOrOrTag", "values"); + } + this.values = values; + return this; + } + public Builder values(String... values) { + return values(List.of(values)); + } + public GetCostCategoryRuleRuleOrOrTag build() { + final var _resultValue = new GetCostCategoryRuleRuleOrOrTag(); + _resultValue.key = key; + _resultValue.matchOptions = matchOptions; + _resultValue.values = values; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/Eip.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/Eip.java index ef04712261d..b9f5eae0eab 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/Eip.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/Eip.java @@ -252,6 +252,12 @@ public Output> address() { public Output allocationId() { return this.allocationId; } + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + public Output arn() { + return this.arn; + } /** * User-specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/EipState.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/EipState.java index 933a2a34cbf..151db8f49e6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/EipState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/inputs/EipState.java @@ -47,6 +47,13 @@ public Optional> allocationId() { return Optional.ofNullable(this.allocationId); } + @Import(name="arn") + private @Nullable Output arn; + + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + /** * User-specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address. * @@ -352,6 +359,7 @@ private EipState() {} private EipState(EipState $) { this.address = $.address; this.allocationId = $.allocationId; + this.arn = $.arn; this.associateWithPrivateIp = $.associateWithPrivateIp; this.associationId = $.associationId; this.carrierIp = $.carrierIp; @@ -432,6 +440,15 @@ public Builder allocationId(String allocationId) { return allocationId(Output.of(allocationId)); } + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + /** * @param associateWithPrivateIp User-specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetElasticIpResult.java b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetElasticIpResult.java index b52edcf047c..58c28dbbeb8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetElasticIpResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ec2/outputs/GetElasticIpResult.java @@ -14,6 +14,7 @@ @CustomType public final class GetElasticIpResult { + private String arn; /** * @return ID representing the association of the address with an instance in a VPC. * @@ -97,6 +98,9 @@ public final class GetElasticIpResult { private Map tags; private GetElasticIpResult() {} + public String arn() { + return this.arn; + } /** * @return ID representing the association of the address with an instance in a VPC. * @@ -222,6 +226,7 @@ public static Builder builder(GetElasticIpResult defaults) { } @CustomType.Builder public static final class Builder { + private String arn; private String associationId; private String carrierIp; private String customerOwnedIp; @@ -242,6 +247,7 @@ public static final class Builder { public Builder() {} public Builder(GetElasticIpResult defaults) { Objects.requireNonNull(defaults); + this.arn = defaults.arn; this.associationId = defaults.associationId; this.carrierIp = defaults.carrierIp; this.customerOwnedIp = defaults.customerOwnedIp; @@ -261,6 +267,14 @@ public Builder(GetElasticIpResult defaults) { this.tags = defaults.tags; } + @CustomType.Setter + public Builder arn(String arn) { + if (arn == null) { + throw new MissingRequiredPropertyException("GetElasticIpResult", "arn"); + } + this.arn = arn; + return this; + } @CustomType.Setter public Builder associationId(String associationId) { if (associationId == null) { @@ -400,6 +414,7 @@ public Builder tags(Map tags) { } public GetElasticIpResult build() { final var _resultValue = new GetElasticIpResult(); + _resultValue.arn = arn; _resultValue.associationId = associationId; _resultValue.carrierIp = carrierIp; _resultValue.customerOwnedIp = customerOwnedIp; diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroup.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroup.java index 5fd99e95317..c2b2e28023a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroup.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroup.java @@ -988,6 +988,8 @@ public Output> tagsAll() { } /** * Whether to enable encryption in transit. + * Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + * Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. * */ @Export(name="transitEncryptionEnabled", refs={Boolean.class}, tree="[0]") @@ -995,11 +997,33 @@ public Output> tagsAll() { /** * @return Whether to enable encryption in transit. + * Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + * Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. * */ public Output transitEncryptionEnabled() { return this.transitEncryptionEnabled; } + /** + * A setting that enables clients to migrate to in-transit encryption with no downtime. + * Valid values are `preferred` and `required`. + * When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + * See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + * + */ + @Export(name="transitEncryptionMode", refs={String.class}, tree="[0]") + private Output transitEncryptionMode; + + /** + * @return A setting that enables clients to migrate to in-transit encryption with no downtime. + * Valid values are `preferred` and `required`. + * When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + * See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + * + */ + public Output transitEncryptionMode() { + return this.transitEncryptionMode; + } /** * User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroupArgs.java index 75072a01358..61877915fb4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/ReplicationGroupArgs.java @@ -571,6 +571,8 @@ public Optional>> tags() { /** * Whether to enable encryption in transit. + * Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + * Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. * */ @Import(name="transitEncryptionEnabled") @@ -578,12 +580,35 @@ public Optional>> tags() { /** * @return Whether to enable encryption in transit. + * Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + * Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. * */ public Optional> transitEncryptionEnabled() { return Optional.ofNullable(this.transitEncryptionEnabled); } + /** + * A setting that enables clients to migrate to in-transit encryption with no downtime. + * Valid values are `preferred` and `required`. + * When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + * See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + * + */ + @Import(name="transitEncryptionMode") + private @Nullable Output transitEncryptionMode; + + /** + * @return A setting that enables clients to migrate to in-transit encryption with no downtime. + * Valid values are `preferred` and `required`. + * When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + * See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + * + */ + public Optional> transitEncryptionMode() { + return Optional.ofNullable(this.transitEncryptionMode); + } + /** * User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. * @@ -638,6 +663,7 @@ private ReplicationGroupArgs(ReplicationGroupArgs $) { this.subnetGroupName = $.subnetGroupName; this.tags = $.tags; this.transitEncryptionEnabled = $.transitEncryptionEnabled; + this.transitEncryptionMode = $.transitEncryptionMode; this.userGroupIds = $.userGroupIds; } @@ -1470,6 +1496,8 @@ public Builder tags(Map tags) { /** * @param transitEncryptionEnabled Whether to enable encryption in transit. + * Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + * Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. * * @return builder * @@ -1481,6 +1509,8 @@ public Builder transitEncryptionEnabled(@Nullable Output transitEncrypt /** * @param transitEncryptionEnabled Whether to enable encryption in transit. + * Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + * Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. * * @return builder * @@ -1489,6 +1519,33 @@ public Builder transitEncryptionEnabled(Boolean transitEncryptionEnabled) { return transitEncryptionEnabled(Output.of(transitEncryptionEnabled)); } + /** + * @param transitEncryptionMode A setting that enables clients to migrate to in-transit encryption with no downtime. + * Valid values are `preferred` and `required`. + * When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + * See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + * + * @return builder + * + */ + public Builder transitEncryptionMode(@Nullable Output transitEncryptionMode) { + $.transitEncryptionMode = transitEncryptionMode; + return this; + } + + /** + * @param transitEncryptionMode A setting that enables clients to migrate to in-transit encryption with no downtime. + * Valid values are `preferred` and `required`. + * When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + * See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + * + * @return builder + * + */ + public Builder transitEncryptionMode(String transitEncryptionMode) { + return transitEncryptionMode(Output.of(transitEncryptionMode)); + } + /** * @param userGroupIds User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReplicationGroupState.java b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReplicationGroupState.java index fe8c6bffbee..1bc2679cdf4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReplicationGroupState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/elasticache/inputs/ReplicationGroupState.java @@ -699,6 +699,8 @@ public Optional>> tagsAll() { /** * Whether to enable encryption in transit. + * Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + * Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. * */ @Import(name="transitEncryptionEnabled") @@ -706,12 +708,35 @@ public Optional>> tagsAll() { /** * @return Whether to enable encryption in transit. + * Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + * Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. * */ public Optional> transitEncryptionEnabled() { return Optional.ofNullable(this.transitEncryptionEnabled); } + /** + * A setting that enables clients to migrate to in-transit encryption with no downtime. + * Valid values are `preferred` and `required`. + * When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + * See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + * + */ + @Import(name="transitEncryptionMode") + private @Nullable Output transitEncryptionMode; + + /** + * @return A setting that enables clients to migrate to in-transit encryption with no downtime. + * Valid values are `preferred` and `required`. + * When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + * See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + * + */ + public Optional> transitEncryptionMode() { + return Optional.ofNullable(this.transitEncryptionMode); + } + /** * User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. * @@ -774,6 +799,7 @@ private ReplicationGroupState(ReplicationGroupState $) { this.tags = $.tags; this.tagsAll = $.tagsAll; this.transitEncryptionEnabled = $.transitEncryptionEnabled; + this.transitEncryptionMode = $.transitEncryptionMode; this.userGroupIds = $.userGroupIds; } @@ -1792,6 +1818,8 @@ public Builder tagsAll(Map tagsAll) { /** * @param transitEncryptionEnabled Whether to enable encryption in transit. + * Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + * Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. * * @return builder * @@ -1803,6 +1831,8 @@ public Builder transitEncryptionEnabled(@Nullable Output transitEncrypt /** * @param transitEncryptionEnabled Whether to enable encryption in transit. + * Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + * Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. * * @return builder * @@ -1811,6 +1841,33 @@ public Builder transitEncryptionEnabled(Boolean transitEncryptionEnabled) { return transitEncryptionEnabled(Output.of(transitEncryptionEnabled)); } + /** + * @param transitEncryptionMode A setting that enables clients to migrate to in-transit encryption with no downtime. + * Valid values are `preferred` and `required`. + * When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + * See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + * + * @return builder + * + */ + public Builder transitEncryptionMode(@Nullable Output transitEncryptionMode) { + $.transitEncryptionMode = transitEncryptionMode; + return this; + } + + /** + * @param transitEncryptionMode A setting that enables clients to migrate to in-transit encryption with no downtime. + * Valid values are `preferred` and `required`. + * When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + * See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + * + * @return builder + * + */ + public Builder transitEncryptionMode(String transitEncryptionMode) { + return transitEncryptionMode(Output.of(transitEncryptionMode)); + } + /** * @param userGroupIds User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CrossAccountAttachment.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CrossAccountAttachment.java new file mode 100644 index 00000000000..fb762a69555 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CrossAccountAttachment.java @@ -0,0 +1,277 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.globalaccelerator; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.globalaccelerator.CrossAccountAttachmentArgs; +import com.pulumi.aws.globalaccelerator.inputs.CrossAccountAttachmentState; +import com.pulumi.aws.globalaccelerator.outputs.CrossAccountAttachmentResource; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS Global Accelerator Cross Account Attachment. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.globalaccelerator.CrossAccountAttachment; + * import com.pulumi.aws.globalaccelerator.CrossAccountAttachmentArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * 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 CrossAccountAttachment("example", CrossAccountAttachmentArgs.builder() + * .name("example-cross-account-attachment") + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * + * ### Usage with Optional Arguments + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.globalaccelerator.CrossAccountAttachment; + * import com.pulumi.aws.globalaccelerator.CrossAccountAttachmentArgs; + * import com.pulumi.aws.globalaccelerator.inputs.CrossAccountAttachmentResourceArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * 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 CrossAccountAttachment("example", CrossAccountAttachmentArgs.builder() + * .name("example-cross-account-attachment") + * .principals("123456789012") + * .resources(CrossAccountAttachmentResourceArgs.builder() + * .endpointId("arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188") + * .region("us-west-2") + * .build()) + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import Global Accelerator Cross Account Attachment using the `example_id_arg`. For example: + * + * ```sh + * $ pulumi import aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment example arn:aws:globalaccelerator::012345678910:attachment/01234567-abcd-8910-efgh-123456789012 + * ``` + * + */ +@ResourceType(type="aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment") +public class CrossAccountAttachment extends com.pulumi.resources.CustomResource { + /** + * ARN of the Cross Account Attachment. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return ARN of the Cross Account Attachment. + * + */ + public Output arn() { + return this.arn; + } + /** + * Creation Time when the Cross Account Attachment. + * + */ + @Export(name="createdTime", refs={String.class}, tree="[0]") + private Output createdTime; + + /** + * @return Creation Time when the Cross Account Attachment. + * + */ + public Output createdTime() { + return this.createdTime; + } + /** + * Last modified time of the Cross Account Attachment. + * + */ + @Export(name="lastModifiedTime", refs={String.class}, tree="[0]") + private Output lastModifiedTime; + + /** + * @return Last modified time of the Cross Account Attachment. + * + */ + public Output lastModifiedTime() { + return this.lastModifiedTime; + } + /** + * Name of the Cross Account Attachment. + * + * The following arguments are optional: + * + */ + @Export(name="name", refs={String.class}, tree="[0]") + private Output name; + + /** + * @return Name of the Cross Account Attachment. + * + * The following arguments are optional: + * + */ + public Output name() { + return this.name; + } + /** + * List of AWS account IDs that are allowed to associate resources with the accelerator. + * + */ + @Export(name="principals", refs={List.class,String.class}, tree="[0,1]") + private Output> principals; + + /** + * @return List of AWS account IDs that are allowed to associate resources with the accelerator. + * + */ + public Output>> principals() { + return Codegen.optional(this.principals); + } + /** + * List of resources to be associated with the accelerator. + * + */ + @Export(name="resources", refs={List.class,CrossAccountAttachmentResource.class}, tree="[0,1]") + private Output> resources; + + /** + * @return List of resources to be associated with the accelerator. + * + */ + public Output>> resources() { + return Codegen.optional(this.resources); + } + /** + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Output> tagsAll() { + return this.tagsAll; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public CrossAccountAttachment(String name) { + this(name, CrossAccountAttachmentArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public CrossAccountAttachment(String name, @Nullable CrossAccountAttachmentArgs 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 CrossAccountAttachment(String name, @Nullable CrossAccountAttachmentArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment", name, args == null ? CrossAccountAttachmentArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private CrossAccountAttachment(String name, Output id, @Nullable CrossAccountAttachmentState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static CrossAccountAttachment get(String name, Output id, @Nullable CrossAccountAttachmentState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new CrossAccountAttachment(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CrossAccountAttachmentArgs.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CrossAccountAttachmentArgs.java new file mode 100644 index 00000000000..6defbcca640 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/CrossAccountAttachmentArgs.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.globalaccelerator; + +import com.pulumi.aws.globalaccelerator.inputs.CrossAccountAttachmentResourceArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CrossAccountAttachmentArgs extends com.pulumi.resources.ResourceArgs { + + public static final CrossAccountAttachmentArgs Empty = new CrossAccountAttachmentArgs(); + + /** + * Name of the Cross Account Attachment. + * + * The following arguments are optional: + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the Cross Account Attachment. + * + * The following arguments are optional: + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * List of AWS account IDs that are allowed to associate resources with the accelerator. + * + */ + @Import(name="principals") + private @Nullable Output> principals; + + /** + * @return List of AWS account IDs that are allowed to associate resources with the accelerator. + * + */ + public Optional>> principals() { + return Optional.ofNullable(this.principals); + } + + /** + * List of resources to be associated with the accelerator. + * + */ + @Import(name="resources") + private @Nullable Output> resources; + + /** + * @return List of resources to be associated with the accelerator. + * + */ + public Optional>> resources() { + return Optional.ofNullable(this.resources); + } + + /** + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private CrossAccountAttachmentArgs() {} + + private CrossAccountAttachmentArgs(CrossAccountAttachmentArgs $) { + this.name = $.name; + this.principals = $.principals; + this.resources = $.resources; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CrossAccountAttachmentArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CrossAccountAttachmentArgs $; + + public Builder() { + $ = new CrossAccountAttachmentArgs(); + } + + public Builder(CrossAccountAttachmentArgs defaults) { + $ = new CrossAccountAttachmentArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name Name of the Cross Account Attachment. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the Cross Account Attachment. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param principals List of AWS account IDs that are allowed to associate resources with the accelerator. + * + * @return builder + * + */ + public Builder principals(@Nullable Output> principals) { + $.principals = principals; + return this; + } + + /** + * @param principals List of AWS account IDs that are allowed to associate resources with the accelerator. + * + * @return builder + * + */ + public Builder principals(List principals) { + return principals(Output.of(principals)); + } + + /** + * @param principals List of AWS account IDs that are allowed to associate resources with the accelerator. + * + * @return builder + * + */ + public Builder principals(String... principals) { + return principals(List.of(principals)); + } + + /** + * @param resources List of resources to be associated with the accelerator. + * + * @return builder + * + */ + public Builder resources(@Nullable Output> resources) { + $.resources = resources; + return this; + } + + /** + * @param resources List of resources to be associated with the accelerator. + * + * @return builder + * + */ + public Builder resources(List resources) { + return resources(Output.of(resources)); + } + + /** + * @param resources List of resources to be associated with the accelerator. + * + * @return builder + * + */ + public Builder resources(CrossAccountAttachmentResourceArgs... resources) { + return resources(List.of(resources)); + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public CrossAccountAttachmentArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CrossAccountAttachmentResourceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CrossAccountAttachmentResourceArgs.java new file mode 100644 index 00000000000..af108ffcab2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CrossAccountAttachmentResourceArgs.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.globalaccelerator.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 CrossAccountAttachmentResourceArgs extends com.pulumi.resources.ResourceArgs { + + public static final CrossAccountAttachmentResourceArgs Empty = new CrossAccountAttachmentResourceArgs(); + + /** + * The endpoint ID for the endpoint that is specified as a AWS resource. + * + */ + @Import(name="endpointId") + private @Nullable Output endpointId; + + /** + * @return The endpoint ID for the endpoint that is specified as a AWS resource. + * + */ + public Optional> endpointId() { + return Optional.ofNullable(this.endpointId); + } + + /** + * The AWS Region where a shared endpoint resource is located. + * + */ + @Import(name="region") + private @Nullable Output region; + + /** + * @return The AWS Region where a shared endpoint resource is located. + * + */ + public Optional> region() { + return Optional.ofNullable(this.region); + } + + private CrossAccountAttachmentResourceArgs() {} + + private CrossAccountAttachmentResourceArgs(CrossAccountAttachmentResourceArgs $) { + this.endpointId = $.endpointId; + this.region = $.region; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CrossAccountAttachmentResourceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CrossAccountAttachmentResourceArgs $; + + public Builder() { + $ = new CrossAccountAttachmentResourceArgs(); + } + + public Builder(CrossAccountAttachmentResourceArgs defaults) { + $ = new CrossAccountAttachmentResourceArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param endpointId The endpoint ID for the endpoint that is specified as a AWS resource. + * + * @return builder + * + */ + public Builder endpointId(@Nullable Output endpointId) { + $.endpointId = endpointId; + return this; + } + + /** + * @param endpointId The endpoint ID for the endpoint that is specified as a AWS resource. + * + * @return builder + * + */ + public Builder endpointId(String endpointId) { + return endpointId(Output.of(endpointId)); + } + + /** + * @param region The AWS Region where a shared endpoint resource is located. + * + * @return builder + * + */ + public Builder region(@Nullable Output region) { + $.region = region; + return this; + } + + /** + * @param region The AWS Region where a shared endpoint resource is located. + * + * @return builder + * + */ + public Builder region(String region) { + return region(Output.of(region)); + } + + public CrossAccountAttachmentResourceArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CrossAccountAttachmentState.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CrossAccountAttachmentState.java new file mode 100644 index 00000000000..b5355b7aee0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/CrossAccountAttachmentState.java @@ -0,0 +1,389 @@ +// *** 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.globalaccelerator.inputs; + +import com.pulumi.aws.globalaccelerator.inputs.CrossAccountAttachmentResourceArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CrossAccountAttachmentState extends com.pulumi.resources.ResourceArgs { + + public static final CrossAccountAttachmentState Empty = new CrossAccountAttachmentState(); + + /** + * ARN of the Cross Account Attachment. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return ARN of the Cross Account Attachment. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * Creation Time when the Cross Account Attachment. + * + */ + @Import(name="createdTime") + private @Nullable Output createdTime; + + /** + * @return Creation Time when the Cross Account Attachment. + * + */ + public Optional> createdTime() { + return Optional.ofNullable(this.createdTime); + } + + /** + * Last modified time of the Cross Account Attachment. + * + */ + @Import(name="lastModifiedTime") + private @Nullable Output lastModifiedTime; + + /** + * @return Last modified time of the Cross Account Attachment. + * + */ + public Optional> lastModifiedTime() { + return Optional.ofNullable(this.lastModifiedTime); + } + + /** + * Name of the Cross Account Attachment. + * + * The following arguments are optional: + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return Name of the Cross Account Attachment. + * + * The following arguments are optional: + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * List of AWS account IDs that are allowed to associate resources with the accelerator. + * + */ + @Import(name="principals") + private @Nullable Output> principals; + + /** + * @return List of AWS account IDs that are allowed to associate resources with the accelerator. + * + */ + public Optional>> principals() { + return Optional.ofNullable(this.principals); + } + + /** + * List of resources to be associated with the accelerator. + * + */ + @Import(name="resources") + private @Nullable Output> resources; + + /** + * @return List of resources to be associated with the accelerator. + * + */ + public Optional>> resources() { + return Optional.ofNullable(this.resources); + } + + /** + * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + private CrossAccountAttachmentState() {} + + private CrossAccountAttachmentState(CrossAccountAttachmentState $) { + this.arn = $.arn; + this.createdTime = $.createdTime; + this.lastModifiedTime = $.lastModifiedTime; + this.name = $.name; + this.principals = $.principals; + this.resources = $.resources; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CrossAccountAttachmentState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CrossAccountAttachmentState $; + + public Builder() { + $ = new CrossAccountAttachmentState(); + } + + public Builder(CrossAccountAttachmentState defaults) { + $ = new CrossAccountAttachmentState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn ARN of the Cross Account Attachment. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn ARN of the Cross Account Attachment. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param createdTime Creation Time when the Cross Account Attachment. + * + * @return builder + * + */ + public Builder createdTime(@Nullable Output createdTime) { + $.createdTime = createdTime; + return this; + } + + /** + * @param createdTime Creation Time when the Cross Account Attachment. + * + * @return builder + * + */ + public Builder createdTime(String createdTime) { + return createdTime(Output.of(createdTime)); + } + + /** + * @param lastModifiedTime Last modified time of the Cross Account Attachment. + * + * @return builder + * + */ + public Builder lastModifiedTime(@Nullable Output lastModifiedTime) { + $.lastModifiedTime = lastModifiedTime; + return this; + } + + /** + * @param lastModifiedTime Last modified time of the Cross Account Attachment. + * + * @return builder + * + */ + public Builder lastModifiedTime(String lastModifiedTime) { + return lastModifiedTime(Output.of(lastModifiedTime)); + } + + /** + * @param name Name of the Cross Account Attachment. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the Cross Account Attachment. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param principals List of AWS account IDs that are allowed to associate resources with the accelerator. + * + * @return builder + * + */ + public Builder principals(@Nullable Output> principals) { + $.principals = principals; + return this; + } + + /** + * @param principals List of AWS account IDs that are allowed to associate resources with the accelerator. + * + * @return builder + * + */ + public Builder principals(List principals) { + return principals(Output.of(principals)); + } + + /** + * @param principals List of AWS account IDs that are allowed to associate resources with the accelerator. + * + * @return builder + * + */ + public Builder principals(String... principals) { + return principals(List.of(principals)); + } + + /** + * @param resources List of resources to be associated with the accelerator. + * + * @return builder + * + */ + public Builder resources(@Nullable Output> resources) { + $.resources = resources; + return this; + } + + /** + * @param resources List of resources to be associated with the accelerator. + * + * @return builder + * + */ + public Builder resources(List resources) { + return resources(Output.of(resources)); + } + + /** + * @param resources List of resources to be associated with the accelerator. + * + * @return builder + * + */ + public Builder resources(CrossAccountAttachmentResourceArgs... resources) { + return resources(List.of(resources)); + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + * @deprecated + * Please use `tags` instead. + * + */ + @Deprecated /* Please use `tags` instead. */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public CrossAccountAttachmentState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/outputs/CrossAccountAttachmentResource.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/outputs/CrossAccountAttachmentResource.java new file mode 100644 index 00000000000..c255625bfd9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/outputs/CrossAccountAttachmentResource.java @@ -0,0 +1,78 @@ +// *** 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.globalaccelerator.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 CrossAccountAttachmentResource { + /** + * @return The endpoint ID for the endpoint that is specified as a AWS resource. + * + */ + private @Nullable String endpointId; + /** + * @return The AWS Region where a shared endpoint resource is located. + * + */ + private @Nullable String region; + + private CrossAccountAttachmentResource() {} + /** + * @return The endpoint ID for the endpoint that is specified as a AWS resource. + * + */ + public Optional endpointId() { + return Optional.ofNullable(this.endpointId); + } + /** + * @return The AWS Region where a shared endpoint resource is located. + * + */ + public Optional region() { + return Optional.ofNullable(this.region); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CrossAccountAttachmentResource defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String endpointId; + private @Nullable String region; + public Builder() {} + public Builder(CrossAccountAttachmentResource defaults) { + Objects.requireNonNull(defaults); + this.endpointId = defaults.endpointId; + this.region = defaults.region; + } + + @CustomType.Setter + public Builder endpointId(@Nullable String endpointId) { + + this.endpointId = endpointId; + return this; + } + @CustomType.Setter + public Builder region(@Nullable String region) { + + this.region = region; + return this; + } + public CrossAccountAttachmentResource build() { + final var _resultValue = new CrossAccountAttachmentResource(); + _resultValue.endpointId = endpointId; + _resultValue.region = region; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/IdentitystoreFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/IdentitystoreFunctions.java index bc14fccba84..0b32cb87f6d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/identitystore/IdentitystoreFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/IdentitystoreFunctions.java @@ -6,9 +6,12 @@ import com.pulumi.aws.Utilities; import com.pulumi.aws.identitystore.inputs.GetGroupArgs; import com.pulumi.aws.identitystore.inputs.GetGroupPlainArgs; +import com.pulumi.aws.identitystore.inputs.GetGroupsArgs; +import com.pulumi.aws.identitystore.inputs.GetGroupsPlainArgs; import com.pulumi.aws.identitystore.inputs.GetUserArgs; import com.pulumi.aws.identitystore.inputs.GetUserPlainArgs; import com.pulumi.aws.identitystore.outputs.GetGroupResult; +import com.pulumi.aws.identitystore.outputs.GetGroupsResult; import com.pulumi.aws.identitystore.outputs.GetUserResult; import com.pulumi.core.Output; import com.pulumi.core.TypeShape; @@ -45,6 +48,186 @@ public static Output getGroup(GetGroupArgs args, InvokeOptions o public static CompletableFuture getGroupPlain(GetGroupPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:identitystore/getGroup:getGroup", TypeShape.of(GetGroupResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS SSO Identity Store Groups. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ssoadmin.SsoadminFunctions; + * import com.pulumi.aws.identitystore.IdentitystoreFunctions; + * import com.pulumi.aws.identitystore.inputs.GetGroupsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = SsoadminFunctions.getInstances(); + * + * final var exampleGetGroups = IdentitystoreFunctions.getGroups(GetGroupsArgs.builder() + * .identityStoreId(example.applyValue(getInstancesResult -> getInstancesResult.identityStoreIds()[0])) + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * + */ + public static Output getGroups(GetGroupsArgs args) { + return getGroups(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS SSO Identity Store Groups. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ssoadmin.SsoadminFunctions; + * import com.pulumi.aws.identitystore.IdentitystoreFunctions; + * import com.pulumi.aws.identitystore.inputs.GetGroupsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = SsoadminFunctions.getInstances(); + * + * final var exampleGetGroups = IdentitystoreFunctions.getGroups(GetGroupsArgs.builder() + * .identityStoreId(example.applyValue(getInstancesResult -> getInstancesResult.identityStoreIds()[0])) + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getGroupsPlain(GetGroupsPlainArgs args) { + return getGroupsPlain(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS SSO Identity Store Groups. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ssoadmin.SsoadminFunctions; + * import com.pulumi.aws.identitystore.IdentitystoreFunctions; + * import com.pulumi.aws.identitystore.inputs.GetGroupsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = SsoadminFunctions.getInstances(); + * + * final var exampleGetGroups = IdentitystoreFunctions.getGroups(GetGroupsArgs.builder() + * .identityStoreId(example.applyValue(getInstancesResult -> getInstancesResult.identityStoreIds()[0])) + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * + */ + public static Output getGroups(GetGroupsArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:identitystore/getGroups:getGroups", TypeShape.of(GetGroupsResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for managing an AWS SSO Identity Store Groups. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ssoadmin.SsoadminFunctions; + * import com.pulumi.aws.identitystore.IdentitystoreFunctions; + * import com.pulumi.aws.identitystore.inputs.GetGroupsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = SsoadminFunctions.getInstances(); + * + * final var exampleGetGroups = IdentitystoreFunctions.getGroups(GetGroupsArgs.builder() + * .identityStoreId(example.applyValue(getInstancesResult -> getInstancesResult.identityStoreIds()[0])) + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * + */ + public static CompletableFuture getGroupsPlain(GetGroupsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:identitystore/getGroups:getGroups", TypeShape.of(GetGroupsResult.class), args, Utilities.withVersion(options)); + } /** * Use this data source to get an Identity Store User. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupsArgs.java new file mode 100644 index 00000000000..6fe83ed06b9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupsArgs.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.identitystore.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class GetGroupsArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetGroupsArgs Empty = new GetGroupsArgs(); + + /** + * Identity Store ID associated with the Single Sign-On (SSO) Instance. + * + */ + @Import(name="identityStoreId", required=true) + private Output identityStoreId; + + /** + * @return Identity Store ID associated with the Single Sign-On (SSO) Instance. + * + */ + public Output identityStoreId() { + return this.identityStoreId; + } + + private GetGroupsArgs() {} + + private GetGroupsArgs(GetGroupsArgs $) { + this.identityStoreId = $.identityStoreId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetGroupsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetGroupsArgs $; + + public Builder() { + $ = new GetGroupsArgs(); + } + + public Builder(GetGroupsArgs defaults) { + $ = new GetGroupsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param identityStoreId Identity Store ID associated with the Single Sign-On (SSO) Instance. + * + * @return builder + * + */ + public Builder identityStoreId(Output identityStoreId) { + $.identityStoreId = identityStoreId; + return this; + } + + /** + * @param identityStoreId Identity Store ID associated with the Single Sign-On (SSO) Instance. + * + * @return builder + * + */ + public Builder identityStoreId(String identityStoreId) { + return identityStoreId(Output.of(identityStoreId)); + } + + public GetGroupsArgs build() { + if ($.identityStoreId == null) { + throw new MissingRequiredPropertyException("GetGroupsArgs", "identityStoreId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupsPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupsPlainArgs.java new file mode 100644 index 00000000000..a091b8678bb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/inputs/GetGroupsPlainArgs.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.identitystore.inputs; + +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class GetGroupsPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetGroupsPlainArgs Empty = new GetGroupsPlainArgs(); + + /** + * Identity Store ID associated with the Single Sign-On (SSO) Instance. + * + */ + @Import(name="identityStoreId", required=true) + private String identityStoreId; + + /** + * @return Identity Store ID associated with the Single Sign-On (SSO) Instance. + * + */ + public String identityStoreId() { + return this.identityStoreId; + } + + private GetGroupsPlainArgs() {} + + private GetGroupsPlainArgs(GetGroupsPlainArgs $) { + this.identityStoreId = $.identityStoreId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetGroupsPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetGroupsPlainArgs $; + + public Builder() { + $ = new GetGroupsPlainArgs(); + } + + public Builder(GetGroupsPlainArgs defaults) { + $ = new GetGroupsPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param identityStoreId Identity Store ID associated with the Single Sign-On (SSO) Instance. + * + * @return builder + * + */ + public Builder identityStoreId(String identityStoreId) { + $.identityStoreId = identityStoreId; + return this; + } + + public GetGroupsPlainArgs build() { + if ($.identityStoreId == null) { + throw new MissingRequiredPropertyException("GetGroupsPlainArgs", "identityStoreId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetGroupsGroup.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetGroupsGroup.java new file mode 100644 index 00000000000..263362a5574 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetGroupsGroup.java @@ -0,0 +1,155 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.identitystore.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Object; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGroupsGroup { + /** + * @return Description of the specified group. + * + */ + private String description; + /** + * @return Group's display name. + * + */ + private String displayName; + /** + * @return List of identifiers issued to this resource by an external identity provider. + * + */ + private List externalIds; + /** + * @return Identifier of the group in the Identity Store. + * + */ + private String groupId; + /** + * @return Identity Store ID associated with the Single Sign-On (SSO) Instance. + * + */ + private String identityStoreId; + + private GetGroupsGroup() {} + /** + * @return Description of the specified group. + * + */ + public String description() { + return this.description; + } + /** + * @return Group's display name. + * + */ + public String displayName() { + return this.displayName; + } + /** + * @return List of identifiers issued to this resource by an external identity provider. + * + */ + public List externalIds() { + return this.externalIds; + } + /** + * @return Identifier of the group in the Identity Store. + * + */ + public String groupId() { + return this.groupId; + } + /** + * @return Identity Store ID associated with the Single Sign-On (SSO) Instance. + * + */ + public String identityStoreId() { + return this.identityStoreId; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGroupsGroup defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String description; + private String displayName; + private List externalIds; + private String groupId; + private String identityStoreId; + public Builder() {} + public Builder(GetGroupsGroup defaults) { + Objects.requireNonNull(defaults); + this.description = defaults.description; + this.displayName = defaults.displayName; + this.externalIds = defaults.externalIds; + this.groupId = defaults.groupId; + this.identityStoreId = defaults.identityStoreId; + } + + @CustomType.Setter + public Builder description(String description) { + if (description == null) { + throw new MissingRequiredPropertyException("GetGroupsGroup", "description"); + } + this.description = description; + return this; + } + @CustomType.Setter + public Builder displayName(String displayName) { + if (displayName == null) { + throw new MissingRequiredPropertyException("GetGroupsGroup", "displayName"); + } + this.displayName = displayName; + return this; + } + @CustomType.Setter + public Builder externalIds(List externalIds) { + if (externalIds == null) { + throw new MissingRequiredPropertyException("GetGroupsGroup", "externalIds"); + } + this.externalIds = externalIds; + return this; + } + public Builder externalIds(Object... externalIds) { + return externalIds(List.of(externalIds)); + } + @CustomType.Setter + public Builder groupId(String groupId) { + if (groupId == null) { + throw new MissingRequiredPropertyException("GetGroupsGroup", "groupId"); + } + this.groupId = groupId; + return this; + } + @CustomType.Setter + public Builder identityStoreId(String identityStoreId) { + if (identityStoreId == null) { + throw new MissingRequiredPropertyException("GetGroupsGroup", "identityStoreId"); + } + this.identityStoreId = identityStoreId; + return this; + } + public GetGroupsGroup build() { + final var _resultValue = new GetGroupsGroup(); + _resultValue.description = description; + _resultValue.displayName = displayName; + _resultValue.externalIds = externalIds; + _resultValue.groupId = groupId; + _resultValue.identityStoreId = identityStoreId; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetGroupsResult.java b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetGroupsResult.java new file mode 100644 index 00000000000..6c0b8712e9b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/identitystore/outputs/GetGroupsResult.java @@ -0,0 +1,101 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.identitystore.outputs; + +import com.pulumi.aws.identitystore.outputs.GetGroupsGroup; +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 GetGroupsResult { + /** + * @return List of Identity Store Groups + * + */ + private List groups; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + private String identityStoreId; + + private GetGroupsResult() {} + /** + * @return List of Identity Store Groups + * + */ + public List groups() { + return this.groups; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + public String identityStoreId() { + return this.identityStoreId; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGroupsResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List groups; + private String id; + private String identityStoreId; + public Builder() {} + public Builder(GetGroupsResult defaults) { + Objects.requireNonNull(defaults); + this.groups = defaults.groups; + this.id = defaults.id; + this.identityStoreId = defaults.identityStoreId; + } + + @CustomType.Setter + public Builder groups(List groups) { + if (groups == null) { + throw new MissingRequiredPropertyException("GetGroupsResult", "groups"); + } + this.groups = groups; + return this; + } + public Builder groups(GetGroupsGroup... groups) { + return groups(List.of(groups)); + } + @CustomType.Setter + public Builder id(String id) { + if (id == null) { + throw new MissingRequiredPropertyException("GetGroupsResult", "id"); + } + this.id = id; + return this; + } + @CustomType.Setter + public Builder identityStoreId(String identityStoreId) { + if (identityStoreId == null) { + throw new MissingRequiredPropertyException("GetGroupsResult", "identityStoreId"); + } + this.identityStoreId = identityStoreId; + return this; + } + public GetGroupsResult build() { + final var _resultValue = new GetGroupsResult(); + _resultValue.groups = groups; + _resultValue.id = id; + _resultValue.identityStoreId = identityStoreId; + return _resultValue; + } + } +} 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 bdcc2b02ccb..838fe75be02 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 @@ -3375,6 +3375,21 @@ public Optional> route53domains() { return Optional.ofNullable(this.route53domains); } + /** + * Use this to override the default service endpoint URL + * + */ + @Import(name="route53profiles") + private @Nullable Output route53profiles; + + /** + * @return Use this to override the default service endpoint URL + * + */ + public Optional> route53profiles() { + return Optional.ofNullable(this.route53profiles); + } + /** * Use this to override the default service endpoint URL * @@ -4412,6 +4427,7 @@ private ProviderEndpointArgs(ProviderEndpointArgs $) { this.rolesanywhere = $.rolesanywhere; this.route53 = $.route53; this.route53domains = $.route53domains; + this.route53profiles = $.route53profiles; this.route53recoverycontrolconfig = $.route53recoverycontrolconfig; this.route53recoveryreadiness = $.route53recoveryreadiness; this.route53resolver = $.route53resolver; @@ -9190,6 +9206,27 @@ public Builder route53domains(String route53domains) { return route53domains(Output.of(route53domains)); } + /** + * @param route53profiles Use this to override the default service endpoint URL + * + * @return builder + * + */ + public Builder route53profiles(@Nullable Output route53profiles) { + $.route53profiles = route53profiles; + return this; + } + + /** + * @param route53profiles Use this to override the default service endpoint URL + * + * @return builder + * + */ + public Builder route53profiles(String route53profiles) { + return route53profiles(Output.of(route53profiles)); + } + /** * @param route53recoverycontrolconfig Use this to override the default service endpoint URL * diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/FirehoseDeliveryStream.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/FirehoseDeliveryStream.java index 7c209268bb0..8f2b5f34a63 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kinesis/FirehoseDeliveryStream.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/FirehoseDeliveryStream.java @@ -15,6 +15,7 @@ import com.pulumi.aws.kinesis.outputs.FirehoseDeliveryStreamOpensearchserverlessConfiguration; import com.pulumi.aws.kinesis.outputs.FirehoseDeliveryStreamRedshiftConfiguration; import com.pulumi.aws.kinesis.outputs.FirehoseDeliveryStreamServerSideEncryption; +import com.pulumi.aws.kinesis.outputs.FirehoseDeliveryStreamSnowflakeConfiguration; import com.pulumi.aws.kinesis.outputs.FirehoseDeliveryStreamSplunkConfiguration; import com.pulumi.core.Output; import com.pulumi.core.annotations.Export; @@ -26,7 +27,7 @@ import javax.annotation.Nullable; /** - * Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 and Amazon Redshift. + * Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 , Amazon Redshift and Snowflake. * * For more details, see the [Amazon Kinesis Firehose Documentation](https://aws.amazon.com/documentation/firehose/). * @@ -907,6 +908,58 @@ * ``` * <!--End PulumiCodeChooser --> * + * ### Snowflake Destination + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.kinesis.FirehoseDeliveryStream; + * import com.pulumi.aws.kinesis.FirehoseDeliveryStreamArgs; + * import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationArgs; + * import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * 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 exampleSnowflakeDestination = new FirehoseDeliveryStream("exampleSnowflakeDestination", FirehoseDeliveryStreamArgs.builder() + * .name("example-snowflake-destination") + * .destination("snowflake") + * .snowflakeConfiguration(FirehoseDeliveryStreamSnowflakeConfigurationArgs.builder() + * .accountUrl("https://example.snowflakecomputing.com") + * .database("example-db") + * .privateKey("...") + * .roleArn(firehose.arn()) + * .schema("example-schema") + * .table("example-table") + * .user("example-usr") + * .s3Configuration(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs.builder() + * .roleArn(firehose.arn()) + * .bucketArn(bucket.arn()) + * .bufferingSize(10) + * .bufferingInterval(400) + * .compressionFormat("GZIP") + * .build()) + * .build()) + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * * ## Import * * Using `pulumi import`, import Kinesis Firehose Delivery streams using the stream ARN. For example: @@ -934,14 +987,14 @@ public Output arn() { return this.arn; } /** - * This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + * This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. * */ @Export(name="destination", refs={String.class}, tree="[0]") private Output destination; /** - * @return This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + * @return This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. * */ public Output destination() { @@ -1097,6 +1150,20 @@ public Output> redshiftCon public Output> serverSideEncryption() { return Codegen.optional(this.serverSideEncryption); } + /** + * Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + * + */ + @Export(name="snowflakeConfiguration", refs={FirehoseDeliveryStreamSnowflakeConfiguration.class}, tree="[0]") + private Output snowflakeConfiguration; + + /** + * @return Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + * + */ + public Output> snowflakeConfiguration() { + return Codegen.optional(this.snowflakeConfiguration); + } /** * Configuration options when `destination` is `splunk`. See `splunk_configuration` block below for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/FirehoseDeliveryStreamArgs.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/FirehoseDeliveryStreamArgs.java index 9e02aad6a82..8e708816e80 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kinesis/FirehoseDeliveryStreamArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/FirehoseDeliveryStreamArgs.java @@ -12,6 +12,7 @@ import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs; import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs; import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamServerSideEncryptionArgs; +import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationArgs; import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSplunkConfigurationArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -43,14 +44,14 @@ public Optional> arn() { } /** - * This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + * This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. * */ @Import(name="destination", required=true) private Output destination; /** - * @return This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + * @return This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. * */ public Output destination() { @@ -218,6 +219,21 @@ public Optional> serverSi return Optional.ofNullable(this.serverSideEncryption); } + /** + * Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + * + */ + @Import(name="snowflakeConfiguration") + private @Nullable Output snowflakeConfiguration; + + /** + * @return Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + * + */ + public Optional> snowflakeConfiguration() { + return Optional.ofNullable(this.snowflakeConfiguration); + } + /** * Configuration options when `destination` is `splunk`. See `splunk_configuration` block below for details. * @@ -271,6 +287,7 @@ private FirehoseDeliveryStreamArgs(FirehoseDeliveryStreamArgs $) { this.opensearchserverlessConfiguration = $.opensearchserverlessConfiguration; this.redshiftConfiguration = $.redshiftConfiguration; this.serverSideEncryption = $.serverSideEncryption; + this.snowflakeConfiguration = $.snowflakeConfiguration; this.splunkConfiguration = $.splunkConfiguration; this.tags = $.tags; this.versionId = $.versionId; @@ -316,7 +333,7 @@ public Builder arn(String arn) { } /** - * @param destination This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + * @param destination This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. * * @return builder * @@ -327,7 +344,7 @@ public Builder destination(Output destination) { } /** - * @param destination This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + * @param destination This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. * * @return builder * @@ -559,6 +576,27 @@ public Builder serverSideEncryption(FirehoseDeliveryStreamServerSideEncryptionAr return serverSideEncryption(Output.of(serverSideEncryption)); } + /** + * @param snowflakeConfiguration Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + * + * @return builder + * + */ + public Builder snowflakeConfiguration(@Nullable Output snowflakeConfiguration) { + $.snowflakeConfiguration = snowflakeConfiguration; + return this; + } + + /** + * @param snowflakeConfiguration Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + * + * @return builder + * + */ + public Builder snowflakeConfiguration(FirehoseDeliveryStreamSnowflakeConfigurationArgs snowflakeConfiguration) { + return snowflakeConfiguration(Output.of(snowflakeConfiguration)); + } + /** * @param splunkConfiguration Configuration options when `destination` is `splunk`. See `splunk_configuration` block below for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationArgs.java new file mode 100644 index 00000000000..745d17f5916 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationArgs.java @@ -0,0 +1,743 @@ +// *** 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.kinesis.inputs; + +import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs; +import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs; +import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs; +import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs; +import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FirehoseDeliveryStreamSnowflakeConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final FirehoseDeliveryStreamSnowflakeConfigurationArgs Empty = new FirehoseDeliveryStreamSnowflakeConfigurationArgs(); + + /** + * The URL of the Snowflake account. Format: https://[account_identifier].snowflakecomputing.com. + * + */ + @Import(name="accountUrl", required=true) + private Output accountUrl; + + /** + * @return The URL of the Snowflake account. Format: https://[account_identifier].snowflakecomputing.com. + * + */ + public Output accountUrl() { + return this.accountUrl; + } + + /** + * The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + * + */ + @Import(name="cloudwatchLoggingOptions") + private @Nullable Output cloudwatchLoggingOptions; + + /** + * @return The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + * + */ + public Optional> cloudwatchLoggingOptions() { + return Optional.ofNullable(this.cloudwatchLoggingOptions); + } + + /** + * The name of the content column. + * + */ + @Import(name="contentColumnName") + private @Nullable Output contentColumnName; + + /** + * @return The name of the content column. + * + */ + public Optional> contentColumnName() { + return Optional.ofNullable(this.contentColumnName); + } + + /** + * The data loading option. + * + */ + @Import(name="dataLoadingOption") + private @Nullable Output dataLoadingOption; + + /** + * @return The data loading option. + * + */ + public Optional> dataLoadingOption() { + return Optional.ofNullable(this.dataLoadingOption); + } + + /** + * The Snowflake database name. + * + */ + @Import(name="database", required=true) + private Output database; + + /** + * @return The Snowflake database name. + * + */ + public Output database() { + return this.database; + } + + /** + * The passphrase for the private key. + * + */ + @Import(name="keyPassphrase") + private @Nullable Output keyPassphrase; + + /** + * @return The passphrase for the private key. + * + */ + public Optional> keyPassphrase() { + return Optional.ofNullable(this.keyPassphrase); + } + + /** + * The name of the metadata column. + * + */ + @Import(name="metadataColumnName") + private @Nullable Output metadataColumnName; + + /** + * @return The name of the metadata column. + * + */ + public Optional> metadataColumnName() { + return Optional.ofNullable(this.metadataColumnName); + } + + /** + * The private key for authentication. + * + */ + @Import(name="privateKey", required=true) + private Output privateKey; + + /** + * @return The private key for authentication. + * + */ + public Output privateKey() { + return this.privateKey; + } + + /** + * The processing configuration. See `processing_configuration` block below for details. + * + */ + @Import(name="processingConfiguration") + private @Nullable Output processingConfiguration; + + /** + * @return The processing configuration. See `processing_configuration` block below for details. + * + */ + public Optional> processingConfiguration() { + return Optional.ofNullable(this.processingConfiguration); + } + + /** + * After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + * + */ + @Import(name="retryDuration") + private @Nullable Output retryDuration; + + /** + * @return After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + * + */ + public Optional> retryDuration() { + return Optional.ofNullable(this.retryDuration); + } + + /** + * The ARN of the IAM role. + * + */ + @Import(name="roleArn", required=true) + private Output roleArn; + + /** + * @return The ARN of the IAM role. + * + */ + public Output roleArn() { + return this.roleArn; + } + + /** + * The S3 backup mode. + * + */ + @Import(name="s3BackupMode") + private @Nullable Output s3BackupMode; + + /** + * @return The S3 backup mode. + * + */ + public Optional> s3BackupMode() { + return Optional.ofNullable(this.s3BackupMode); + } + + /** + * The S3 configuration. See `s3_configuration` block below for details. + * + */ + @Import(name="s3Configuration", required=true) + private Output s3Configuration; + + /** + * @return The S3 configuration. See `s3_configuration` block below for details. + * + */ + public Output s3Configuration() { + return this.s3Configuration; + } + + /** + * The Snowflake schema name. + * + */ + @Import(name="schema", required=true) + private Output schema; + + /** + * @return The Snowflake schema name. + * + */ + public Output schema() { + return this.schema; + } + + /** + * The configuration for Snowflake role. + * + */ + @Import(name="snowflakeRoleConfiguration") + private @Nullable Output snowflakeRoleConfiguration; + + /** + * @return The configuration for Snowflake role. + * + */ + public Optional> snowflakeRoleConfiguration() { + return Optional.ofNullable(this.snowflakeRoleConfiguration); + } + + /** + * The VPC configuration for Snowflake. + * + */ + @Import(name="snowflakeVpcConfiguration") + private @Nullable Output snowflakeVpcConfiguration; + + /** + * @return The VPC configuration for Snowflake. + * + */ + public Optional> snowflakeVpcConfiguration() { + return Optional.ofNullable(this.snowflakeVpcConfiguration); + } + + /** + * The Snowflake table name. + * + */ + @Import(name="table", required=true) + private Output table; + + /** + * @return The Snowflake table name. + * + */ + public Output table() { + return this.table; + } + + /** + * The user for authentication. + * + */ + @Import(name="user", required=true) + private Output user; + + /** + * @return The user for authentication. + * + */ + public Output user() { + return this.user; + } + + private FirehoseDeliveryStreamSnowflakeConfigurationArgs() {} + + private FirehoseDeliveryStreamSnowflakeConfigurationArgs(FirehoseDeliveryStreamSnowflakeConfigurationArgs $) { + this.accountUrl = $.accountUrl; + this.cloudwatchLoggingOptions = $.cloudwatchLoggingOptions; + this.contentColumnName = $.contentColumnName; + this.dataLoadingOption = $.dataLoadingOption; + this.database = $.database; + this.keyPassphrase = $.keyPassphrase; + this.metadataColumnName = $.metadataColumnName; + this.privateKey = $.privateKey; + this.processingConfiguration = $.processingConfiguration; + this.retryDuration = $.retryDuration; + this.roleArn = $.roleArn; + this.s3BackupMode = $.s3BackupMode; + this.s3Configuration = $.s3Configuration; + this.schema = $.schema; + this.snowflakeRoleConfiguration = $.snowflakeRoleConfiguration; + this.snowflakeVpcConfiguration = $.snowflakeVpcConfiguration; + this.table = $.table; + this.user = $.user; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FirehoseDeliveryStreamSnowflakeConfigurationArgs $; + + public Builder() { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationArgs(); + } + + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationArgs defaults) { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param accountUrl The URL of the Snowflake account. Format: https://[account_identifier].snowflakecomputing.com. + * + * @return builder + * + */ + public Builder accountUrl(Output accountUrl) { + $.accountUrl = accountUrl; + return this; + } + + /** + * @param accountUrl The URL of the Snowflake account. Format: https://[account_identifier].snowflakecomputing.com. + * + * @return builder + * + */ + public Builder accountUrl(String accountUrl) { + return accountUrl(Output.of(accountUrl)); + } + + /** + * @param cloudwatchLoggingOptions The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + * + * @return builder + * + */ + public Builder cloudwatchLoggingOptions(@Nullable Output cloudwatchLoggingOptions) { + $.cloudwatchLoggingOptions = cloudwatchLoggingOptions; + return this; + } + + /** + * @param cloudwatchLoggingOptions The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + * + * @return builder + * + */ + public Builder cloudwatchLoggingOptions(FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs cloudwatchLoggingOptions) { + return cloudwatchLoggingOptions(Output.of(cloudwatchLoggingOptions)); + } + + /** + * @param contentColumnName The name of the content column. + * + * @return builder + * + */ + public Builder contentColumnName(@Nullable Output contentColumnName) { + $.contentColumnName = contentColumnName; + return this; + } + + /** + * @param contentColumnName The name of the content column. + * + * @return builder + * + */ + public Builder contentColumnName(String contentColumnName) { + return contentColumnName(Output.of(contentColumnName)); + } + + /** + * @param dataLoadingOption The data loading option. + * + * @return builder + * + */ + public Builder dataLoadingOption(@Nullable Output dataLoadingOption) { + $.dataLoadingOption = dataLoadingOption; + return this; + } + + /** + * @param dataLoadingOption The data loading option. + * + * @return builder + * + */ + public Builder dataLoadingOption(String dataLoadingOption) { + return dataLoadingOption(Output.of(dataLoadingOption)); + } + + /** + * @param database The Snowflake database name. + * + * @return builder + * + */ + public Builder database(Output database) { + $.database = database; + return this; + } + + /** + * @param database The Snowflake database name. + * + * @return builder + * + */ + public Builder database(String database) { + return database(Output.of(database)); + } + + /** + * @param keyPassphrase The passphrase for the private key. + * + * @return builder + * + */ + public Builder keyPassphrase(@Nullable Output keyPassphrase) { + $.keyPassphrase = keyPassphrase; + return this; + } + + /** + * @param keyPassphrase The passphrase for the private key. + * + * @return builder + * + */ + public Builder keyPassphrase(String keyPassphrase) { + return keyPassphrase(Output.of(keyPassphrase)); + } + + /** + * @param metadataColumnName The name of the metadata column. + * + * @return builder + * + */ + public Builder metadataColumnName(@Nullable Output metadataColumnName) { + $.metadataColumnName = metadataColumnName; + return this; + } + + /** + * @param metadataColumnName The name of the metadata column. + * + * @return builder + * + */ + public Builder metadataColumnName(String metadataColumnName) { + return metadataColumnName(Output.of(metadataColumnName)); + } + + /** + * @param privateKey The private key for authentication. + * + * @return builder + * + */ + public Builder privateKey(Output privateKey) { + $.privateKey = privateKey; + return this; + } + + /** + * @param privateKey The private key for authentication. + * + * @return builder + * + */ + public Builder privateKey(String privateKey) { + return privateKey(Output.of(privateKey)); + } + + /** + * @param processingConfiguration The processing configuration. See `processing_configuration` block below for details. + * + * @return builder + * + */ + public Builder processingConfiguration(@Nullable Output processingConfiguration) { + $.processingConfiguration = processingConfiguration; + return this; + } + + /** + * @param processingConfiguration The processing configuration. See `processing_configuration` block below for details. + * + * @return builder + * + */ + public Builder processingConfiguration(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs processingConfiguration) { + return processingConfiguration(Output.of(processingConfiguration)); + } + + /** + * @param retryDuration After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + * + * @return builder + * + */ + public Builder retryDuration(@Nullable Output retryDuration) { + $.retryDuration = retryDuration; + return this; + } + + /** + * @param retryDuration After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + * + * @return builder + * + */ + public Builder retryDuration(Integer retryDuration) { + return retryDuration(Output.of(retryDuration)); + } + + /** + * @param roleArn The ARN of the IAM role. + * + * @return builder + * + */ + public Builder roleArn(Output roleArn) { + $.roleArn = roleArn; + return this; + } + + /** + * @param roleArn The ARN of the IAM role. + * + * @return builder + * + */ + public Builder roleArn(String roleArn) { + return roleArn(Output.of(roleArn)); + } + + /** + * @param s3BackupMode The S3 backup mode. + * + * @return builder + * + */ + public Builder s3BackupMode(@Nullable Output s3BackupMode) { + $.s3BackupMode = s3BackupMode; + return this; + } + + /** + * @param s3BackupMode The S3 backup mode. + * + * @return builder + * + */ + public Builder s3BackupMode(String s3BackupMode) { + return s3BackupMode(Output.of(s3BackupMode)); + } + + /** + * @param s3Configuration The S3 configuration. See `s3_configuration` block below for details. + * + * @return builder + * + */ + public Builder s3Configuration(Output s3Configuration) { + $.s3Configuration = s3Configuration; + return this; + } + + /** + * @param s3Configuration The S3 configuration. See `s3_configuration` block below for details. + * + * @return builder + * + */ + public Builder s3Configuration(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs s3Configuration) { + return s3Configuration(Output.of(s3Configuration)); + } + + /** + * @param schema The Snowflake schema name. + * + * @return builder + * + */ + public Builder schema(Output schema) { + $.schema = schema; + return this; + } + + /** + * @param schema The Snowflake schema name. + * + * @return builder + * + */ + public Builder schema(String schema) { + return schema(Output.of(schema)); + } + + /** + * @param snowflakeRoleConfiguration The configuration for Snowflake role. + * + * @return builder + * + */ + public Builder snowflakeRoleConfiguration(@Nullable Output snowflakeRoleConfiguration) { + $.snowflakeRoleConfiguration = snowflakeRoleConfiguration; + return this; + } + + /** + * @param snowflakeRoleConfiguration The configuration for Snowflake role. + * + * @return builder + * + */ + public Builder snowflakeRoleConfiguration(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs snowflakeRoleConfiguration) { + return snowflakeRoleConfiguration(Output.of(snowflakeRoleConfiguration)); + } + + /** + * @param snowflakeVpcConfiguration The VPC configuration for Snowflake. + * + * @return builder + * + */ + public Builder snowflakeVpcConfiguration(@Nullable Output snowflakeVpcConfiguration) { + $.snowflakeVpcConfiguration = snowflakeVpcConfiguration; + return this; + } + + /** + * @param snowflakeVpcConfiguration The VPC configuration for Snowflake. + * + * @return builder + * + */ + public Builder snowflakeVpcConfiguration(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs snowflakeVpcConfiguration) { + return snowflakeVpcConfiguration(Output.of(snowflakeVpcConfiguration)); + } + + /** + * @param table The Snowflake table name. + * + * @return builder + * + */ + public Builder table(Output table) { + $.table = table; + return this; + } + + /** + * @param table The Snowflake table name. + * + * @return builder + * + */ + public Builder table(String table) { + return table(Output.of(table)); + } + + /** + * @param user The user for authentication. + * + * @return builder + * + */ + public Builder user(Output user) { + $.user = user; + return this; + } + + /** + * @param user The user for authentication. + * + * @return builder + * + */ + public Builder user(String user) { + return user(Output.of(user)); + } + + public FirehoseDeliveryStreamSnowflakeConfigurationArgs build() { + if ($.accountUrl == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationArgs", "accountUrl"); + } + if ($.database == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationArgs", "database"); + } + if ($.privateKey == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationArgs", "privateKey"); + } + if ($.roleArn == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationArgs", "roleArn"); + } + if ($.s3Configuration == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationArgs", "s3Configuration"); + } + if ($.schema == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationArgs", "schema"); + } + if ($.table == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationArgs", "table"); + } + if ($.user == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationArgs", "user"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs.java new file mode 100644 index 00000000000..9c604ac6bd2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs.java @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.kinesis.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs Empty = new FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs(); + + /** + * Enables or disables the logging. Defaults to `false`. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Enables or disables the logging. Defaults to `false`. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + /** + * The CloudWatch group name for logging. This value is required if `enabled` is true. + * + */ + @Import(name="logGroupName") + private @Nullable Output logGroupName; + + /** + * @return The CloudWatch group name for logging. This value is required if `enabled` is true. + * + */ + public Optional> logGroupName() { + return Optional.ofNullable(this.logGroupName); + } + + /** + * The CloudWatch log stream name for logging. This value is required if `enabled` is true. + * + */ + @Import(name="logStreamName") + private @Nullable Output logStreamName; + + /** + * @return The CloudWatch log stream name for logging. This value is required if `enabled` is true. + * + */ + public Optional> logStreamName() { + return Optional.ofNullable(this.logStreamName); + } + + private FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs() {} + + private FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs(FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs $) { + this.enabled = $.enabled; + this.logGroupName = $.logGroupName; + this.logStreamName = $.logStreamName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs $; + + public Builder() { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs(); + } + + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs defaults) { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enabled Enables or disables the logging. Defaults to `false`. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Enables or disables the logging. Defaults to `false`. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + /** + * @param logGroupName The CloudWatch group name for logging. This value is required if `enabled` is true. + * + * @return builder + * + */ + public Builder logGroupName(@Nullable Output logGroupName) { + $.logGroupName = logGroupName; + return this; + } + + /** + * @param logGroupName The CloudWatch group name for logging. This value is required if `enabled` is true. + * + * @return builder + * + */ + public Builder logGroupName(String logGroupName) { + return logGroupName(Output.of(logGroupName)); + } + + /** + * @param logStreamName The CloudWatch log stream name for logging. This value is required if `enabled` is true. + * + * @return builder + * + */ + public Builder logStreamName(@Nullable Output logStreamName) { + $.logStreamName = logStreamName; + return this; + } + + /** + * @param logStreamName The CloudWatch log stream name for logging. This value is required if `enabled` is true. + * + * @return builder + * + */ + public Builder logStreamName(String logStreamName) { + return logStreamName(Output.of(logStreamName)); + } + + public FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs.java new file mode 100644 index 00000000000..a762de01dc8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs.java @@ -0,0 +1,132 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.kinesis.inputs; + +import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs Empty = new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs(); + + /** + * Enables or disables data processing. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Enables or disables data processing. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + /** + * Specifies the data processors as multiple blocks. See `processors` block below for details. + * + */ + @Import(name="processors") + private @Nullable Output> processors; + + /** + * @return Specifies the data processors as multiple blocks. See `processors` block below for details. + * + */ + public Optional>> processors() { + return Optional.ofNullable(this.processors); + } + + private FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs() {} + + private FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs $) { + this.enabled = $.enabled; + this.processors = $.processors; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs $; + + public Builder() { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs(); + } + + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs defaults) { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enabled Enables or disables data processing. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Enables or disables data processing. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + /** + * @param processors Specifies the data processors as multiple blocks. See `processors` block below for details. + * + * @return builder + * + */ + public Builder processors(@Nullable Output> processors) { + $.processors = processors; + return this; + } + + /** + * @param processors Specifies the data processors as multiple blocks. See `processors` block below for details. + * + * @return builder + * + */ + public Builder processors(List processors) { + return processors(Output.of(processors)); + } + + /** + * @param processors Specifies the data processors as multiple blocks. See `processors` block below for details. + * + * @return builder + * + */ + public Builder processors(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs... processors) { + return processors(List.of(processors)); + } + + public FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs.java new file mode 100644 index 00000000000..6bcc5e2bf3a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs.java @@ -0,0 +1,136 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.kinesis.inputs; + +import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs extends com.pulumi.resources.ResourceArgs { + + public static final FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs Empty = new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs(); + + /** + * Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + * + */ + @Import(name="parameters") + private @Nullable Output> parameters; + + /** + * @return Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + * + */ + public Optional>> parameters() { + return Optional.ofNullable(this.parameters); + } + + /** + * The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + * + */ + @Import(name="type", required=true) + private Output type; + + /** + * @return The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + * + */ + public Output type() { + return this.type; + } + + private FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs() {} + + private FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs $) { + this.parameters = $.parameters; + this.type = $.type; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs $; + + public Builder() { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs(); + } + + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs defaults) { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param parameters Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + * + * @return builder + * + */ + public Builder parameters(@Nullable Output> parameters) { + $.parameters = parameters; + return this; + } + + /** + * @param parameters Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + * + * @return builder + * + */ + public Builder parameters(List parameters) { + return parameters(Output.of(parameters)); + } + + /** + * @param parameters Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + * + * @return builder + * + */ + public Builder parameters(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs... parameters) { + return parameters(List.of(parameters)); + } + + /** + * @param type The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + * + * @return builder + * + */ + public Builder type(Output type) { + $.type = type; + return this; + } + + /** + * @param type The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + * + * @return builder + * + */ + public Builder type(String type) { + return type(Output.of(type)); + } + + public FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs build() { + if ($.type == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs", "type"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs.java new file mode 100644 index 00000000000..19f9a137e37 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs.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.kinesis.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs extends com.pulumi.resources.ResourceArgs { + + public static final FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs Empty = new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs(); + + /** + * Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + * + */ + @Import(name="parameterName", required=true) + private Output parameterName; + + /** + * @return Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + * + */ + public Output parameterName() { + return this.parameterName; + } + + /** + * Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + * + * > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + * + */ + @Import(name="parameterValue", required=true) + private Output parameterValue; + + /** + * @return Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + * + * > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + * + */ + public Output parameterValue() { + return this.parameterValue; + } + + private FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs() {} + + private FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs $) { + this.parameterName = $.parameterName; + this.parameterValue = $.parameterValue; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs $; + + public Builder() { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs(); + } + + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs defaults) { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param parameterName Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + * + * @return builder + * + */ + public Builder parameterName(Output parameterName) { + $.parameterName = parameterName; + return this; + } + + /** + * @param parameterName Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + * + * @return builder + * + */ + public Builder parameterName(String parameterName) { + return parameterName(Output.of(parameterName)); + } + + /** + * @param parameterValue Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + * + * > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + * + * @return builder + * + */ + public Builder parameterValue(Output parameterValue) { + $.parameterValue = parameterValue; + return this; + } + + /** + * @param parameterValue Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + * + * > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + * + * @return builder + * + */ + public Builder parameterValue(String parameterValue) { + return parameterValue(Output.of(parameterValue)); + } + + public FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs build() { + if ($.parameterName == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs", "parameterName"); + } + if ($.parameterValue == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs", "parameterValue"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs.java new file mode 100644 index 00000000000..103a43f3493 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs.java @@ -0,0 +1,396 @@ +// *** 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.kinesis.inputs; + +import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs Empty = new FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs(); + + /** + * The ARN of the S3 bucket + * + */ + @Import(name="bucketArn", required=true) + private Output bucketArn; + + /** + * @return The ARN of the S3 bucket + * + */ + public Output bucketArn() { + return this.bucketArn; + } + + /** + * Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + * + */ + @Import(name="bufferingInterval") + private @Nullable Output bufferingInterval; + + /** + * @return Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + * + */ + public Optional> bufferingInterval() { + return Optional.ofNullable(this.bufferingInterval); + } + + /** + * Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + * We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + * + */ + @Import(name="bufferingSize") + private @Nullable Output bufferingSize; + + /** + * @return Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + * We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + * + */ + public Optional> bufferingSize() { + return Optional.ofNullable(this.bufferingSize); + } + + /** + * The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + * + */ + @Import(name="cloudwatchLoggingOptions") + private @Nullable Output cloudwatchLoggingOptions; + + /** + * @return The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + * + */ + public Optional> cloudwatchLoggingOptions() { + return Optional.ofNullable(this.cloudwatchLoggingOptions); + } + + /** + * The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + * + */ + @Import(name="compressionFormat") + private @Nullable Output compressionFormat; + + /** + * @return The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + * + */ + public Optional> compressionFormat() { + return Optional.ofNullable(this.compressionFormat); + } + + /** + * Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + * + */ + @Import(name="errorOutputPrefix") + private @Nullable Output errorOutputPrefix; + + /** + * @return Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + * + */ + public Optional> errorOutputPrefix() { + return Optional.ofNullable(this.errorOutputPrefix); + } + + /** + * Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + * be used. + * + */ + @Import(name="kmsKeyArn") + private @Nullable Output kmsKeyArn; + + /** + * @return Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + * be used. + * + */ + public Optional> kmsKeyArn() { + return Optional.ofNullable(this.kmsKeyArn); + } + + /** + * The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + * + */ + @Import(name="prefix") + private @Nullable Output prefix; + + /** + * @return The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + * + */ + public Optional> prefix() { + return Optional.ofNullable(this.prefix); + } + + /** + * The ARN of the AWS credentials. + * + */ + @Import(name="roleArn", required=true) + private Output roleArn; + + /** + * @return The ARN of the AWS credentials. + * + */ + public Output roleArn() { + return this.roleArn; + } + + private FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs() {} + + private FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs $) { + this.bucketArn = $.bucketArn; + this.bufferingInterval = $.bufferingInterval; + this.bufferingSize = $.bufferingSize; + this.cloudwatchLoggingOptions = $.cloudwatchLoggingOptions; + this.compressionFormat = $.compressionFormat; + this.errorOutputPrefix = $.errorOutputPrefix; + this.kmsKeyArn = $.kmsKeyArn; + this.prefix = $.prefix; + this.roleArn = $.roleArn; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs $; + + public Builder() { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs(); + } + + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs defaults) { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param bucketArn The ARN of the S3 bucket + * + * @return builder + * + */ + public Builder bucketArn(Output bucketArn) { + $.bucketArn = bucketArn; + return this; + } + + /** + * @param bucketArn The ARN of the S3 bucket + * + * @return builder + * + */ + public Builder bucketArn(String bucketArn) { + return bucketArn(Output.of(bucketArn)); + } + + /** + * @param bufferingInterval Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + * + * @return builder + * + */ + public Builder bufferingInterval(@Nullable Output bufferingInterval) { + $.bufferingInterval = bufferingInterval; + return this; + } + + /** + * @param bufferingInterval Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + * + * @return builder + * + */ + public Builder bufferingInterval(Integer bufferingInterval) { + return bufferingInterval(Output.of(bufferingInterval)); + } + + /** + * @param bufferingSize Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + * We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + * + * @return builder + * + */ + public Builder bufferingSize(@Nullable Output bufferingSize) { + $.bufferingSize = bufferingSize; + return this; + } + + /** + * @param bufferingSize Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + * We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + * + * @return builder + * + */ + public Builder bufferingSize(Integer bufferingSize) { + return bufferingSize(Output.of(bufferingSize)); + } + + /** + * @param cloudwatchLoggingOptions The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + * + * @return builder + * + */ + public Builder cloudwatchLoggingOptions(@Nullable Output cloudwatchLoggingOptions) { + $.cloudwatchLoggingOptions = cloudwatchLoggingOptions; + return this; + } + + /** + * @param cloudwatchLoggingOptions The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + * + * @return builder + * + */ + public Builder cloudwatchLoggingOptions(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs cloudwatchLoggingOptions) { + return cloudwatchLoggingOptions(Output.of(cloudwatchLoggingOptions)); + } + + /** + * @param compressionFormat The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + * + * @return builder + * + */ + public Builder compressionFormat(@Nullable Output compressionFormat) { + $.compressionFormat = compressionFormat; + return this; + } + + /** + * @param compressionFormat The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + * + * @return builder + * + */ + public Builder compressionFormat(String compressionFormat) { + return compressionFormat(Output.of(compressionFormat)); + } + + /** + * @param errorOutputPrefix Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + * + * @return builder + * + */ + public Builder errorOutputPrefix(@Nullable Output errorOutputPrefix) { + $.errorOutputPrefix = errorOutputPrefix; + return this; + } + + /** + * @param errorOutputPrefix Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + * + * @return builder + * + */ + public Builder errorOutputPrefix(String errorOutputPrefix) { + return errorOutputPrefix(Output.of(errorOutputPrefix)); + } + + /** + * @param kmsKeyArn Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + * be used. + * + * @return builder + * + */ + public Builder kmsKeyArn(@Nullable Output kmsKeyArn) { + $.kmsKeyArn = kmsKeyArn; + return this; + } + + /** + * @param kmsKeyArn Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + * be used. + * + * @return builder + * + */ + public Builder kmsKeyArn(String kmsKeyArn) { + return kmsKeyArn(Output.of(kmsKeyArn)); + } + + /** + * @param prefix The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + * + * @return builder + * + */ + public Builder prefix(@Nullable Output prefix) { + $.prefix = prefix; + return this; + } + + /** + * @param prefix The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + * + * @return builder + * + */ + public Builder prefix(String prefix) { + return prefix(Output.of(prefix)); + } + + /** + * @param roleArn The ARN of the AWS credentials. + * + * @return builder + * + */ + public Builder roleArn(Output roleArn) { + $.roleArn = roleArn; + return this; + } + + /** + * @param roleArn The ARN of the AWS credentials. + * + * @return builder + * + */ + public Builder roleArn(String roleArn) { + return roleArn(Output.of(roleArn)); + } + + public FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs build() { + if ($.bucketArn == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs", "bucketArn"); + } + if ($.roleArn == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs", "roleArn"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs.java new file mode 100644 index 00000000000..665afca1bdd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs.java @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.kinesis.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs Empty = new FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs(); + + /** + * Enables or disables the logging. Defaults to `false`. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Enables or disables the logging. Defaults to `false`. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + /** + * The CloudWatch group name for logging. This value is required if `enabled` is true. + * + */ + @Import(name="logGroupName") + private @Nullable Output logGroupName; + + /** + * @return The CloudWatch group name for logging. This value is required if `enabled` is true. + * + */ + public Optional> logGroupName() { + return Optional.ofNullable(this.logGroupName); + } + + /** + * The CloudWatch log stream name for logging. This value is required if `enabled` is true. + * + */ + @Import(name="logStreamName") + private @Nullable Output logStreamName; + + /** + * @return The CloudWatch log stream name for logging. This value is required if `enabled` is true. + * + */ + public Optional> logStreamName() { + return Optional.ofNullable(this.logStreamName); + } + + private FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs() {} + + private FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs $) { + this.enabled = $.enabled; + this.logGroupName = $.logGroupName; + this.logStreamName = $.logStreamName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs $; + + public Builder() { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs(); + } + + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs defaults) { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enabled Enables or disables the logging. Defaults to `false`. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Enables or disables the logging. Defaults to `false`. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + /** + * @param logGroupName The CloudWatch group name for logging. This value is required if `enabled` is true. + * + * @return builder + * + */ + public Builder logGroupName(@Nullable Output logGroupName) { + $.logGroupName = logGroupName; + return this; + } + + /** + * @param logGroupName The CloudWatch group name for logging. This value is required if `enabled` is true. + * + * @return builder + * + */ + public Builder logGroupName(String logGroupName) { + return logGroupName(Output.of(logGroupName)); + } + + /** + * @param logStreamName The CloudWatch log stream name for logging. This value is required if `enabled` is true. + * + * @return builder + * + */ + public Builder logStreamName(@Nullable Output logStreamName) { + $.logStreamName = logStreamName; + return this; + } + + /** + * @param logStreamName The CloudWatch log stream name for logging. This value is required if `enabled` is true. + * + * @return builder + * + */ + public Builder logStreamName(String logStreamName) { + return logStreamName(Output.of(logStreamName)); + } + + public FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs.java new file mode 100644 index 00000000000..c24617b4044 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.kinesis.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs Empty = new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs(); + + /** + * Whether the Snowflake role is enabled. + * + */ + @Import(name="enabled") + private @Nullable Output enabled; + + /** + * @return Whether the Snowflake role is enabled. + * + */ + public Optional> enabled() { + return Optional.ofNullable(this.enabled); + } + + /** + * The Snowflake role. + * + */ + @Import(name="snowflakeRole") + private @Nullable Output snowflakeRole; + + /** + * @return The Snowflake role. + * + */ + public Optional> snowflakeRole() { + return Optional.ofNullable(this.snowflakeRole); + } + + private FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs() {} + + private FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs $) { + this.enabled = $.enabled; + this.snowflakeRole = $.snowflakeRole; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs $; + + public Builder() { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs(); + } + + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs defaults) { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param enabled Whether the Snowflake role is enabled. + * + * @return builder + * + */ + public Builder enabled(@Nullable Output enabled) { + $.enabled = enabled; + return this; + } + + /** + * @param enabled Whether the Snowflake role is enabled. + * + * @return builder + * + */ + public Builder enabled(Boolean enabled) { + return enabled(Output.of(enabled)); + } + + /** + * @param snowflakeRole The Snowflake role. + * + * @return builder + * + */ + public Builder snowflakeRole(@Nullable Output snowflakeRole) { + $.snowflakeRole = snowflakeRole; + return this; + } + + /** + * @param snowflakeRole The Snowflake role. + * + * @return builder + * + */ + public Builder snowflakeRole(String snowflakeRole) { + return snowflakeRole(Output.of(snowflakeRole)); + } + + public FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs.java new file mode 100644 index 00000000000..e0609d1a372 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs.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.kinesis.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs Empty = new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs(); + + /** + * The VPCE ID for Firehose to privately connect with Snowflake. + * + */ + @Import(name="privateLinkVpceId", required=true) + private Output privateLinkVpceId; + + /** + * @return The VPCE ID for Firehose to privately connect with Snowflake. + * + */ + public Output privateLinkVpceId() { + return this.privateLinkVpceId; + } + + private FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs() {} + + private FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs $) { + this.privateLinkVpceId = $.privateLinkVpceId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs $; + + public Builder() { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs(); + } + + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs defaults) { + $ = new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param privateLinkVpceId The VPCE ID for Firehose to privately connect with Snowflake. + * + * @return builder + * + */ + public Builder privateLinkVpceId(Output privateLinkVpceId) { + $.privateLinkVpceId = privateLinkVpceId; + return this; + } + + /** + * @param privateLinkVpceId The VPCE ID for Firehose to privately connect with Snowflake. + * + * @return builder + * + */ + public Builder privateLinkVpceId(String privateLinkVpceId) { + return privateLinkVpceId(Output.of(privateLinkVpceId)); + } + + public FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs build() { + if ($.privateLinkVpceId == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs", "privateLinkVpceId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamState.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamState.java index 876a1be004a..d5e952f8a7a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/inputs/FirehoseDeliveryStreamState.java @@ -12,6 +12,7 @@ import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs; import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamRedshiftConfigurationArgs; import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamServerSideEncryptionArgs; +import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSnowflakeConfigurationArgs; import com.pulumi.aws.kinesis.inputs.FirehoseDeliveryStreamSplunkConfigurationArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; @@ -42,14 +43,14 @@ public Optional> arn() { } /** - * This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + * This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. * */ @Import(name="destination") private @Nullable Output destination; /** - * @return This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + * @return This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. * */ public Optional> destination() { @@ -217,6 +218,21 @@ public Optional> serverSi return Optional.ofNullable(this.serverSideEncryption); } + /** + * Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + * + */ + @Import(name="snowflakeConfiguration") + private @Nullable Output snowflakeConfiguration; + + /** + * @return Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + * + */ + public Optional> snowflakeConfiguration() { + return Optional.ofNullable(this.snowflakeConfiguration); + } + /** * Configuration options when `destination` is `splunk`. See `splunk_configuration` block below for details. * @@ -293,6 +309,7 @@ private FirehoseDeliveryStreamState(FirehoseDeliveryStreamState $) { this.opensearchserverlessConfiguration = $.opensearchserverlessConfiguration; this.redshiftConfiguration = $.redshiftConfiguration; this.serverSideEncryption = $.serverSideEncryption; + this.snowflakeConfiguration = $.snowflakeConfiguration; this.splunkConfiguration = $.splunkConfiguration; this.tags = $.tags; this.tagsAll = $.tagsAll; @@ -339,7 +356,7 @@ public Builder arn(String arn) { } /** - * @param destination This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + * @param destination This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. * * @return builder * @@ -350,7 +367,7 @@ public Builder destination(@Nullable Output destination) { } /** - * @param destination This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + * @param destination This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. * * @return builder * @@ -582,6 +599,27 @@ public Builder serverSideEncryption(FirehoseDeliveryStreamServerSideEncryptionAr return serverSideEncryption(Output.of(serverSideEncryption)); } + /** + * @param snowflakeConfiguration Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + * + * @return builder + * + */ + public Builder snowflakeConfiguration(@Nullable Output snowflakeConfiguration) { + $.snowflakeConfiguration = snowflakeConfiguration; + return this; + } + + /** + * @param snowflakeConfiguration Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + * + * @return builder + * + */ + public Builder snowflakeConfiguration(FirehoseDeliveryStreamSnowflakeConfigurationArgs snowflakeConfiguration) { + return snowflakeConfiguration(Output.of(snowflakeConfiguration)); + } + /** * @param splunkConfiguration Configuration options when `destination` is `splunk`. See `splunk_configuration` block below for details. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfiguration.java new file mode 100644 index 00000000000..01ea3dad31b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfiguration.java @@ -0,0 +1,437 @@ +// *** 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.kinesis.outputs; + +import com.pulumi.aws.kinesis.outputs.FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions; +import com.pulumi.aws.kinesis.outputs.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration; +import com.pulumi.aws.kinesis.outputs.FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration; +import com.pulumi.aws.kinesis.outputs.FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration; +import com.pulumi.aws.kinesis.outputs.FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class FirehoseDeliveryStreamSnowflakeConfiguration { + /** + * @return The URL of the Snowflake account. Format: https://[account_identifier].snowflakecomputing.com. + * + */ + private String accountUrl; + /** + * @return The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + * + */ + private @Nullable FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions cloudwatchLoggingOptions; + /** + * @return The name of the content column. + * + */ + private @Nullable String contentColumnName; + /** + * @return The data loading option. + * + */ + private @Nullable String dataLoadingOption; + /** + * @return The Snowflake database name. + * + */ + private String database; + /** + * @return The passphrase for the private key. + * + */ + private @Nullable String keyPassphrase; + /** + * @return The name of the metadata column. + * + */ + private @Nullable String metadataColumnName; + /** + * @return The private key for authentication. + * + */ + private String privateKey; + /** + * @return The processing configuration. See `processing_configuration` block below for details. + * + */ + private @Nullable FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration processingConfiguration; + /** + * @return After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + * + */ + private @Nullable Integer retryDuration; + /** + * @return The ARN of the IAM role. + * + */ + private String roleArn; + /** + * @return The S3 backup mode. + * + */ + private @Nullable String s3BackupMode; + /** + * @return The S3 configuration. See `s3_configuration` block below for details. + * + */ + private FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration s3Configuration; + /** + * @return The Snowflake schema name. + * + */ + private String schema; + /** + * @return The configuration for Snowflake role. + * + */ + private @Nullable FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration snowflakeRoleConfiguration; + /** + * @return The VPC configuration for Snowflake. + * + */ + private @Nullable FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration snowflakeVpcConfiguration; + /** + * @return The Snowflake table name. + * + */ + private String table; + /** + * @return The user for authentication. + * + */ + private String user; + + private FirehoseDeliveryStreamSnowflakeConfiguration() {} + /** + * @return The URL of the Snowflake account. Format: https://[account_identifier].snowflakecomputing.com. + * + */ + public String accountUrl() { + return this.accountUrl; + } + /** + * @return The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + * + */ + public Optional cloudwatchLoggingOptions() { + return Optional.ofNullable(this.cloudwatchLoggingOptions); + } + /** + * @return The name of the content column. + * + */ + public Optional contentColumnName() { + return Optional.ofNullable(this.contentColumnName); + } + /** + * @return The data loading option. + * + */ + public Optional dataLoadingOption() { + return Optional.ofNullable(this.dataLoadingOption); + } + /** + * @return The Snowflake database name. + * + */ + public String database() { + return this.database; + } + /** + * @return The passphrase for the private key. + * + */ + public Optional keyPassphrase() { + return Optional.ofNullable(this.keyPassphrase); + } + /** + * @return The name of the metadata column. + * + */ + public Optional metadataColumnName() { + return Optional.ofNullable(this.metadataColumnName); + } + /** + * @return The private key for authentication. + * + */ + public String privateKey() { + return this.privateKey; + } + /** + * @return The processing configuration. See `processing_configuration` block below for details. + * + */ + public Optional processingConfiguration() { + return Optional.ofNullable(this.processingConfiguration); + } + /** + * @return After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + * + */ + public Optional retryDuration() { + return Optional.ofNullable(this.retryDuration); + } + /** + * @return The ARN of the IAM role. + * + */ + public String roleArn() { + return this.roleArn; + } + /** + * @return The S3 backup mode. + * + */ + public Optional s3BackupMode() { + return Optional.ofNullable(this.s3BackupMode); + } + /** + * @return The S3 configuration. See `s3_configuration` block below for details. + * + */ + public FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration s3Configuration() { + return this.s3Configuration; + } + /** + * @return The Snowflake schema name. + * + */ + public String schema() { + return this.schema; + } + /** + * @return The configuration for Snowflake role. + * + */ + public Optional snowflakeRoleConfiguration() { + return Optional.ofNullable(this.snowflakeRoleConfiguration); + } + /** + * @return The VPC configuration for Snowflake. + * + */ + public Optional snowflakeVpcConfiguration() { + return Optional.ofNullable(this.snowflakeVpcConfiguration); + } + /** + * @return The Snowflake table name. + * + */ + public String table() { + return this.table; + } + /** + * @return The user for authentication. + * + */ + public String user() { + return this.user; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String accountUrl; + private @Nullable FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions cloudwatchLoggingOptions; + private @Nullable String contentColumnName; + private @Nullable String dataLoadingOption; + private String database; + private @Nullable String keyPassphrase; + private @Nullable String metadataColumnName; + private String privateKey; + private @Nullable FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration processingConfiguration; + private @Nullable Integer retryDuration; + private String roleArn; + private @Nullable String s3BackupMode; + private FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration s3Configuration; + private String schema; + private @Nullable FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration snowflakeRoleConfiguration; + private @Nullable FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration snowflakeVpcConfiguration; + private String table; + private String user; + public Builder() {} + public Builder(FirehoseDeliveryStreamSnowflakeConfiguration defaults) { + Objects.requireNonNull(defaults); + this.accountUrl = defaults.accountUrl; + this.cloudwatchLoggingOptions = defaults.cloudwatchLoggingOptions; + this.contentColumnName = defaults.contentColumnName; + this.dataLoadingOption = defaults.dataLoadingOption; + this.database = defaults.database; + this.keyPassphrase = defaults.keyPassphrase; + this.metadataColumnName = defaults.metadataColumnName; + this.privateKey = defaults.privateKey; + this.processingConfiguration = defaults.processingConfiguration; + this.retryDuration = defaults.retryDuration; + this.roleArn = defaults.roleArn; + this.s3BackupMode = defaults.s3BackupMode; + this.s3Configuration = defaults.s3Configuration; + this.schema = defaults.schema; + this.snowflakeRoleConfiguration = defaults.snowflakeRoleConfiguration; + this.snowflakeVpcConfiguration = defaults.snowflakeVpcConfiguration; + this.table = defaults.table; + this.user = defaults.user; + } + + @CustomType.Setter + public Builder accountUrl(String accountUrl) { + if (accountUrl == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfiguration", "accountUrl"); + } + this.accountUrl = accountUrl; + return this; + } + @CustomType.Setter + public Builder cloudwatchLoggingOptions(@Nullable FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions cloudwatchLoggingOptions) { + + this.cloudwatchLoggingOptions = cloudwatchLoggingOptions; + return this; + } + @CustomType.Setter + public Builder contentColumnName(@Nullable String contentColumnName) { + + this.contentColumnName = contentColumnName; + return this; + } + @CustomType.Setter + public Builder dataLoadingOption(@Nullable String dataLoadingOption) { + + this.dataLoadingOption = dataLoadingOption; + return this; + } + @CustomType.Setter + public Builder database(String database) { + if (database == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfiguration", "database"); + } + this.database = database; + return this; + } + @CustomType.Setter + public Builder keyPassphrase(@Nullable String keyPassphrase) { + + this.keyPassphrase = keyPassphrase; + return this; + } + @CustomType.Setter + public Builder metadataColumnName(@Nullable String metadataColumnName) { + + this.metadataColumnName = metadataColumnName; + return this; + } + @CustomType.Setter + public Builder privateKey(String privateKey) { + if (privateKey == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfiguration", "privateKey"); + } + this.privateKey = privateKey; + return this; + } + @CustomType.Setter + public Builder processingConfiguration(@Nullable FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration processingConfiguration) { + + this.processingConfiguration = processingConfiguration; + return this; + } + @CustomType.Setter + public Builder retryDuration(@Nullable Integer retryDuration) { + + this.retryDuration = retryDuration; + return this; + } + @CustomType.Setter + public Builder roleArn(String roleArn) { + if (roleArn == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfiguration", "roleArn"); + } + this.roleArn = roleArn; + return this; + } + @CustomType.Setter + public Builder s3BackupMode(@Nullable String s3BackupMode) { + + this.s3BackupMode = s3BackupMode; + return this; + } + @CustomType.Setter + public Builder s3Configuration(FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration s3Configuration) { + if (s3Configuration == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfiguration", "s3Configuration"); + } + this.s3Configuration = s3Configuration; + return this; + } + @CustomType.Setter + public Builder schema(String schema) { + if (schema == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfiguration", "schema"); + } + this.schema = schema; + return this; + } + @CustomType.Setter + public Builder snowflakeRoleConfiguration(@Nullable FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration snowflakeRoleConfiguration) { + + this.snowflakeRoleConfiguration = snowflakeRoleConfiguration; + return this; + } + @CustomType.Setter + public Builder snowflakeVpcConfiguration(@Nullable FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration snowflakeVpcConfiguration) { + + this.snowflakeVpcConfiguration = snowflakeVpcConfiguration; + return this; + } + @CustomType.Setter + public Builder table(String table) { + if (table == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfiguration", "table"); + } + this.table = table; + return this; + } + @CustomType.Setter + public Builder user(String user) { + if (user == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfiguration", "user"); + } + this.user = user; + return this; + } + public FirehoseDeliveryStreamSnowflakeConfiguration build() { + final var _resultValue = new FirehoseDeliveryStreamSnowflakeConfiguration(); + _resultValue.accountUrl = accountUrl; + _resultValue.cloudwatchLoggingOptions = cloudwatchLoggingOptions; + _resultValue.contentColumnName = contentColumnName; + _resultValue.dataLoadingOption = dataLoadingOption; + _resultValue.database = database; + _resultValue.keyPassphrase = keyPassphrase; + _resultValue.metadataColumnName = metadataColumnName; + _resultValue.privateKey = privateKey; + _resultValue.processingConfiguration = processingConfiguration; + _resultValue.retryDuration = retryDuration; + _resultValue.roleArn = roleArn; + _resultValue.s3BackupMode = s3BackupMode; + _resultValue.s3Configuration = s3Configuration; + _resultValue.schema = schema; + _resultValue.snowflakeRoleConfiguration = snowflakeRoleConfiguration; + _resultValue.snowflakeVpcConfiguration = snowflakeVpcConfiguration; + _resultValue.table = table; + _resultValue.user = user; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions.java new file mode 100644 index 00000000000..fceebb31adb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions.java @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.kinesis.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions { + /** + * @return Enables or disables the logging. Defaults to `false`. + * + */ + private @Nullable Boolean enabled; + /** + * @return The CloudWatch group name for logging. This value is required if `enabled` is true. + * + */ + private @Nullable String logGroupName; + /** + * @return The CloudWatch log stream name for logging. This value is required if `enabled` is true. + * + */ + private @Nullable String logStreamName; + + private FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions() {} + /** + * @return Enables or disables the logging. Defaults to `false`. + * + */ + public Optional enabled() { + return Optional.ofNullable(this.enabled); + } + /** + * @return The CloudWatch group name for logging. This value is required if `enabled` is true. + * + */ + public Optional logGroupName() { + return Optional.ofNullable(this.logGroupName); + } + /** + * @return The CloudWatch log stream name for logging. This value is required if `enabled` is true. + * + */ + public Optional logStreamName() { + return Optional.ofNullable(this.logStreamName); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean enabled; + private @Nullable String logGroupName; + private @Nullable String logStreamName; + public Builder() {} + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions defaults) { + Objects.requireNonNull(defaults); + this.enabled = defaults.enabled; + this.logGroupName = defaults.logGroupName; + this.logStreamName = defaults.logStreamName; + } + + @CustomType.Setter + public Builder enabled(@Nullable Boolean enabled) { + + this.enabled = enabled; + return this; + } + @CustomType.Setter + public Builder logGroupName(@Nullable String logGroupName) { + + this.logGroupName = logGroupName; + return this; + } + @CustomType.Setter + public Builder logStreamName(@Nullable String logStreamName) { + + this.logStreamName = logStreamName; + return this; + } + public FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions build() { + final var _resultValue = new FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions(); + _resultValue.enabled = enabled; + _resultValue.logGroupName = logGroupName; + _resultValue.logStreamName = logStreamName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration.java new file mode 100644 index 00000000000..5e596b1f0fa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.kinesis.outputs; + +import com.pulumi.aws.kinesis.outputs.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration { + /** + * @return Enables or disables data processing. + * + */ + private @Nullable Boolean enabled; + /** + * @return Specifies the data processors as multiple blocks. See `processors` block below for details. + * + */ + private @Nullable List processors; + + private FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration() {} + /** + * @return Enables or disables data processing. + * + */ + public Optional enabled() { + return Optional.ofNullable(this.enabled); + } + /** + * @return Specifies the data processors as multiple blocks. See `processors` block below for details. + * + */ + public List processors() { + return this.processors == null ? List.of() : this.processors; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean enabled; + private @Nullable List processors; + public Builder() {} + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration defaults) { + Objects.requireNonNull(defaults); + this.enabled = defaults.enabled; + this.processors = defaults.processors; + } + + @CustomType.Setter + public Builder enabled(@Nullable Boolean enabled) { + + this.enabled = enabled; + return this; + } + @CustomType.Setter + public Builder processors(@Nullable List processors) { + + this.processors = processors; + return this; + } + public Builder processors(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor... processors) { + return processors(List.of(processors)); + } + public FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration build() { + final var _resultValue = new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration(); + _resultValue.enabled = enabled; + _resultValue.processors = processors; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor.java new file mode 100644 index 00000000000..af06cf27113 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor.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.kinesis.outputs; + +import com.pulumi.aws.kinesis.outputs.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor { + /** + * @return Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + * + */ + private @Nullable List parameters; + /** + * @return The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + * + */ + private String type; + + private FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor() {} + /** + * @return Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + * + */ + public List parameters() { + return this.parameters == null ? List.of() : this.parameters; + } + /** + * @return The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + * + */ + public String type() { + return this.type; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List parameters; + private String type; + public Builder() {} + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor defaults) { + Objects.requireNonNull(defaults); + this.parameters = defaults.parameters; + this.type = defaults.type; + } + + @CustomType.Setter + public Builder parameters(@Nullable List parameters) { + + this.parameters = parameters; + return this; + } + public Builder parameters(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter... parameters) { + return parameters(List.of(parameters)); + } + @CustomType.Setter + public Builder type(String type) { + if (type == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor", "type"); + } + this.type = type; + return this; + } + public FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor build() { + final var _resultValue = new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor(); + _resultValue.parameters = parameters; + _resultValue.type = type; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter.java new file mode 100644 index 00000000000..2968d7dd29e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter.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.kinesis.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter { + /** + * @return Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + * + */ + private String parameterName; + /** + * @return Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + * + * > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + * + */ + private String parameterValue; + + private FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter() {} + /** + * @return Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + * + */ + public String parameterName() { + return this.parameterName; + } + /** + * @return Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + * + * > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + * + */ + public String parameterValue() { + return this.parameterValue; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String parameterName; + private String parameterValue; + public Builder() {} + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter defaults) { + Objects.requireNonNull(defaults); + this.parameterName = defaults.parameterName; + this.parameterValue = defaults.parameterValue; + } + + @CustomType.Setter + public Builder parameterName(String parameterName) { + if (parameterName == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter", "parameterName"); + } + this.parameterName = parameterName; + return this; + } + @CustomType.Setter + public Builder parameterValue(String parameterValue) { + if (parameterValue == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter", "parameterValue"); + } + this.parameterValue = parameterValue; + return this; + } + public FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter build() { + final var _resultValue = new FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter(); + _resultValue.parameterName = parameterName; + _resultValue.parameterValue = parameterValue; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration.java new file mode 100644 index 00000000000..51e2710e0b3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration.java @@ -0,0 +1,236 @@ +// *** 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.kinesis.outputs; + +import com.pulumi.aws.kinesis.outputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration { + /** + * @return The ARN of the S3 bucket + * + */ + private String bucketArn; + /** + * @return Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + * + */ + private @Nullable Integer bufferingInterval; + /** + * @return Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + * We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + * + */ + private @Nullable Integer bufferingSize; + /** + * @return The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + * + */ + private @Nullable FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions cloudwatchLoggingOptions; + /** + * @return The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + * + */ + private @Nullable String compressionFormat; + /** + * @return Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + * + */ + private @Nullable String errorOutputPrefix; + /** + * @return Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + * be used. + * + */ + private @Nullable String kmsKeyArn; + /** + * @return The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + * + */ + private @Nullable String prefix; + /** + * @return The ARN of the AWS credentials. + * + */ + private String roleArn; + + private FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration() {} + /** + * @return The ARN of the S3 bucket + * + */ + public String bucketArn() { + return this.bucketArn; + } + /** + * @return Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + * + */ + public Optional bufferingInterval() { + return Optional.ofNullable(this.bufferingInterval); + } + /** + * @return Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + * We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + * + */ + public Optional bufferingSize() { + return Optional.ofNullable(this.bufferingSize); + } + /** + * @return The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + * + */ + public Optional cloudwatchLoggingOptions() { + return Optional.ofNullable(this.cloudwatchLoggingOptions); + } + /** + * @return The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + * + */ + public Optional compressionFormat() { + return Optional.ofNullable(this.compressionFormat); + } + /** + * @return Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + * + */ + public Optional errorOutputPrefix() { + return Optional.ofNullable(this.errorOutputPrefix); + } + /** + * @return Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + * be used. + * + */ + public Optional kmsKeyArn() { + return Optional.ofNullable(this.kmsKeyArn); + } + /** + * @return The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + * + */ + public Optional prefix() { + return Optional.ofNullable(this.prefix); + } + /** + * @return The ARN of the AWS credentials. + * + */ + public String roleArn() { + return this.roleArn; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String bucketArn; + private @Nullable Integer bufferingInterval; + private @Nullable Integer bufferingSize; + private @Nullable FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions cloudwatchLoggingOptions; + private @Nullable String compressionFormat; + private @Nullable String errorOutputPrefix; + private @Nullable String kmsKeyArn; + private @Nullable String prefix; + private String roleArn; + public Builder() {} + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration defaults) { + Objects.requireNonNull(defaults); + this.bucketArn = defaults.bucketArn; + this.bufferingInterval = defaults.bufferingInterval; + this.bufferingSize = defaults.bufferingSize; + this.cloudwatchLoggingOptions = defaults.cloudwatchLoggingOptions; + this.compressionFormat = defaults.compressionFormat; + this.errorOutputPrefix = defaults.errorOutputPrefix; + this.kmsKeyArn = defaults.kmsKeyArn; + this.prefix = defaults.prefix; + this.roleArn = defaults.roleArn; + } + + @CustomType.Setter + public Builder bucketArn(String bucketArn) { + if (bucketArn == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration", "bucketArn"); + } + this.bucketArn = bucketArn; + return this; + } + @CustomType.Setter + public Builder bufferingInterval(@Nullable Integer bufferingInterval) { + + this.bufferingInterval = bufferingInterval; + return this; + } + @CustomType.Setter + public Builder bufferingSize(@Nullable Integer bufferingSize) { + + this.bufferingSize = bufferingSize; + return this; + } + @CustomType.Setter + public Builder cloudwatchLoggingOptions(@Nullable FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions cloudwatchLoggingOptions) { + + this.cloudwatchLoggingOptions = cloudwatchLoggingOptions; + return this; + } + @CustomType.Setter + public Builder compressionFormat(@Nullable String compressionFormat) { + + this.compressionFormat = compressionFormat; + return this; + } + @CustomType.Setter + public Builder errorOutputPrefix(@Nullable String errorOutputPrefix) { + + this.errorOutputPrefix = errorOutputPrefix; + return this; + } + @CustomType.Setter + public Builder kmsKeyArn(@Nullable String kmsKeyArn) { + + this.kmsKeyArn = kmsKeyArn; + return this; + } + @CustomType.Setter + public Builder prefix(@Nullable String prefix) { + + this.prefix = prefix; + return this; + } + @CustomType.Setter + public Builder roleArn(String roleArn) { + if (roleArn == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration", "roleArn"); + } + this.roleArn = roleArn; + return this; + } + public FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration build() { + final var _resultValue = new FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration(); + _resultValue.bucketArn = bucketArn; + _resultValue.bufferingInterval = bufferingInterval; + _resultValue.bufferingSize = bufferingSize; + _resultValue.cloudwatchLoggingOptions = cloudwatchLoggingOptions; + _resultValue.compressionFormat = compressionFormat; + _resultValue.errorOutputPrefix = errorOutputPrefix; + _resultValue.kmsKeyArn = kmsKeyArn; + _resultValue.prefix = prefix; + _resultValue.roleArn = roleArn; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions.java new file mode 100644 index 00000000000..bf757ef65ac --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions.java @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.kinesis.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions { + /** + * @return Enables or disables the logging. Defaults to `false`. + * + */ + private @Nullable Boolean enabled; + /** + * @return The CloudWatch group name for logging. This value is required if `enabled` is true. + * + */ + private @Nullable String logGroupName; + /** + * @return The CloudWatch log stream name for logging. This value is required if `enabled` is true. + * + */ + private @Nullable String logStreamName; + + private FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions() {} + /** + * @return Enables or disables the logging. Defaults to `false`. + * + */ + public Optional enabled() { + return Optional.ofNullable(this.enabled); + } + /** + * @return The CloudWatch group name for logging. This value is required if `enabled` is true. + * + */ + public Optional logGroupName() { + return Optional.ofNullable(this.logGroupName); + } + /** + * @return The CloudWatch log stream name for logging. This value is required if `enabled` is true. + * + */ + public Optional logStreamName() { + return Optional.ofNullable(this.logStreamName); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean enabled; + private @Nullable String logGroupName; + private @Nullable String logStreamName; + public Builder() {} + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions defaults) { + Objects.requireNonNull(defaults); + this.enabled = defaults.enabled; + this.logGroupName = defaults.logGroupName; + this.logStreamName = defaults.logStreamName; + } + + @CustomType.Setter + public Builder enabled(@Nullable Boolean enabled) { + + this.enabled = enabled; + return this; + } + @CustomType.Setter + public Builder logGroupName(@Nullable String logGroupName) { + + this.logGroupName = logGroupName; + return this; + } + @CustomType.Setter + public Builder logStreamName(@Nullable String logStreamName) { + + this.logStreamName = logStreamName; + return this; + } + public FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions build() { + final var _resultValue = new FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions(); + _resultValue.enabled = enabled; + _resultValue.logGroupName = logGroupName; + _resultValue.logStreamName = logStreamName; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration.java new file mode 100644 index 00000000000..adf6d37c4b3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration.java @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.kinesis.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration { + /** + * @return Whether the Snowflake role is enabled. + * + */ + private @Nullable Boolean enabled; + /** + * @return The Snowflake role. + * + */ + private @Nullable String snowflakeRole; + + private FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration() {} + /** + * @return Whether the Snowflake role is enabled. + * + */ + public Optional enabled() { + return Optional.ofNullable(this.enabled); + } + /** + * @return The Snowflake role. + * + */ + public Optional snowflakeRole() { + return Optional.ofNullable(this.snowflakeRole); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean enabled; + private @Nullable String snowflakeRole; + public Builder() {} + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration defaults) { + Objects.requireNonNull(defaults); + this.enabled = defaults.enabled; + this.snowflakeRole = defaults.snowflakeRole; + } + + @CustomType.Setter + public Builder enabled(@Nullable Boolean enabled) { + + this.enabled = enabled; + return this; + } + @CustomType.Setter + public Builder snowflakeRole(@Nullable String snowflakeRole) { + + this.snowflakeRole = snowflakeRole; + return this; + } + public FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration build() { + final var _resultValue = new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration(); + _resultValue.enabled = enabled; + _resultValue.snowflakeRole = snowflakeRole; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration.java new file mode 100644 index 00000000000..8b2d5e07afd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/kinesis/outputs/FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.kinesis.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration { + /** + * @return The VPCE ID for Firehose to privately connect with Snowflake. + * + */ + private String privateLinkVpceId; + + private FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration() {} + /** + * @return The VPCE ID for Firehose to privately connect with Snowflake. + * + */ + public String privateLinkVpceId() { + return this.privateLinkVpceId; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String privateLinkVpceId; + public Builder() {} + public Builder(FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration defaults) { + Objects.requireNonNull(defaults); + this.privateLinkVpceId = defaults.privateLinkVpceId; + } + + @CustomType.Setter + public Builder privateLinkVpceId(String privateLinkVpceId) { + if (privateLinkVpceId == null) { + throw new MissingRequiredPropertyException("FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration", "privateLinkVpceId"); + } + this.privateLinkVpceId = privateLinkVpceId; + return this; + } + public FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration build() { + final var _resultValue = new FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration(); + _resultValue.privateLinkVpceId = privateLinkVpceId; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/User.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/User.java index 583ea81627c..169b0a6428a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/User.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/User.java @@ -80,28 +80,28 @@ @ResourceType(type="aws:memorydb/user:User") public class User extends com.pulumi.resources.CustomResource { /** - * The access permissions string used for this user. + * Access permissions string used for this user. * */ @Export(name="accessString", refs={String.class}, tree="[0]") private Output accessString; /** - * @return The access permissions string used for this user. + * @return Access permissions string used for this user. * */ public Output accessString() { return this.accessString; } /** - * The ARN of the user. + * ARN of the user. * */ @Export(name="arn", refs={String.class}, tree="[0]") private Output arn; /** - * @return The ARN of the user. + * @return ARN of the user. * */ public Output arn() { @@ -122,14 +122,14 @@ public Output authenticationMode() { return this.authenticationMode; } /** - * The minimum engine version supported for the user. + * Minimum engine version supported for the user. * */ @Export(name="minimumEngineVersion", refs={String.class}, tree="[0]") private Output minimumEngineVersion; /** - * @return The minimum engine version supported for the user. + * @return Minimum engine version supported for the user. * */ public Output minimumEngineVersion() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/UserArgs.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/UserArgs.java index 8888620e5d2..f150a9a73ba 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/UserArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/UserArgs.java @@ -19,14 +19,14 @@ public final class UserArgs extends com.pulumi.resources.ResourceArgs { public static final UserArgs Empty = new UserArgs(); /** - * The access permissions string used for this user. + * Access permissions string used for this user. * */ @Import(name="accessString", required=true) private Output accessString; /** - * @return The access permissions string used for this user. + * @return Access permissions string used for this user. * */ public Output accessString() { @@ -110,7 +110,7 @@ public Builder(UserArgs defaults) { } /** - * @param accessString The access permissions string used for this user. + * @param accessString Access permissions string used for this user. * * @return builder * @@ -121,7 +121,7 @@ public Builder accessString(Output accessString) { } /** - * @param accessString The access permissions string used for this user. + * @param accessString Access permissions string used for this user. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/GetUserArgs.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/GetUserArgs.java index 6c2c9f407b7..981adf877b5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/GetUserArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/GetUserArgs.java @@ -18,14 +18,14 @@ public final class GetUserArgs extends com.pulumi.resources.InvokeArgs { public static final GetUserArgs Empty = new GetUserArgs(); /** - * Map of tags assigned to the subnet group. + * Map of tags assigned to the user. * */ @Import(name="tags") private @Nullable Output> tags; /** - * @return Map of tags assigned to the subnet group. + * @return Map of tags assigned to the user. * */ public Optional>> tags() { @@ -73,7 +73,7 @@ public Builder(GetUserArgs defaults) { } /** - * @param tags Map of tags assigned to the subnet group. + * @param tags Map of tags assigned to the user. * * @return builder * @@ -84,7 +84,7 @@ public Builder tags(@Nullable Output> tags) { } /** - * @param tags Map of tags assigned to the subnet group. + * @param tags Map of tags assigned to the user. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/GetUserPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/GetUserPlainArgs.java index 615e08d9562..1207bc01254 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/GetUserPlainArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/GetUserPlainArgs.java @@ -17,14 +17,14 @@ public final class GetUserPlainArgs extends com.pulumi.resources.InvokeArgs { public static final GetUserPlainArgs Empty = new GetUserPlainArgs(); /** - * Map of tags assigned to the subnet group. + * Map of tags assigned to the user. * */ @Import(name="tags") private @Nullable Map tags; /** - * @return Map of tags assigned to the subnet group. + * @return Map of tags assigned to the user. * */ public Optional> tags() { @@ -72,7 +72,7 @@ public Builder(GetUserPlainArgs defaults) { } /** - * @param tags Map of tags assigned to the subnet group. + * @param tags Map of tags assigned to the user. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/UserAuthenticationModeArgs.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/UserAuthenticationModeArgs.java index a79a02f2cbc..63adb46dbdc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/UserAuthenticationModeArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/UserAuthenticationModeArgs.java @@ -19,14 +19,14 @@ public final class UserAuthenticationModeArgs extends com.pulumi.resources.Resou public static final UserAuthenticationModeArgs Empty = new UserAuthenticationModeArgs(); /** - * The number of passwords belonging to the user. + * Number of passwords belonging to the user if `type` is set to `password`. * */ @Import(name="passwordCount") private @Nullable Output passwordCount; /** - * @return The number of passwords belonging to the user. + * @return Number of passwords belonging to the user if `type` is set to `password`. * */ public Optional> passwordCount() { @@ -34,29 +34,29 @@ public Optional> passwordCount() { } /** - * The set of passwords used for authentication. You can create up to two passwords for each user. + * Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. * */ - @Import(name="passwords", required=true) - private Output> passwords; + @Import(name="passwords") + private @Nullable Output> passwords; /** - * @return The set of passwords used for authentication. You can create up to two passwords for each user. + * @return Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. * */ - public Output> passwords() { - return this.passwords; + public Optional>> passwords() { + return Optional.ofNullable(this.passwords); } /** - * Indicates whether the user requires a password to authenticate. Must be set to `password`. + * Specifies the authentication type. Valid values are: `password` or `iam`. * */ @Import(name="type", required=true) private Output type; /** - * @return Indicates whether the user requires a password to authenticate. Must be set to `password`. + * @return Specifies the authentication type. Valid values are: `password` or `iam`. * */ public Output type() { @@ -90,7 +90,7 @@ public Builder(UserAuthenticationModeArgs defaults) { } /** - * @param passwordCount The number of passwords belonging to the user. + * @param passwordCount Number of passwords belonging to the user if `type` is set to `password`. * * @return builder * @@ -101,7 +101,7 @@ public Builder passwordCount(@Nullable Output passwordCount) { } /** - * @param passwordCount The number of passwords belonging to the user. + * @param passwordCount Number of passwords belonging to the user if `type` is set to `password`. * * @return builder * @@ -111,18 +111,18 @@ public Builder passwordCount(Integer passwordCount) { } /** - * @param passwords The set of passwords used for authentication. You can create up to two passwords for each user. + * @param passwords Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. * * @return builder * */ - public Builder passwords(Output> passwords) { + public Builder passwords(@Nullable Output> passwords) { $.passwords = passwords; return this; } /** - * @param passwords The set of passwords used for authentication. You can create up to two passwords for each user. + * @param passwords Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. * * @return builder * @@ -132,7 +132,7 @@ public Builder passwords(List passwords) { } /** - * @param passwords The set of passwords used for authentication. You can create up to two passwords for each user. + * @param passwords Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. * * @return builder * @@ -142,7 +142,7 @@ public Builder passwords(String... passwords) { } /** - * @param type Indicates whether the user requires a password to authenticate. Must be set to `password`. + * @param type Specifies the authentication type. Valid values are: `password` or `iam`. * * @return builder * @@ -153,7 +153,7 @@ public Builder type(Output type) { } /** - * @param type Indicates whether the user requires a password to authenticate. Must be set to `password`. + * @param type Specifies the authentication type. Valid values are: `password` or `iam`. * * @return builder * @@ -163,9 +163,6 @@ public Builder type(String type) { } public UserAuthenticationModeArgs build() { - if ($.passwords == null) { - throw new MissingRequiredPropertyException("UserAuthenticationModeArgs", "passwords"); - } if ($.type == null) { throw new MissingRequiredPropertyException("UserAuthenticationModeArgs", "type"); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/UserState.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/UserState.java index 8d75bebed74..bb5937cd811 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/UserState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/inputs/UserState.java @@ -18,14 +18,14 @@ public final class UserState extends com.pulumi.resources.ResourceArgs { public static final UserState Empty = new UserState(); /** - * The access permissions string used for this user. + * Access permissions string used for this user. * */ @Import(name="accessString") private @Nullable Output accessString; /** - * @return The access permissions string used for this user. + * @return Access permissions string used for this user. * */ public Optional> accessString() { @@ -33,14 +33,14 @@ public Optional> accessString() { } /** - * The ARN of the user. + * ARN of the user. * */ @Import(name="arn") private @Nullable Output arn; /** - * @return The ARN of the user. + * @return ARN of the user. * */ public Optional> arn() { @@ -63,14 +63,14 @@ public Optional> authenticationMode() { } /** - * The minimum engine version supported for the user. + * Minimum engine version supported for the user. * */ @Import(name="minimumEngineVersion") private @Nullable Output minimumEngineVersion; /** - * @return The minimum engine version supported for the user. + * @return Minimum engine version supported for the user. * */ public Optional> minimumEngineVersion() { @@ -165,7 +165,7 @@ public Builder(UserState defaults) { } /** - * @param accessString The access permissions string used for this user. + * @param accessString Access permissions string used for this user. * * @return builder * @@ -176,7 +176,7 @@ public Builder accessString(@Nullable Output accessString) { } /** - * @param accessString The access permissions string used for this user. + * @param accessString Access permissions string used for this user. * * @return builder * @@ -186,7 +186,7 @@ public Builder accessString(String accessString) { } /** - * @param arn The ARN of the user. + * @param arn ARN of the user. * * @return builder * @@ -197,7 +197,7 @@ public Builder arn(@Nullable Output arn) { } /** - * @param arn The ARN of the user. + * @param arn ARN of the user. * * @return builder * @@ -228,7 +228,7 @@ public Builder authenticationMode(UserAuthenticationModeArgs authenticationMode) } /** - * @param minimumEngineVersion The minimum engine version supported for the user. + * @param minimumEngineVersion Minimum engine version supported for the user. * * @return builder * @@ -239,7 +239,7 @@ public Builder minimumEngineVersion(@Nullable Output minimumEngineVersio } /** - * @param minimumEngineVersion The minimum engine version supported for the user. + * @param minimumEngineVersion Minimum engine version supported for the user. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/outputs/GetUserAuthenticationMode.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/outputs/GetUserAuthenticationMode.java index f5c1fc77233..18af27dc72a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/outputs/GetUserAuthenticationMode.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/outputs/GetUserAuthenticationMode.java @@ -12,26 +12,26 @@ @CustomType public final class GetUserAuthenticationMode { /** - * @return The number of passwords belonging to the user. + * @return Number of passwords belonging to the user if `type` is set to `password`. * */ private Integer passwordCount; /** - * @return Whether the user requires a password to authenticate. + * @return Type of authentication configured. * */ private String type; private GetUserAuthenticationMode() {} /** - * @return The number of passwords belonging to the user. + * @return Number of passwords belonging to the user if `type` is set to `password`. * */ public Integer passwordCount() { return this.passwordCount; } /** - * @return Whether the user requires a password to authenticate. + * @return Type of authentication configured. * */ public String type() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/outputs/GetUserResult.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/outputs/GetUserResult.java index 566cfee7e9f..a7688ac2c88 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/outputs/GetUserResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/outputs/GetUserResult.java @@ -34,12 +34,12 @@ public final class GetUserResult { */ private String id; /** - * @return The minimum engine version supported for the user. + * @return Minimum engine version supported for the user. * */ private String minimumEngineVersion; /** - * @return Map of tags assigned to the subnet group. + * @return Map of tags assigned to the user. * */ private Map tags; @@ -75,14 +75,14 @@ public String id() { return this.id; } /** - * @return The minimum engine version supported for the user. + * @return Minimum engine version supported for the user. * */ public String minimumEngineVersion() { return this.minimumEngineVersion; } /** - * @return Map of tags assigned to the subnet group. + * @return Map of tags assigned to the user. * */ public Map tags() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/memorydb/outputs/UserAuthenticationMode.java b/sdk/java/src/main/java/com/pulumi/aws/memorydb/outputs/UserAuthenticationMode.java index 81e8e387ba0..156cc2fd258 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/memorydb/outputs/UserAuthenticationMode.java +++ b/sdk/java/src/main/java/com/pulumi/aws/memorydb/outputs/UserAuthenticationMode.java @@ -15,38 +15,38 @@ @CustomType public final class UserAuthenticationMode { /** - * @return The number of passwords belonging to the user. + * @return Number of passwords belonging to the user if `type` is set to `password`. * */ private @Nullable Integer passwordCount; /** - * @return The set of passwords used for authentication. You can create up to two passwords for each user. + * @return Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. * */ - private List passwords; + private @Nullable List passwords; /** - * @return Indicates whether the user requires a password to authenticate. Must be set to `password`. + * @return Specifies the authentication type. Valid values are: `password` or `iam`. * */ private String type; private UserAuthenticationMode() {} /** - * @return The number of passwords belonging to the user. + * @return Number of passwords belonging to the user if `type` is set to `password`. * */ public Optional passwordCount() { return Optional.ofNullable(this.passwordCount); } /** - * @return The set of passwords used for authentication. You can create up to two passwords for each user. + * @return Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. * */ public List passwords() { - return this.passwords; + return this.passwords == null ? List.of() : this.passwords; } /** - * @return Indicates whether the user requires a password to authenticate. Must be set to `password`. + * @return Specifies the authentication type. Valid values are: `password` or `iam`. * */ public String type() { @@ -63,7 +63,7 @@ public static Builder builder(UserAuthenticationMode defaults) { @CustomType.Builder public static final class Builder { private @Nullable Integer passwordCount; - private List passwords; + private @Nullable List passwords; private String type; public Builder() {} public Builder(UserAuthenticationMode defaults) { @@ -80,10 +80,8 @@ public Builder passwordCount(@Nullable Integer passwordCount) { return this; } @CustomType.Setter - public Builder passwords(List passwords) { - if (passwords == null) { - throw new MissingRequiredPropertyException("UserAuthenticationMode", "passwords"); - } + public Builder passwords(@Nullable List passwords) { + this.passwords = passwords; return this; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java b/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java index 58c47704e1f..888abc6e056 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java @@ -785,6 +785,20 @@ public Output dbName() { public Output dbSubnetGroupName() { return this.dbSubnetGroupName; } + /** + * Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + * + */ + @Export(name="dedicatedLogVolume", refs={Boolean.class}, tree="[0]") + private Output dedicatedLogVolume; + + /** + * @return Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + * + */ + public Output> dedicatedLogVolume() { + return Codegen.optional(this.dedicatedLogVolume); + } /** * Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceArgs.java index 6c5c18a8e01..394eac9914b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceArgs.java @@ -322,6 +322,21 @@ public Optional> dbSubnetGroupName() { return Optional.ofNullable(this.dbSubnetGroupName); } + /** + * Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + * + */ + @Import(name="dedicatedLogVolume") + private @Nullable Output dedicatedLogVolume; + + /** + * @return Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + * + */ + public Optional> dedicatedLogVolume() { + return Optional.ofNullable(this.dedicatedLogVolume); + } + /** * Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. * @@ -1203,6 +1218,7 @@ private InstanceArgs(InstanceArgs $) { this.customerOwnedIpEnabled = $.customerOwnedIpEnabled; this.dbName = $.dbName; this.dbSubnetGroupName = $.dbSubnetGroupName; + this.dedicatedLogVolume = $.dedicatedLogVolume; this.deleteAutomatedBackups = $.deleteAutomatedBackups; this.deletionProtection = $.deletionProtection; this.domain = $.domain; @@ -1665,6 +1681,27 @@ public Builder dbSubnetGroupName(String dbSubnetGroupName) { return dbSubnetGroupName(Output.of(dbSubnetGroupName)); } + /** + * @param dedicatedLogVolume Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + * + * @return builder + * + */ + public Builder dedicatedLogVolume(@Nullable Output dedicatedLogVolume) { + $.dedicatedLogVolume = dedicatedLogVolume; + return this; + } + + /** + * @param dedicatedLogVolume Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + * + * @return builder + * + */ + public Builder dedicatedLogVolume(Boolean dedicatedLogVolume) { + return dedicatedLogVolume(Output.of(dedicatedLogVolume)); + } + /** * @param deleteAutomatedBackups Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java index 0e59c2b1bb2..cb40f0a776e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java @@ -353,6 +353,21 @@ public Optional> dbSubnetGroupName() { return Optional.ofNullable(this.dbSubnetGroupName); } + /** + * Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + * + */ + @Import(name="dedicatedLogVolume") + private @Nullable Output dedicatedLogVolume; + + /** + * @return Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + * + */ + public Optional> dedicatedLogVolume() { + return Optional.ofNullable(this.dedicatedLogVolume); + } + /** * Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. * @@ -1386,6 +1401,7 @@ private InstanceState(InstanceState $) { this.customerOwnedIpEnabled = $.customerOwnedIpEnabled; this.dbName = $.dbName; this.dbSubnetGroupName = $.dbSubnetGroupName; + this.dedicatedLogVolume = $.dedicatedLogVolume; this.deleteAutomatedBackups = $.deleteAutomatedBackups; this.deletionProtection = $.deletionProtection; this.domain = $.domain; @@ -1900,6 +1916,27 @@ public Builder dbSubnetGroupName(String dbSubnetGroupName) { return dbSubnetGroupName(Output.of(dbSubnetGroupName)); } + /** + * @param dedicatedLogVolume Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + * + * @return builder + * + */ + public Builder dedicatedLogVolume(@Nullable Output dedicatedLogVolume) { + $.dedicatedLogVolume = dedicatedLogVolume; + return this; + } + + /** + * @param dedicatedLogVolume Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + * + * @return builder + * + */ + public Builder dedicatedLogVolume(Boolean dedicatedLogVolume) { + return dedicatedLogVolume(Output.of(dedicatedLogVolume)); + } + /** * @param deleteAutomatedBackups Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/AppImageConfig.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/AppImageConfig.java index 08b472cba4d..bab3ebe2ebc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/AppImageConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/AppImageConfig.java @@ -6,6 +6,7 @@ import com.pulumi.aws.Utilities; import com.pulumi.aws.sagemaker.AppImageConfigArgs; import com.pulumi.aws.sagemaker.inputs.AppImageConfigState; +import com.pulumi.aws.sagemaker.outputs.AppImageConfigCodeEditorAppImageConfig; import com.pulumi.aws.sagemaker.outputs.AppImageConfigJupyterLabImageConfig; import com.pulumi.aws.sagemaker.outputs.AppImageConfigKernelGatewayImageConfig; import com.pulumi.core.Output; @@ -34,7 +35,6 @@ * import com.pulumi.aws.sagemaker.AppImageConfig; * import com.pulumi.aws.sagemaker.AppImageConfigArgs; * import com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs; - * import com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigKernelSpecArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -51,9 +51,7 @@ * var test = new AppImageConfig("test", AppImageConfigArgs.builder() * .appImageConfigName("example") * .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder() - * .kernelSpec(AppImageConfigKernelGatewayImageConfigKernelSpecArgs.builder() - * .name("example") - * .build()) + * .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) * .build()) * .build()); * @@ -74,7 +72,6 @@ * import com.pulumi.aws.sagemaker.AppImageConfig; * import com.pulumi.aws.sagemaker.AppImageConfigArgs; * import com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs; - * import com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigKernelSpecArgs; * import com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigFileSystemConfigArgs; * import java.util.List; * import java.util.ArrayList; @@ -92,9 +89,7 @@ * var test = new AppImageConfig("test", AppImageConfigArgs.builder() * .appImageConfigName("example") * .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder() - * .kernelSpec(AppImageConfigKernelGatewayImageConfigKernelSpecArgs.builder() - * .name("example") - * .build()) + * .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) * .fileSystemConfig() * .build()) * .build()); @@ -143,9 +138,31 @@ public Output appImageConfigName() { public Output arn() { return this.arn; } + /** + * The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + * + */ + @Export(name="codeEditorAppImageConfig", refs={AppImageConfigCodeEditorAppImageConfig.class}, tree="[0]") + private Output codeEditorAppImageConfig; + + /** + * @return The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + * + */ + public Output> codeEditorAppImageConfig() { + return Codegen.optional(this.codeEditorAppImageConfig); + } + /** + * The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + * + */ @Export(name="jupyterLabImageConfig", refs={AppImageConfigJupyterLabImageConfig.class}, tree="[0]") private Output jupyterLabImageConfig; + /** + * @return The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + * + */ public Output> jupyterLabImageConfig() { return Codegen.optional(this.jupyterLabImageConfig); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/AppImageConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/AppImageConfigArgs.java index 470be830de9..35599639679 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/AppImageConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/AppImageConfigArgs.java @@ -3,6 +3,7 @@ package com.pulumi.aws.sagemaker; +import com.pulumi.aws.sagemaker.inputs.AppImageConfigCodeEditorAppImageConfigArgs; import com.pulumi.aws.sagemaker.inputs.AppImageConfigJupyterLabImageConfigArgs; import com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs; import com.pulumi.core.Output; @@ -34,9 +35,32 @@ public Output appImageConfigName() { return this.appImageConfigName; } + /** + * The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + * + */ + @Import(name="codeEditorAppImageConfig") + private @Nullable Output codeEditorAppImageConfig; + + /** + * @return The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + * + */ + public Optional> codeEditorAppImageConfig() { + return Optional.ofNullable(this.codeEditorAppImageConfig); + } + + /** + * The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + * + */ @Import(name="jupyterLabImageConfig") private @Nullable Output jupyterLabImageConfig; + /** + * @return The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + * + */ public Optional> jupyterLabImageConfig() { return Optional.ofNullable(this.jupyterLabImageConfig); } @@ -75,6 +99,7 @@ private AppImageConfigArgs() {} private AppImageConfigArgs(AppImageConfigArgs $) { this.appImageConfigName = $.appImageConfigName; + this.codeEditorAppImageConfig = $.codeEditorAppImageConfig; this.jupyterLabImageConfig = $.jupyterLabImageConfig; this.kernelGatewayImageConfig = $.kernelGatewayImageConfig; this.tags = $.tags; @@ -119,11 +144,44 @@ public Builder appImageConfigName(String appImageConfigName) { return appImageConfigName(Output.of(appImageConfigName)); } + /** + * @param codeEditorAppImageConfig The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + * + * @return builder + * + */ + public Builder codeEditorAppImageConfig(@Nullable Output codeEditorAppImageConfig) { + $.codeEditorAppImageConfig = codeEditorAppImageConfig; + return this; + } + + /** + * @param codeEditorAppImageConfig The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + * + * @return builder + * + */ + public Builder codeEditorAppImageConfig(AppImageConfigCodeEditorAppImageConfigArgs codeEditorAppImageConfig) { + return codeEditorAppImageConfig(Output.of(codeEditorAppImageConfig)); + } + + /** + * @param jupyterLabImageConfig The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + * + * @return builder + * + */ public Builder jupyterLabImageConfig(@Nullable Output jupyterLabImageConfig) { $.jupyterLabImageConfig = jupyterLabImageConfig; return this; } + /** + * @param jupyterLabImageConfig The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + * + * @return builder + * + */ public Builder jupyterLabImageConfig(AppImageConfigJupyterLabImageConfigArgs jupyterLabImageConfig) { return jupyterLabImageConfig(Output.of(jupyterLabImageConfig)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Domain.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Domain.java index 36e4a7069b4..fe959327b43 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Domain.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/Domain.java @@ -99,7 +99,6 @@ * import com.pulumi.aws.sagemaker.AppImageConfig; * import com.pulumi.aws.sagemaker.AppImageConfigArgs; * import com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs; - * import com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigKernelSpecArgs; * import com.pulumi.aws.sagemaker.ImageVersion; * import com.pulumi.aws.sagemaker.ImageVersionArgs; * import com.pulumi.aws.sagemaker.Domain; @@ -127,9 +126,7 @@ * var exampleAppImageConfig = new AppImageConfig("exampleAppImageConfig", AppImageConfigArgs.builder() * .appImageConfigName("example") * .kernelGatewayImageConfig(AppImageConfigKernelGatewayImageConfigArgs.builder() - * .kernelSpec(AppImageConfigKernelGatewayImageConfigKernelSpecArgs.builder() - * .name("example") - * .build()) + * .kernelSpecs(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference)) * .build()) * .build()); * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigCodeEditorAppImageConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigCodeEditorAppImageConfigArgs.java new file mode 100644 index 00000000000..67d06540a88 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigCodeEditorAppImageConfigArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sagemaker.inputs; + +import com.pulumi.aws.sagemaker.inputs.AppImageConfigCodeEditorAppImageConfigContainerConfigArgs; +import com.pulumi.aws.sagemaker.inputs.AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AppImageConfigCodeEditorAppImageConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final AppImageConfigCodeEditorAppImageConfigArgs Empty = new AppImageConfigCodeEditorAppImageConfigArgs(); + + /** + * The configuration used to run the application image container. See Container Config details below. + * + */ + @Import(name="containerConfig") + private @Nullable Output containerConfig; + + /** + * @return The configuration used to run the application image container. See Container Config details below. + * + */ + public Optional> containerConfig() { + return Optional.ofNullable(this.containerConfig); + } + + /** + * The URL where the Git repository is located. See File System Config details below. + * + */ + @Import(name="fileSystemConfig") + private @Nullable Output fileSystemConfig; + + /** + * @return The URL where the Git repository is located. See File System Config details below. + * + */ + public Optional> fileSystemConfig() { + return Optional.ofNullable(this.fileSystemConfig); + } + + private AppImageConfigCodeEditorAppImageConfigArgs() {} + + private AppImageConfigCodeEditorAppImageConfigArgs(AppImageConfigCodeEditorAppImageConfigArgs $) { + this.containerConfig = $.containerConfig; + this.fileSystemConfig = $.fileSystemConfig; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppImageConfigCodeEditorAppImageConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppImageConfigCodeEditorAppImageConfigArgs $; + + public Builder() { + $ = new AppImageConfigCodeEditorAppImageConfigArgs(); + } + + public Builder(AppImageConfigCodeEditorAppImageConfigArgs defaults) { + $ = new AppImageConfigCodeEditorAppImageConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param containerConfig The configuration used to run the application image container. See Container Config details below. + * + * @return builder + * + */ + public Builder containerConfig(@Nullable Output containerConfig) { + $.containerConfig = containerConfig; + return this; + } + + /** + * @param containerConfig The configuration used to run the application image container. See Container Config details below. + * + * @return builder + * + */ + public Builder containerConfig(AppImageConfigCodeEditorAppImageConfigContainerConfigArgs containerConfig) { + return containerConfig(Output.of(containerConfig)); + } + + /** + * @param fileSystemConfig The URL where the Git repository is located. See File System Config details below. + * + * @return builder + * + */ + public Builder fileSystemConfig(@Nullable Output fileSystemConfig) { + $.fileSystemConfig = fileSystemConfig; + return this; + } + + /** + * @param fileSystemConfig The URL where the Git repository is located. See File System Config details below. + * + * @return builder + * + */ + public Builder fileSystemConfig(AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs fileSystemConfig) { + return fileSystemConfig(Output.of(fileSystemConfig)); + } + + public AppImageConfigCodeEditorAppImageConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigCodeEditorAppImageConfigContainerConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigCodeEditorAppImageConfigContainerConfigArgs.java new file mode 100644 index 00000000000..8b4102faf3b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigCodeEditorAppImageConfigContainerConfigArgs.java @@ -0,0 +1,179 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sagemaker.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AppImageConfigCodeEditorAppImageConfigContainerConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final AppImageConfigCodeEditorAppImageConfigContainerConfigArgs Empty = new AppImageConfigCodeEditorAppImageConfigContainerConfigArgs(); + + /** + * The arguments for the container when you're running the application. + * + */ + @Import(name="containerArguments") + private @Nullable Output> containerArguments; + + /** + * @return The arguments for the container when you're running the application. + * + */ + public Optional>> containerArguments() { + return Optional.ofNullable(this.containerArguments); + } + + /** + * The entrypoint used to run the application in the container. + * + */ + @Import(name="containerEntrypoints") + private @Nullable Output> containerEntrypoints; + + /** + * @return The entrypoint used to run the application in the container. + * + */ + public Optional>> containerEntrypoints() { + return Optional.ofNullable(this.containerEntrypoints); + } + + /** + * The environment variables to set in the container. + * + */ + @Import(name="containerEnvironmentVariables") + private @Nullable Output> containerEnvironmentVariables; + + /** + * @return The environment variables to set in the container. + * + */ + public Optional>> containerEnvironmentVariables() { + return Optional.ofNullable(this.containerEnvironmentVariables); + } + + private AppImageConfigCodeEditorAppImageConfigContainerConfigArgs() {} + + private AppImageConfigCodeEditorAppImageConfigContainerConfigArgs(AppImageConfigCodeEditorAppImageConfigContainerConfigArgs $) { + this.containerArguments = $.containerArguments; + this.containerEntrypoints = $.containerEntrypoints; + this.containerEnvironmentVariables = $.containerEnvironmentVariables; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppImageConfigCodeEditorAppImageConfigContainerConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppImageConfigCodeEditorAppImageConfigContainerConfigArgs $; + + public Builder() { + $ = new AppImageConfigCodeEditorAppImageConfigContainerConfigArgs(); + } + + public Builder(AppImageConfigCodeEditorAppImageConfigContainerConfigArgs defaults) { + $ = new AppImageConfigCodeEditorAppImageConfigContainerConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param containerArguments The arguments for the container when you're running the application. + * + * @return builder + * + */ + public Builder containerArguments(@Nullable Output> containerArguments) { + $.containerArguments = containerArguments; + return this; + } + + /** + * @param containerArguments The arguments for the container when you're running the application. + * + * @return builder + * + */ + public Builder containerArguments(List containerArguments) { + return containerArguments(Output.of(containerArguments)); + } + + /** + * @param containerArguments The arguments for the container when you're running the application. + * + * @return builder + * + */ + public Builder containerArguments(String... containerArguments) { + return containerArguments(List.of(containerArguments)); + } + + /** + * @param containerEntrypoints The entrypoint used to run the application in the container. + * + * @return builder + * + */ + public Builder containerEntrypoints(@Nullable Output> containerEntrypoints) { + $.containerEntrypoints = containerEntrypoints; + return this; + } + + /** + * @param containerEntrypoints The entrypoint used to run the application in the container. + * + * @return builder + * + */ + public Builder containerEntrypoints(List containerEntrypoints) { + return containerEntrypoints(Output.of(containerEntrypoints)); + } + + /** + * @param containerEntrypoints The entrypoint used to run the application in the container. + * + * @return builder + * + */ + public Builder containerEntrypoints(String... containerEntrypoints) { + return containerEntrypoints(List.of(containerEntrypoints)); + } + + /** + * @param containerEnvironmentVariables The environment variables to set in the container. + * + * @return builder + * + */ + public Builder containerEnvironmentVariables(@Nullable Output> containerEnvironmentVariables) { + $.containerEnvironmentVariables = containerEnvironmentVariables; + return this; + } + + /** + * @param containerEnvironmentVariables The environment variables to set in the container. + * + * @return builder + * + */ + public Builder containerEnvironmentVariables(Map containerEnvironmentVariables) { + return containerEnvironmentVariables(Output.of(containerEnvironmentVariables)); + } + + public AppImageConfigCodeEditorAppImageConfigContainerConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs.java new file mode 100644 index 00000000000..893fbb234c5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs.java @@ -0,0 +1,166 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sagemaker.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs Empty = new AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs(); + + /** + * The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + * + */ + @Import(name="defaultGid") + private @Nullable Output defaultGid; + + /** + * @return The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + * + */ + public Optional> defaultGid() { + return Optional.ofNullable(this.defaultGid); + } + + /** + * The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + * + */ + @Import(name="defaultUid") + private @Nullable Output defaultUid; + + /** + * @return The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + * + */ + public Optional> defaultUid() { + return Optional.ofNullable(this.defaultUid); + } + + /** + * The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + * + */ + @Import(name="mountPath") + private @Nullable Output mountPath; + + /** + * @return The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + * + */ + public Optional> mountPath() { + return Optional.ofNullable(this.mountPath); + } + + private AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs() {} + + private AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs(AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs $) { + this.defaultGid = $.defaultGid; + this.defaultUid = $.defaultUid; + this.mountPath = $.mountPath; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs $; + + public Builder() { + $ = new AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs(); + } + + public Builder(AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs defaults) { + $ = new AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param defaultGid The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + * + * @return builder + * + */ + public Builder defaultGid(@Nullable Output defaultGid) { + $.defaultGid = defaultGid; + return this; + } + + /** + * @param defaultGid The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + * + * @return builder + * + */ + public Builder defaultGid(Integer defaultGid) { + return defaultGid(Output.of(defaultGid)); + } + + /** + * @param defaultUid The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + * + * @return builder + * + */ + public Builder defaultUid(@Nullable Output defaultUid) { + $.defaultUid = defaultUid; + return this; + } + + /** + * @param defaultUid The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + * + * @return builder + * + */ + public Builder defaultUid(Integer defaultUid) { + return defaultUid(Output.of(defaultUid)); + } + + /** + * @param mountPath The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + * + * @return builder + * + */ + public Builder mountPath(@Nullable Output mountPath) { + $.mountPath = mountPath; + return this; + } + + /** + * @param mountPath The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + * + * @return builder + * + */ + public Builder mountPath(String mountPath) { + return mountPath(Output.of(mountPath)); + } + + public AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigJupyterLabImageConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigJupyterLabImageConfigArgs.java index 4b0789ffbaa..e93a576438a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigJupyterLabImageConfigArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigJupyterLabImageConfigArgs.java @@ -4,6 +4,7 @@ package com.pulumi.aws.sagemaker.inputs; import com.pulumi.aws.sagemaker.inputs.AppImageConfigJupyterLabImageConfigContainerConfigArgs; +import com.pulumi.aws.sagemaker.inputs.AppImageConfigJupyterLabImageConfigFileSystemConfigArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.util.Objects; @@ -30,10 +31,26 @@ public Optional> return Optional.ofNullable(this.containerConfig); } + /** + * The URL where the Git repository is located. See File System Config details below. + * + */ + @Import(name="fileSystemConfig") + private @Nullable Output fileSystemConfig; + + /** + * @return The URL where the Git repository is located. See File System Config details below. + * + */ + public Optional> fileSystemConfig() { + return Optional.ofNullable(this.fileSystemConfig); + } + private AppImageConfigJupyterLabImageConfigArgs() {} private AppImageConfigJupyterLabImageConfigArgs(AppImageConfigJupyterLabImageConfigArgs $) { this.containerConfig = $.containerConfig; + this.fileSystemConfig = $.fileSystemConfig; } public static Builder builder() { @@ -75,6 +92,27 @@ public Builder containerConfig(AppImageConfigJupyterLabImageConfigContainerConfi return containerConfig(Output.of(containerConfig)); } + /** + * @param fileSystemConfig The URL where the Git repository is located. See File System Config details below. + * + * @return builder + * + */ + public Builder fileSystemConfig(@Nullable Output fileSystemConfig) { + $.fileSystemConfig = fileSystemConfig; + return this; + } + + /** + * @param fileSystemConfig The URL where the Git repository is located. See File System Config details below. + * + * @return builder + * + */ + public Builder fileSystemConfig(AppImageConfigJupyterLabImageConfigFileSystemConfigArgs fileSystemConfig) { + return fileSystemConfig(Output.of(fileSystemConfig)); + } + public AppImageConfigJupyterLabImageConfigArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigJupyterLabImageConfigFileSystemConfigArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigJupyterLabImageConfigFileSystemConfigArgs.java new file mode 100644 index 00000000000..ea2873d8a1e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigJupyterLabImageConfigFileSystemConfigArgs.java @@ -0,0 +1,166 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sagemaker.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AppImageConfigJupyterLabImageConfigFileSystemConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final AppImageConfigJupyterLabImageConfigFileSystemConfigArgs Empty = new AppImageConfigJupyterLabImageConfigFileSystemConfigArgs(); + + /** + * The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + * + */ + @Import(name="defaultGid") + private @Nullable Output defaultGid; + + /** + * @return The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + * + */ + public Optional> defaultGid() { + return Optional.ofNullable(this.defaultGid); + } + + /** + * The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + * + */ + @Import(name="defaultUid") + private @Nullable Output defaultUid; + + /** + * @return The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + * + */ + public Optional> defaultUid() { + return Optional.ofNullable(this.defaultUid); + } + + /** + * The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + * + */ + @Import(name="mountPath") + private @Nullable Output mountPath; + + /** + * @return The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + * + */ + public Optional> mountPath() { + return Optional.ofNullable(this.mountPath); + } + + private AppImageConfigJupyterLabImageConfigFileSystemConfigArgs() {} + + private AppImageConfigJupyterLabImageConfigFileSystemConfigArgs(AppImageConfigJupyterLabImageConfigFileSystemConfigArgs $) { + this.defaultGid = $.defaultGid; + this.defaultUid = $.defaultUid; + this.mountPath = $.mountPath; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AppImageConfigJupyterLabImageConfigFileSystemConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AppImageConfigJupyterLabImageConfigFileSystemConfigArgs $; + + public Builder() { + $ = new AppImageConfigJupyterLabImageConfigFileSystemConfigArgs(); + } + + public Builder(AppImageConfigJupyterLabImageConfigFileSystemConfigArgs defaults) { + $ = new AppImageConfigJupyterLabImageConfigFileSystemConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param defaultGid The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + * + * @return builder + * + */ + public Builder defaultGid(@Nullable Output defaultGid) { + $.defaultGid = defaultGid; + return this; + } + + /** + * @param defaultGid The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + * + * @return builder + * + */ + public Builder defaultGid(Integer defaultGid) { + return defaultGid(Output.of(defaultGid)); + } + + /** + * @param defaultUid The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + * + * @return builder + * + */ + public Builder defaultUid(@Nullable Output defaultUid) { + $.defaultUid = defaultUid; + return this; + } + + /** + * @param defaultUid The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + * + * @return builder + * + */ + public Builder defaultUid(Integer defaultUid) { + return defaultUid(Output.of(defaultUid)); + } + + /** + * @param mountPath The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + * + * @return builder + * + */ + public Builder mountPath(@Nullable Output mountPath) { + $.mountPath = mountPath; + return this; + } + + /** + * @param mountPath The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + * + * @return builder + * + */ + public Builder mountPath(String mountPath) { + return mountPath(Output.of(mountPath)); + } + + public AppImageConfigJupyterLabImageConfigFileSystemConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigState.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigState.java index 7453daf1353..5aafac670dd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/AppImageConfigState.java @@ -3,6 +3,7 @@ package com.pulumi.aws.sagemaker.inputs; +import com.pulumi.aws.sagemaker.inputs.AppImageConfigCodeEditorAppImageConfigArgs; import com.pulumi.aws.sagemaker.inputs.AppImageConfigJupyterLabImageConfigArgs; import com.pulumi.aws.sagemaker.inputs.AppImageConfigKernelGatewayImageConfigArgs; import com.pulumi.core.Output; @@ -48,9 +49,32 @@ public Optional> arn() { return Optional.ofNullable(this.arn); } + /** + * The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + * + */ + @Import(name="codeEditorAppImageConfig") + private @Nullable Output codeEditorAppImageConfig; + + /** + * @return The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + * + */ + public Optional> codeEditorAppImageConfig() { + return Optional.ofNullable(this.codeEditorAppImageConfig); + } + + /** + * The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + * + */ @Import(name="jupyterLabImageConfig") private @Nullable Output jupyterLabImageConfig; + /** + * @return The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + * + */ public Optional> jupyterLabImageConfig() { return Optional.ofNullable(this.jupyterLabImageConfig); } @@ -113,6 +137,7 @@ private AppImageConfigState() {} private AppImageConfigState(AppImageConfigState $) { this.appImageConfigName = $.appImageConfigName; this.arn = $.arn; + this.codeEditorAppImageConfig = $.codeEditorAppImageConfig; this.jupyterLabImageConfig = $.jupyterLabImageConfig; this.kernelGatewayImageConfig = $.kernelGatewayImageConfig; this.tags = $.tags; @@ -179,11 +204,44 @@ public Builder arn(String arn) { return arn(Output.of(arn)); } + /** + * @param codeEditorAppImageConfig The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + * + * @return builder + * + */ + public Builder codeEditorAppImageConfig(@Nullable Output codeEditorAppImageConfig) { + $.codeEditorAppImageConfig = codeEditorAppImageConfig; + return this; + } + + /** + * @param codeEditorAppImageConfig The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + * + * @return builder + * + */ + public Builder codeEditorAppImageConfig(AppImageConfigCodeEditorAppImageConfigArgs codeEditorAppImageConfig) { + return codeEditorAppImageConfig(Output.of(codeEditorAppImageConfig)); + } + + /** + * @param jupyterLabImageConfig The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + * + * @return builder + * + */ public Builder jupyterLabImageConfig(@Nullable Output jupyterLabImageConfig) { $.jupyterLabImageConfig = jupyterLabImageConfig; return this; } + /** + * @param jupyterLabImageConfig The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + * + * @return builder + * + */ public Builder jupyterLabImageConfig(AppImageConfigJupyterLabImageConfigArgs jupyterLabImageConfig) { return jupyterLabImageConfig(Output.of(jupyterLabImageConfig)); } diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigCodeEditorAppImageConfig.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigCodeEditorAppImageConfig.java new file mode 100644 index 00000000000..200fe067c0c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigCodeEditorAppImageConfig.java @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sagemaker.outputs; + +import com.pulumi.aws.sagemaker.outputs.AppImageConfigCodeEditorAppImageConfigContainerConfig; +import com.pulumi.aws.sagemaker.outputs.AppImageConfigCodeEditorAppImageConfigFileSystemConfig; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AppImageConfigCodeEditorAppImageConfig { + /** + * @return The configuration used to run the application image container. See Container Config details below. + * + */ + private @Nullable AppImageConfigCodeEditorAppImageConfigContainerConfig containerConfig; + /** + * @return The URL where the Git repository is located. See File System Config details below. + * + */ + private @Nullable AppImageConfigCodeEditorAppImageConfigFileSystemConfig fileSystemConfig; + + private AppImageConfigCodeEditorAppImageConfig() {} + /** + * @return The configuration used to run the application image container. See Container Config details below. + * + */ + public Optional containerConfig() { + return Optional.ofNullable(this.containerConfig); + } + /** + * @return The URL where the Git repository is located. See File System Config details below. + * + */ + public Optional fileSystemConfig() { + return Optional.ofNullable(this.fileSystemConfig); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AppImageConfigCodeEditorAppImageConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable AppImageConfigCodeEditorAppImageConfigContainerConfig containerConfig; + private @Nullable AppImageConfigCodeEditorAppImageConfigFileSystemConfig fileSystemConfig; + public Builder() {} + public Builder(AppImageConfigCodeEditorAppImageConfig defaults) { + Objects.requireNonNull(defaults); + this.containerConfig = defaults.containerConfig; + this.fileSystemConfig = defaults.fileSystemConfig; + } + + @CustomType.Setter + public Builder containerConfig(@Nullable AppImageConfigCodeEditorAppImageConfigContainerConfig containerConfig) { + + this.containerConfig = containerConfig; + return this; + } + @CustomType.Setter + public Builder fileSystemConfig(@Nullable AppImageConfigCodeEditorAppImageConfigFileSystemConfig fileSystemConfig) { + + this.fileSystemConfig = fileSystemConfig; + return this; + } + public AppImageConfigCodeEditorAppImageConfig build() { + final var _resultValue = new AppImageConfigCodeEditorAppImageConfig(); + _resultValue.containerConfig = containerConfig; + _resultValue.fileSystemConfig = fileSystemConfig; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigCodeEditorAppImageConfigContainerConfig.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigCodeEditorAppImageConfigContainerConfig.java new file mode 100644 index 00000000000..25282637025 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigCodeEditorAppImageConfigContainerConfig.java @@ -0,0 +1,106 @@ +// *** 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.sagemaker.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class AppImageConfigCodeEditorAppImageConfigContainerConfig { + /** + * @return The arguments for the container when you're running the application. + * + */ + private @Nullable List containerArguments; + /** + * @return The entrypoint used to run the application in the container. + * + */ + private @Nullable List containerEntrypoints; + /** + * @return The environment variables to set in the container. + * + */ + private @Nullable Map containerEnvironmentVariables; + + private AppImageConfigCodeEditorAppImageConfigContainerConfig() {} + /** + * @return The arguments for the container when you're running the application. + * + */ + public List containerArguments() { + return this.containerArguments == null ? List.of() : this.containerArguments; + } + /** + * @return The entrypoint used to run the application in the container. + * + */ + public List containerEntrypoints() { + return this.containerEntrypoints == null ? List.of() : this.containerEntrypoints; + } + /** + * @return The environment variables to set in the container. + * + */ + public Map containerEnvironmentVariables() { + return this.containerEnvironmentVariables == null ? Map.of() : this.containerEnvironmentVariables; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AppImageConfigCodeEditorAppImageConfigContainerConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List containerArguments; + private @Nullable List containerEntrypoints; + private @Nullable Map containerEnvironmentVariables; + public Builder() {} + public Builder(AppImageConfigCodeEditorAppImageConfigContainerConfig defaults) { + Objects.requireNonNull(defaults); + this.containerArguments = defaults.containerArguments; + this.containerEntrypoints = defaults.containerEntrypoints; + this.containerEnvironmentVariables = defaults.containerEnvironmentVariables; + } + + @CustomType.Setter + public Builder containerArguments(@Nullable List containerArguments) { + + this.containerArguments = containerArguments; + return this; + } + public Builder containerArguments(String... containerArguments) { + return containerArguments(List.of(containerArguments)); + } + @CustomType.Setter + public Builder containerEntrypoints(@Nullable List containerEntrypoints) { + + this.containerEntrypoints = containerEntrypoints; + return this; + } + public Builder containerEntrypoints(String... containerEntrypoints) { + return containerEntrypoints(List.of(containerEntrypoints)); + } + @CustomType.Setter + public Builder containerEnvironmentVariables(@Nullable Map containerEnvironmentVariables) { + + this.containerEnvironmentVariables = containerEnvironmentVariables; + return this; + } + public AppImageConfigCodeEditorAppImageConfigContainerConfig build() { + final var _resultValue = new AppImageConfigCodeEditorAppImageConfigContainerConfig(); + _resultValue.containerArguments = containerArguments; + _resultValue.containerEntrypoints = containerEntrypoints; + _resultValue.containerEnvironmentVariables = containerEnvironmentVariables; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfig.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfig.java new file mode 100644 index 00000000000..c7b05ecfaa7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigCodeEditorAppImageConfigFileSystemConfig.java @@ -0,0 +1,104 @@ +// *** 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.sagemaker.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AppImageConfigCodeEditorAppImageConfigFileSystemConfig { + /** + * @return The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + * + */ + private @Nullable Integer defaultGid; + /** + * @return The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + * + */ + private @Nullable Integer defaultUid; + /** + * @return The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + * + */ + private @Nullable String mountPath; + + private AppImageConfigCodeEditorAppImageConfigFileSystemConfig() {} + /** + * @return The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + * + */ + public Optional defaultGid() { + return Optional.ofNullable(this.defaultGid); + } + /** + * @return The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + * + */ + public Optional defaultUid() { + return Optional.ofNullable(this.defaultUid); + } + /** + * @return The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + * + */ + public Optional mountPath() { + return Optional.ofNullable(this.mountPath); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AppImageConfigCodeEditorAppImageConfigFileSystemConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer defaultGid; + private @Nullable Integer defaultUid; + private @Nullable String mountPath; + public Builder() {} + public Builder(AppImageConfigCodeEditorAppImageConfigFileSystemConfig defaults) { + Objects.requireNonNull(defaults); + this.defaultGid = defaults.defaultGid; + this.defaultUid = defaults.defaultUid; + this.mountPath = defaults.mountPath; + } + + @CustomType.Setter + public Builder defaultGid(@Nullable Integer defaultGid) { + + this.defaultGid = defaultGid; + return this; + } + @CustomType.Setter + public Builder defaultUid(@Nullable Integer defaultUid) { + + this.defaultUid = defaultUid; + return this; + } + @CustomType.Setter + public Builder mountPath(@Nullable String mountPath) { + + this.mountPath = mountPath; + return this; + } + public AppImageConfigCodeEditorAppImageConfigFileSystemConfig build() { + final var _resultValue = new AppImageConfigCodeEditorAppImageConfigFileSystemConfig(); + _resultValue.defaultGid = defaultGid; + _resultValue.defaultUid = defaultUid; + _resultValue.mountPath = mountPath; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigJupyterLabImageConfig.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigJupyterLabImageConfig.java index 911d975972c..26729e8cb78 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigJupyterLabImageConfig.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigJupyterLabImageConfig.java @@ -4,6 +4,7 @@ package com.pulumi.aws.sagemaker.outputs; import com.pulumi.aws.sagemaker.outputs.AppImageConfigJupyterLabImageConfigContainerConfig; +import com.pulumi.aws.sagemaker.outputs.AppImageConfigJupyterLabImageConfigFileSystemConfig; import com.pulumi.core.annotations.CustomType; import java.util.Objects; import java.util.Optional; @@ -16,6 +17,11 @@ public final class AppImageConfigJupyterLabImageConfig { * */ private @Nullable AppImageConfigJupyterLabImageConfigContainerConfig containerConfig; + /** + * @return The URL where the Git repository is located. See File System Config details below. + * + */ + private @Nullable AppImageConfigJupyterLabImageConfigFileSystemConfig fileSystemConfig; private AppImageConfigJupyterLabImageConfig() {} /** @@ -25,6 +31,13 @@ private AppImageConfigJupyterLabImageConfig() {} public Optional containerConfig() { return Optional.ofNullable(this.containerConfig); } + /** + * @return The URL where the Git repository is located. See File System Config details below. + * + */ + public Optional fileSystemConfig() { + return Optional.ofNullable(this.fileSystemConfig); + } public static Builder builder() { return new Builder(); @@ -36,10 +49,12 @@ public static Builder builder(AppImageConfigJupyterLabImageConfig defaults) { @CustomType.Builder public static final class Builder { private @Nullable AppImageConfigJupyterLabImageConfigContainerConfig containerConfig; + private @Nullable AppImageConfigJupyterLabImageConfigFileSystemConfig fileSystemConfig; public Builder() {} public Builder(AppImageConfigJupyterLabImageConfig defaults) { Objects.requireNonNull(defaults); this.containerConfig = defaults.containerConfig; + this.fileSystemConfig = defaults.fileSystemConfig; } @CustomType.Setter @@ -48,9 +63,16 @@ public Builder containerConfig(@Nullable AppImageConfigJupyterLabImageConfigCont this.containerConfig = containerConfig; return this; } + @CustomType.Setter + public Builder fileSystemConfig(@Nullable AppImageConfigJupyterLabImageConfigFileSystemConfig fileSystemConfig) { + + this.fileSystemConfig = fileSystemConfig; + return this; + } public AppImageConfigJupyterLabImageConfig build() { final var _resultValue = new AppImageConfigJupyterLabImageConfig(); _resultValue.containerConfig = containerConfig; + _resultValue.fileSystemConfig = fileSystemConfig; return _resultValue; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigJupyterLabImageConfigFileSystemConfig.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigJupyterLabImageConfigFileSystemConfig.java new file mode 100644 index 00000000000..1df50ae6cc0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/AppImageConfigJupyterLabImageConfigFileSystemConfig.java @@ -0,0 +1,104 @@ +// *** 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.sagemaker.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AppImageConfigJupyterLabImageConfigFileSystemConfig { + /** + * @return The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + * + */ + private @Nullable Integer defaultGid; + /** + * @return The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + * + */ + private @Nullable Integer defaultUid; + /** + * @return The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + * + */ + private @Nullable String mountPath; + + private AppImageConfigJupyterLabImageConfigFileSystemConfig() {} + /** + * @return The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + * + */ + public Optional defaultGid() { + return Optional.ofNullable(this.defaultGid); + } + /** + * @return The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + * + */ + public Optional defaultUid() { + return Optional.ofNullable(this.defaultUid); + } + /** + * @return The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + * + */ + public Optional mountPath() { + return Optional.ofNullable(this.mountPath); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AppImageConfigJupyterLabImageConfigFileSystemConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Integer defaultGid; + private @Nullable Integer defaultUid; + private @Nullable String mountPath; + public Builder() {} + public Builder(AppImageConfigJupyterLabImageConfigFileSystemConfig defaults) { + Objects.requireNonNull(defaults); + this.defaultGid = defaults.defaultGid; + this.defaultUid = defaults.defaultUid; + this.mountPath = defaults.mountPath; + } + + @CustomType.Setter + public Builder defaultGid(@Nullable Integer defaultGid) { + + this.defaultGid = defaultGid; + return this; + } + @CustomType.Setter + public Builder defaultUid(@Nullable Integer defaultUid) { + + this.defaultUid = defaultUid; + return this; + } + @CustomType.Setter + public Builder mountPath(@Nullable String mountPath) { + + this.mountPath = mountPath; + return this; + } + public AppImageConfigJupyterLabImageConfigFileSystemConfig build() { + final var _resultValue = new AppImageConfigJupyterLabImageConfigFileSystemConfig(); + _resultValue.defaultGid = defaultGid; + _resultValue.defaultUid = defaultUid; + _resultValue.mountPath = mountPath; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java index f63a6f8ed27..6fad6311f36 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/Server.java @@ -622,6 +622,20 @@ public Output s3StorageOptions() { public Output> securityPolicyName() { return Codegen.optional(this.securityPolicyName); } + /** + * For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + * + */ + @Export(name="sftpAuthenticationMethods", refs={String.class}, tree="[0]") + private Output sftpAuthenticationMethods; + + /** + * @return For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + * + */ + public Output sftpAuthenticationMethods() { + return this.sftpAuthenticationMethods; + } /** * A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/ServerArgs.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/ServerArgs.java index 77f9766374f..9fea2a528e4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/ServerArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/ServerArgs.java @@ -297,6 +297,21 @@ public Optional> securityPolicyName() { return Optional.ofNullable(this.securityPolicyName); } + /** + * For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + * + */ + @Import(name="sftpAuthenticationMethods") + private @Nullable Output sftpAuthenticationMethods; + + /** + * @return For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + * + */ + public Optional> sftpAuthenticationMethods() { + return Optional.ofNullable(this.sftpAuthenticationMethods); + } + /** * A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. * @@ -377,6 +392,7 @@ private ServerArgs(ServerArgs $) { this.protocols = $.protocols; this.s3StorageOptions = $.s3StorageOptions; this.securityPolicyName = $.securityPolicyName; + this.sftpAuthenticationMethods = $.sftpAuthenticationMethods; this.structuredLogDestinations = $.structuredLogDestinations; this.tags = $.tags; this.url = $.url; @@ -788,6 +804,27 @@ public Builder securityPolicyName(String securityPolicyName) { return securityPolicyName(Output.of(securityPolicyName)); } + /** + * @param sftpAuthenticationMethods For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + * + * @return builder + * + */ + public Builder sftpAuthenticationMethods(@Nullable Output sftpAuthenticationMethods) { + $.sftpAuthenticationMethods = sftpAuthenticationMethods; + return this; + } + + /** + * @param sftpAuthenticationMethods For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + * + * @return builder + * + */ + public Builder sftpAuthenticationMethods(String sftpAuthenticationMethods) { + return sftpAuthenticationMethods(Output.of(sftpAuthenticationMethods)); + } + /** * @param structuredLogDestinations A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/ServerState.java b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/ServerState.java index eeeb8953d06..0c73414ee21 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/ServerState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/transfer/inputs/ServerState.java @@ -342,6 +342,21 @@ public Optional> securityPolicyName() { return Optional.ofNullable(this.securityPolicyName); } + /** + * For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + * + */ + @Import(name="sftpAuthenticationMethods") + private @Nullable Output sftpAuthenticationMethods; + + /** + * @return For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + * + */ + public Optional> sftpAuthenticationMethods() { + return Optional.ofNullable(this.sftpAuthenticationMethods); + } + /** * A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. * @@ -448,6 +463,7 @@ private ServerState(ServerState $) { this.protocols = $.protocols; this.s3StorageOptions = $.s3StorageOptions; this.securityPolicyName = $.securityPolicyName; + this.sftpAuthenticationMethods = $.sftpAuthenticationMethods; this.structuredLogDestinations = $.structuredLogDestinations; this.tags = $.tags; this.tagsAll = $.tagsAll; @@ -923,6 +939,27 @@ public Builder securityPolicyName(String securityPolicyName) { return securityPolicyName(Output.of(securityPolicyName)); } + /** + * @param sftpAuthenticationMethods For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + * + * @return builder + * + */ + public Builder sftpAuthenticationMethods(@Nullable Output sftpAuthenticationMethods) { + $.sftpAuthenticationMethods = sftpAuthenticationMethods; + return this; + } + + /** + * @param sftpAuthenticationMethods For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + * + * @return builder + * + */ + public Builder sftpAuthenticationMethods(String sftpAuthenticationMethods) { + return sftpAuthenticationMethods(Output.of(sftpAuthenticationMethods)); + } + /** * @param structuredLogDestinations A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/Policy.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/Policy.java new file mode 100644 index 00000000000..d1993c897f4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/Policy.java @@ -0,0 +1,167 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.verifiedpermissions; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.verifiedpermissions.PolicyArgs; +import com.pulumi.aws.verifiedpermissions.inputs.PolicyState; +import com.pulumi.aws.verifiedpermissions.outputs.PolicyDefinition; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS Verified Permissions Policy. + * + * ## Example Usage + * + * ### Basic Usage + * + * <!--Start PulumiCodeChooser --> + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.verifiedpermissions.Policy; + * import com.pulumi.aws.verifiedpermissions.PolicyArgs; + * import com.pulumi.aws.verifiedpermissions.inputs.PolicyDefinitionArgs; + * import com.pulumi.aws.verifiedpermissions.inputs.PolicyDefinitionStaticArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var test = new Policy("test", PolicyArgs.builder() + * .policyStoreId(testAwsVerifiedpermissionsPolicyStore.id()) + * .definition(PolicyDefinitionArgs.builder() + * .static_(PolicyDefinitionStaticArgs.builder() + * .statement("permit (principal, action == Action::\"view\", resource in Album:: \"test_album\");") + * .build()) + * .build()) + * .build()); + * + * } + * } + * ``` + * <!--End PulumiCodeChooser --> + * + * ## Import + * + * Using `pulumi import`, import Verified Permissions Policy using the `policy_id,policy_store_id`. For example: + * + * ```sh + * $ pulumi import aws:verifiedpermissions/policy:Policy example policy-id-12345678,policy-store-id-12345678 + * ``` + * + */ +@ResourceType(type="aws:verifiedpermissions/policy:Policy") +public class Policy extends com.pulumi.resources.CustomResource { + @Export(name="createdDate", refs={String.class}, tree="[0]") + private Output createdDate; + + public Output createdDate() { + return this.createdDate; + } + /** + * The definition of the policy. See Definition below. + * + * The following arguments are optional: + * + */ + @Export(name="definition", refs={PolicyDefinition.class}, tree="[0]") + private Output definition; + + /** + * @return The definition of the policy. See Definition below. + * + * The following arguments are optional: + * + */ + public Output> definition() { + return Codegen.optional(this.definition); + } + @Export(name="policyId", refs={String.class}, tree="[0]") + private Output policyId; + + public Output policyId() { + return this.policyId; + } + /** + * The Policy Store ID of the policy store. + * + */ + @Export(name="policyStoreId", refs={String.class}, tree="[0]") + private Output policyStoreId; + + /** + * @return The Policy Store ID of the policy store. + * + */ + public Output policyStoreId() { + return this.policyStoreId; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Policy(String name) { + this(name, PolicyArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Policy(String name, PolicyArgs 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 Policy(String name, PolicyArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:verifiedpermissions/policy:Policy", name, args == null ? PolicyArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private Policy(String name, Output id, @Nullable PolicyState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:verifiedpermissions/policy:Policy", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Policy get(String name, Output id, @Nullable PolicyState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Policy(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/PolicyArgs.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/PolicyArgs.java new file mode 100644 index 00000000000..6f8cc40794e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/PolicyArgs.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.verifiedpermissions; + +import com.pulumi.aws.verifiedpermissions.inputs.PolicyDefinitionArgs; +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 PolicyArgs extends com.pulumi.resources.ResourceArgs { + + public static final PolicyArgs Empty = new PolicyArgs(); + + /** + * The definition of the policy. See Definition below. + * + * The following arguments are optional: + * + */ + @Import(name="definition") + private @Nullable Output definition; + + /** + * @return The definition of the policy. See Definition below. + * + * The following arguments are optional: + * + */ + public Optional> definition() { + return Optional.ofNullable(this.definition); + } + + /** + * The Policy Store ID of the policy store. + * + */ + @Import(name="policyStoreId", required=true) + private Output policyStoreId; + + /** + * @return The Policy Store ID of the policy store. + * + */ + public Output policyStoreId() { + return this.policyStoreId; + } + + private PolicyArgs() {} + + private PolicyArgs(PolicyArgs $) { + this.definition = $.definition; + this.policyStoreId = $.policyStoreId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(PolicyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private PolicyArgs $; + + public Builder() { + $ = new PolicyArgs(); + } + + public Builder(PolicyArgs defaults) { + $ = new PolicyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param definition The definition of the policy. See Definition below. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder definition(@Nullable Output definition) { + $.definition = definition; + return this; + } + + /** + * @param definition The definition of the policy. See Definition below. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder definition(PolicyDefinitionArgs definition) { + return definition(Output.of(definition)); + } + + /** + * @param policyStoreId The Policy Store ID of the policy store. + * + * @return builder + * + */ + public Builder policyStoreId(Output policyStoreId) { + $.policyStoreId = policyStoreId; + return this; + } + + /** + * @param policyStoreId The Policy Store ID of the policy store. + * + * @return builder + * + */ + public Builder policyStoreId(String policyStoreId) { + return policyStoreId(Output.of(policyStoreId)); + } + + public PolicyArgs build() { + if ($.policyStoreId == null) { + throw new MissingRequiredPropertyException("PolicyArgs", "policyStoreId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionArgs.java new file mode 100644 index 00000000000..f07885ebd82 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.verifiedpermissions.inputs; + +import com.pulumi.aws.verifiedpermissions.inputs.PolicyDefinitionStaticArgs; +import com.pulumi.aws.verifiedpermissions.inputs.PolicyDefinitionTemplateLinkedArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class PolicyDefinitionArgs extends com.pulumi.resources.ResourceArgs { + + public static final PolicyDefinitionArgs Empty = new PolicyDefinitionArgs(); + + /** + * The static policy statement. See Static below. + * + */ + @Import(name="static") + private @Nullable Output static_; + + /** + * @return The static policy statement. See Static below. + * + */ + public Optional> static_() { + return Optional.ofNullable(this.static_); + } + + /** + * The template linked policy. See Template Linked below. + * + */ + @Import(name="templateLinked") + private @Nullable Output templateLinked; + + /** + * @return The template linked policy. See Template Linked below. + * + */ + public Optional> templateLinked() { + return Optional.ofNullable(this.templateLinked); + } + + private PolicyDefinitionArgs() {} + + private PolicyDefinitionArgs(PolicyDefinitionArgs $) { + this.static_ = $.static_; + this.templateLinked = $.templateLinked; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(PolicyDefinitionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private PolicyDefinitionArgs $; + + public Builder() { + $ = new PolicyDefinitionArgs(); + } + + public Builder(PolicyDefinitionArgs defaults) { + $ = new PolicyDefinitionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param static_ The static policy statement. See Static below. + * + * @return builder + * + */ + public Builder static_(@Nullable Output static_) { + $.static_ = static_; + return this; + } + + /** + * @param static_ The static policy statement. See Static below. + * + * @return builder + * + */ + public Builder static_(PolicyDefinitionStaticArgs static_) { + return static_(Output.of(static_)); + } + + /** + * @param templateLinked The template linked policy. See Template Linked below. + * + * @return builder + * + */ + public Builder templateLinked(@Nullable Output templateLinked) { + $.templateLinked = templateLinked; + return this; + } + + /** + * @param templateLinked The template linked policy. See Template Linked below. + * + * @return builder + * + */ + public Builder templateLinked(PolicyDefinitionTemplateLinkedArgs templateLinked) { + return templateLinked(Output.of(templateLinked)); + } + + public PolicyDefinitionArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionStaticArgs.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionStaticArgs.java new file mode 100644 index 00000000000..1b47c90afb3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionStaticArgs.java @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.verifiedpermissions.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class PolicyDefinitionStaticArgs extends com.pulumi.resources.ResourceArgs { + + public static final PolicyDefinitionStaticArgs Empty = new PolicyDefinitionStaticArgs(); + + /** + * The description of the static policy. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return The description of the static policy. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * The statement of the static policy. + * + */ + @Import(name="statement", required=true) + private Output statement; + + /** + * @return The statement of the static policy. + * + */ + public Output statement() { + return this.statement; + } + + private PolicyDefinitionStaticArgs() {} + + private PolicyDefinitionStaticArgs(PolicyDefinitionStaticArgs $) { + this.description = $.description; + this.statement = $.statement; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(PolicyDefinitionStaticArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private PolicyDefinitionStaticArgs $; + + public Builder() { + $ = new PolicyDefinitionStaticArgs(); + } + + public Builder(PolicyDefinitionStaticArgs defaults) { + $ = new PolicyDefinitionStaticArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description The description of the static policy. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description The description of the static policy. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param statement The statement of the static policy. + * + * @return builder + * + */ + public Builder statement(Output statement) { + $.statement = statement; + return this; + } + + /** + * @param statement The statement of the static policy. + * + * @return builder + * + */ + public Builder statement(String statement) { + return statement(Output.of(statement)); + } + + public PolicyDefinitionStaticArgs build() { + if ($.statement == null) { + throw new MissingRequiredPropertyException("PolicyDefinitionStaticArgs", "statement"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionTemplateLinkedArgs.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionTemplateLinkedArgs.java new file mode 100644 index 00000000000..60d59218245 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionTemplateLinkedArgs.java @@ -0,0 +1,163 @@ +// *** 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.verifiedpermissions.inputs; + +import com.pulumi.aws.verifiedpermissions.inputs.PolicyDefinitionTemplateLinkedPrincipalArgs; +import com.pulumi.aws.verifiedpermissions.inputs.PolicyDefinitionTemplateLinkedResourceArgs; +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 PolicyDefinitionTemplateLinkedArgs extends com.pulumi.resources.ResourceArgs { + + public static final PolicyDefinitionTemplateLinkedArgs Empty = new PolicyDefinitionTemplateLinkedArgs(); + + /** + * The ID of the template. + * + */ + @Import(name="policyTemplateId", required=true) + private Output policyTemplateId; + + /** + * @return The ID of the template. + * + */ + public Output policyTemplateId() { + return this.policyTemplateId; + } + + /** + * The principal of the template linked policy. + * + */ + @Import(name="principal") + private @Nullable Output principal; + + /** + * @return The principal of the template linked policy. + * + */ + public Optional> principal() { + return Optional.ofNullable(this.principal); + } + + /** + * The resource of the template linked policy. + * + */ + @Import(name="resource") + private @Nullable Output resource; + + /** + * @return The resource of the template linked policy. + * + */ + public Optional> resource() { + return Optional.ofNullable(this.resource); + } + + private PolicyDefinitionTemplateLinkedArgs() {} + + private PolicyDefinitionTemplateLinkedArgs(PolicyDefinitionTemplateLinkedArgs $) { + this.policyTemplateId = $.policyTemplateId; + this.principal = $.principal; + this.resource = $.resource; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(PolicyDefinitionTemplateLinkedArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private PolicyDefinitionTemplateLinkedArgs $; + + public Builder() { + $ = new PolicyDefinitionTemplateLinkedArgs(); + } + + public Builder(PolicyDefinitionTemplateLinkedArgs defaults) { + $ = new PolicyDefinitionTemplateLinkedArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param policyTemplateId The ID of the template. + * + * @return builder + * + */ + public Builder policyTemplateId(Output policyTemplateId) { + $.policyTemplateId = policyTemplateId; + return this; + } + + /** + * @param policyTemplateId The ID of the template. + * + * @return builder + * + */ + public Builder policyTemplateId(String policyTemplateId) { + return policyTemplateId(Output.of(policyTemplateId)); + } + + /** + * @param principal The principal of the template linked policy. + * + * @return builder + * + */ + public Builder principal(@Nullable Output principal) { + $.principal = principal; + return this; + } + + /** + * @param principal The principal of the template linked policy. + * + * @return builder + * + */ + public Builder principal(PolicyDefinitionTemplateLinkedPrincipalArgs principal) { + return principal(Output.of(principal)); + } + + /** + * @param resource The resource of the template linked policy. + * + * @return builder + * + */ + public Builder resource(@Nullable Output resource) { + $.resource = resource; + return this; + } + + /** + * @param resource The resource of the template linked policy. + * + * @return builder + * + */ + public Builder resource(PolicyDefinitionTemplateLinkedResourceArgs resource) { + return resource(Output.of(resource)); + } + + public PolicyDefinitionTemplateLinkedArgs build() { + if ($.policyTemplateId == null) { + throw new MissingRequiredPropertyException("PolicyDefinitionTemplateLinkedArgs", "policyTemplateId"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionTemplateLinkedPrincipalArgs.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionTemplateLinkedPrincipalArgs.java new file mode 100644 index 00000000000..a59297447f8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionTemplateLinkedPrincipalArgs.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.verifiedpermissions.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class PolicyDefinitionTemplateLinkedPrincipalArgs extends com.pulumi.resources.ResourceArgs { + + public static final PolicyDefinitionTemplateLinkedPrincipalArgs Empty = new PolicyDefinitionTemplateLinkedPrincipalArgs(); + + /** + * The entity ID of the principal. + * + */ + @Import(name="entityId", required=true) + private Output entityId; + + /** + * @return The entity ID of the principal. + * + */ + public Output entityId() { + return this.entityId; + } + + /** + * The entity type of the principal. + * + */ + @Import(name="entityType", required=true) + private Output entityType; + + /** + * @return The entity type of the principal. + * + */ + public Output entityType() { + return this.entityType; + } + + private PolicyDefinitionTemplateLinkedPrincipalArgs() {} + + private PolicyDefinitionTemplateLinkedPrincipalArgs(PolicyDefinitionTemplateLinkedPrincipalArgs $) { + this.entityId = $.entityId; + this.entityType = $.entityType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(PolicyDefinitionTemplateLinkedPrincipalArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private PolicyDefinitionTemplateLinkedPrincipalArgs $; + + public Builder() { + $ = new PolicyDefinitionTemplateLinkedPrincipalArgs(); + } + + public Builder(PolicyDefinitionTemplateLinkedPrincipalArgs defaults) { + $ = new PolicyDefinitionTemplateLinkedPrincipalArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param entityId The entity ID of the principal. + * + * @return builder + * + */ + public Builder entityId(Output entityId) { + $.entityId = entityId; + return this; + } + + /** + * @param entityId The entity ID of the principal. + * + * @return builder + * + */ + public Builder entityId(String entityId) { + return entityId(Output.of(entityId)); + } + + /** + * @param entityType The entity type of the principal. + * + * @return builder + * + */ + public Builder entityType(Output entityType) { + $.entityType = entityType; + return this; + } + + /** + * @param entityType The entity type of the principal. + * + * @return builder + * + */ + public Builder entityType(String entityType) { + return entityType(Output.of(entityType)); + } + + public PolicyDefinitionTemplateLinkedPrincipalArgs build() { + if ($.entityId == null) { + throw new MissingRequiredPropertyException("PolicyDefinitionTemplateLinkedPrincipalArgs", "entityId"); + } + if ($.entityType == null) { + throw new MissingRequiredPropertyException("PolicyDefinitionTemplateLinkedPrincipalArgs", "entityType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionTemplateLinkedResourceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionTemplateLinkedResourceArgs.java new file mode 100644 index 00000000000..320b94ff8a3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyDefinitionTemplateLinkedResourceArgs.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.verifiedpermissions.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + + +public final class PolicyDefinitionTemplateLinkedResourceArgs extends com.pulumi.resources.ResourceArgs { + + public static final PolicyDefinitionTemplateLinkedResourceArgs Empty = new PolicyDefinitionTemplateLinkedResourceArgs(); + + /** + * The entity ID of the resource. + * + */ + @Import(name="entityId", required=true) + private Output entityId; + + /** + * @return The entity ID of the resource. + * + */ + public Output entityId() { + return this.entityId; + } + + /** + * The entity type of the resource. + * + */ + @Import(name="entityType", required=true) + private Output entityType; + + /** + * @return The entity type of the resource. + * + */ + public Output entityType() { + return this.entityType; + } + + private PolicyDefinitionTemplateLinkedResourceArgs() {} + + private PolicyDefinitionTemplateLinkedResourceArgs(PolicyDefinitionTemplateLinkedResourceArgs $) { + this.entityId = $.entityId; + this.entityType = $.entityType; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(PolicyDefinitionTemplateLinkedResourceArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private PolicyDefinitionTemplateLinkedResourceArgs $; + + public Builder() { + $ = new PolicyDefinitionTemplateLinkedResourceArgs(); + } + + public Builder(PolicyDefinitionTemplateLinkedResourceArgs defaults) { + $ = new PolicyDefinitionTemplateLinkedResourceArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param entityId The entity ID of the resource. + * + * @return builder + * + */ + public Builder entityId(Output entityId) { + $.entityId = entityId; + return this; + } + + /** + * @param entityId The entity ID of the resource. + * + * @return builder + * + */ + public Builder entityId(String entityId) { + return entityId(Output.of(entityId)); + } + + /** + * @param entityType The entity type of the resource. + * + * @return builder + * + */ + public Builder entityType(Output entityType) { + $.entityType = entityType; + return this; + } + + /** + * @param entityType The entity type of the resource. + * + * @return builder + * + */ + public Builder entityType(String entityType) { + return entityType(Output.of(entityType)); + } + + public PolicyDefinitionTemplateLinkedResourceArgs build() { + if ($.entityId == null) { + throw new MissingRequiredPropertyException("PolicyDefinitionTemplateLinkedResourceArgs", "entityId"); + } + if ($.entityType == null) { + throw new MissingRequiredPropertyException("PolicyDefinitionTemplateLinkedResourceArgs", "entityType"); + } + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyState.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyState.java new file mode 100644 index 00000000000..331ecb0ee37 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/inputs/PolicyState.java @@ -0,0 +1,163 @@ +// *** 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.verifiedpermissions.inputs; + +import com.pulumi.aws.verifiedpermissions.inputs.PolicyDefinitionArgs; +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 PolicyState extends com.pulumi.resources.ResourceArgs { + + public static final PolicyState Empty = new PolicyState(); + + @Import(name="createdDate") + private @Nullable Output createdDate; + + public Optional> createdDate() { + return Optional.ofNullable(this.createdDate); + } + + /** + * The definition of the policy. See Definition below. + * + * The following arguments are optional: + * + */ + @Import(name="definition") + private @Nullable Output definition; + + /** + * @return The definition of the policy. See Definition below. + * + * The following arguments are optional: + * + */ + public Optional> definition() { + return Optional.ofNullable(this.definition); + } + + @Import(name="policyId") + private @Nullable Output policyId; + + public Optional> policyId() { + return Optional.ofNullable(this.policyId); + } + + /** + * The Policy Store ID of the policy store. + * + */ + @Import(name="policyStoreId") + private @Nullable Output policyStoreId; + + /** + * @return The Policy Store ID of the policy store. + * + */ + public Optional> policyStoreId() { + return Optional.ofNullable(this.policyStoreId); + } + + private PolicyState() {} + + private PolicyState(PolicyState $) { + this.createdDate = $.createdDate; + this.definition = $.definition; + this.policyId = $.policyId; + this.policyStoreId = $.policyStoreId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(PolicyState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private PolicyState $; + + public Builder() { + $ = new PolicyState(); + } + + public Builder(PolicyState defaults) { + $ = new PolicyState(Objects.requireNonNull(defaults)); + } + + public Builder createdDate(@Nullable Output createdDate) { + $.createdDate = createdDate; + return this; + } + + public Builder createdDate(String createdDate) { + return createdDate(Output.of(createdDate)); + } + + /** + * @param definition The definition of the policy. See Definition below. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder definition(@Nullable Output definition) { + $.definition = definition; + return this; + } + + /** + * @param definition The definition of the policy. See Definition below. + * + * The following arguments are optional: + * + * @return builder + * + */ + public Builder definition(PolicyDefinitionArgs definition) { + return definition(Output.of(definition)); + } + + public Builder policyId(@Nullable Output policyId) { + $.policyId = policyId; + return this; + } + + public Builder policyId(String policyId) { + return policyId(Output.of(policyId)); + } + + /** + * @param policyStoreId The Policy Store ID of the policy store. + * + * @return builder + * + */ + public Builder policyStoreId(@Nullable Output policyStoreId) { + $.policyStoreId = policyStoreId; + return this; + } + + /** + * @param policyStoreId The Policy Store ID of the policy store. + * + * @return builder + * + */ + public Builder policyStoreId(String policyStoreId) { + return policyStoreId(Output.of(policyStoreId)); + } + + public PolicyState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinition.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinition.java new file mode 100644 index 00000000000..310d0b73b1b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinition.java @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.verifiedpermissions.outputs; + +import com.pulumi.aws.verifiedpermissions.outputs.PolicyDefinitionStatic; +import com.pulumi.aws.verifiedpermissions.outputs.PolicyDefinitionTemplateLinked; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class PolicyDefinition { + /** + * @return The static policy statement. See Static below. + * + */ + private @Nullable PolicyDefinitionStatic static_; + /** + * @return The template linked policy. See Template Linked below. + * + */ + private @Nullable PolicyDefinitionTemplateLinked templateLinked; + + private PolicyDefinition() {} + /** + * @return The static policy statement. See Static below. + * + */ + public Optional static_() { + return Optional.ofNullable(this.static_); + } + /** + * @return The template linked policy. See Template Linked below. + * + */ + public Optional templateLinked() { + return Optional.ofNullable(this.templateLinked); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(PolicyDefinition defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable PolicyDefinitionStatic static_; + private @Nullable PolicyDefinitionTemplateLinked templateLinked; + public Builder() {} + public Builder(PolicyDefinition defaults) { + Objects.requireNonNull(defaults); + this.static_ = defaults.static_; + this.templateLinked = defaults.templateLinked; + } + + @CustomType.Setter("static") + public Builder static_(@Nullable PolicyDefinitionStatic static_) { + + this.static_ = static_; + return this; + } + @CustomType.Setter + public Builder templateLinked(@Nullable PolicyDefinitionTemplateLinked templateLinked) { + + this.templateLinked = templateLinked; + return this; + } + public PolicyDefinition build() { + final var _resultValue = new PolicyDefinition(); + _resultValue.static_ = static_; + _resultValue.templateLinked = templateLinked; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionStatic.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionStatic.java new file mode 100644 index 00000000000..05deec35e13 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionStatic.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.verifiedpermissions.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class PolicyDefinitionStatic { + /** + * @return The description of the static policy. + * + */ + private @Nullable String description; + /** + * @return The statement of the static policy. + * + */ + private String statement; + + private PolicyDefinitionStatic() {} + /** + * @return The description of the static policy. + * + */ + public Optional description() { + return Optional.ofNullable(this.description); + } + /** + * @return The statement of the static policy. + * + */ + public String statement() { + return this.statement; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(PolicyDefinitionStatic defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String description; + private String statement; + public Builder() {} + public Builder(PolicyDefinitionStatic defaults) { + Objects.requireNonNull(defaults); + this.description = defaults.description; + this.statement = defaults.statement; + } + + @CustomType.Setter + public Builder description(@Nullable String description) { + + this.description = description; + return this; + } + @CustomType.Setter + public Builder statement(String statement) { + if (statement == null) { + throw new MissingRequiredPropertyException("PolicyDefinitionStatic", "statement"); + } + this.statement = statement; + return this; + } + public PolicyDefinitionStatic build() { + final var _resultValue = new PolicyDefinitionStatic(); + _resultValue.description = description; + _resultValue.statement = statement; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionTemplateLinked.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionTemplateLinked.java new file mode 100644 index 00000000000..9d232b7e755 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionTemplateLinked.java @@ -0,0 +1,104 @@ +// *** 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.verifiedpermissions.outputs; + +import com.pulumi.aws.verifiedpermissions.outputs.PolicyDefinitionTemplateLinkedPrincipal; +import com.pulumi.aws.verifiedpermissions.outputs.PolicyDefinitionTemplateLinkedResource; +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class PolicyDefinitionTemplateLinked { + /** + * @return The ID of the template. + * + */ + private String policyTemplateId; + /** + * @return The principal of the template linked policy. + * + */ + private @Nullable PolicyDefinitionTemplateLinkedPrincipal principal; + /** + * @return The resource of the template linked policy. + * + */ + private @Nullable PolicyDefinitionTemplateLinkedResource resource; + + private PolicyDefinitionTemplateLinked() {} + /** + * @return The ID of the template. + * + */ + public String policyTemplateId() { + return this.policyTemplateId; + } + /** + * @return The principal of the template linked policy. + * + */ + public Optional principal() { + return Optional.ofNullable(this.principal); + } + /** + * @return The resource of the template linked policy. + * + */ + public Optional resource() { + return Optional.ofNullable(this.resource); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(PolicyDefinitionTemplateLinked defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String policyTemplateId; + private @Nullable PolicyDefinitionTemplateLinkedPrincipal principal; + private @Nullable PolicyDefinitionTemplateLinkedResource resource; + public Builder() {} + public Builder(PolicyDefinitionTemplateLinked defaults) { + Objects.requireNonNull(defaults); + this.policyTemplateId = defaults.policyTemplateId; + this.principal = defaults.principal; + this.resource = defaults.resource; + } + + @CustomType.Setter + public Builder policyTemplateId(String policyTemplateId) { + if (policyTemplateId == null) { + throw new MissingRequiredPropertyException("PolicyDefinitionTemplateLinked", "policyTemplateId"); + } + this.policyTemplateId = policyTemplateId; + return this; + } + @CustomType.Setter + public Builder principal(@Nullable PolicyDefinitionTemplateLinkedPrincipal principal) { + + this.principal = principal; + return this; + } + @CustomType.Setter + public Builder resource(@Nullable PolicyDefinitionTemplateLinkedResource resource) { + + this.resource = resource; + return this; + } + public PolicyDefinitionTemplateLinked build() { + final var _resultValue = new PolicyDefinitionTemplateLinked(); + _resultValue.policyTemplateId = policyTemplateId; + _resultValue.principal = principal; + _resultValue.resource = resource; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionTemplateLinkedPrincipal.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionTemplateLinkedPrincipal.java new file mode 100644 index 00000000000..8d3ec422d1a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionTemplateLinkedPrincipal.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.verifiedpermissions.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class PolicyDefinitionTemplateLinkedPrincipal { + /** + * @return The entity ID of the principal. + * + */ + private String entityId; + /** + * @return The entity type of the principal. + * + */ + private String entityType; + + private PolicyDefinitionTemplateLinkedPrincipal() {} + /** + * @return The entity ID of the principal. + * + */ + public String entityId() { + return this.entityId; + } + /** + * @return The entity type of the principal. + * + */ + public String entityType() { + return this.entityType; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(PolicyDefinitionTemplateLinkedPrincipal defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String entityId; + private String entityType; + public Builder() {} + public Builder(PolicyDefinitionTemplateLinkedPrincipal defaults) { + Objects.requireNonNull(defaults); + this.entityId = defaults.entityId; + this.entityType = defaults.entityType; + } + + @CustomType.Setter + public Builder entityId(String entityId) { + if (entityId == null) { + throw new MissingRequiredPropertyException("PolicyDefinitionTemplateLinkedPrincipal", "entityId"); + } + this.entityId = entityId; + return this; + } + @CustomType.Setter + public Builder entityType(String entityType) { + if (entityType == null) { + throw new MissingRequiredPropertyException("PolicyDefinitionTemplateLinkedPrincipal", "entityType"); + } + this.entityType = entityType; + return this; + } + public PolicyDefinitionTemplateLinkedPrincipal build() { + final var _resultValue = new PolicyDefinitionTemplateLinkedPrincipal(); + _resultValue.entityId = entityId; + _resultValue.entityType = entityType; + return _resultValue; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionTemplateLinkedResource.java b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionTemplateLinkedResource.java new file mode 100644 index 00000000000..8ca3b3f249c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/verifiedpermissions/outputs/PolicyDefinitionTemplateLinkedResource.java @@ -0,0 +1,81 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.verifiedpermissions.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.exceptions.MissingRequiredPropertyException; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class PolicyDefinitionTemplateLinkedResource { + /** + * @return The entity ID of the resource. + * + */ + private String entityId; + /** + * @return The entity type of the resource. + * + */ + private String entityType; + + private PolicyDefinitionTemplateLinkedResource() {} + /** + * @return The entity ID of the resource. + * + */ + public String entityId() { + return this.entityId; + } + /** + * @return The entity type of the resource. + * + */ + public String entityType() { + return this.entityType; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(PolicyDefinitionTemplateLinkedResource defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String entityId; + private String entityType; + public Builder() {} + public Builder(PolicyDefinitionTemplateLinkedResource defaults) { + Objects.requireNonNull(defaults); + this.entityId = defaults.entityId; + this.entityType = defaults.entityType; + } + + @CustomType.Setter + public Builder entityId(String entityId) { + if (entityId == null) { + throw new MissingRequiredPropertyException("PolicyDefinitionTemplateLinkedResource", "entityId"); + } + this.entityId = entityId; + return this; + } + @CustomType.Setter + public Builder entityType(String entityType) { + if (entityType == null) { + throw new MissingRequiredPropertyException("PolicyDefinitionTemplateLinkedResource", "entityType"); + } + this.entityType = entityType; + return this; + } + public PolicyDefinitionTemplateLinkedResource build() { + final var _resultValue = new PolicyDefinitionTemplateLinkedResource(); + _resultValue.entityId = entityId; + _resultValue.entityType = entityType; + return _resultValue; + } + } +} diff --git a/sdk/nodejs/batch/jobDefinition.ts b/sdk/nodejs/batch/jobDefinition.ts index 499ddb1c782..90cc00161b5 100644 --- a/sdk/nodejs/batch/jobDefinition.ts +++ b/sdk/nodejs/batch/jobDefinition.ts @@ -235,8 +235,7 @@ export class JobDefinition extends pulumi.CustomResource { */ public /*out*/ readonly arnPrefix!: pulumi.Output; /** - * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. */ public readonly containerProperties!: pulumi.Output; /** @@ -252,8 +251,7 @@ export class JobDefinition extends pulumi.CustomResource { */ public readonly name!: pulumi.Output; /** - * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. */ public readonly nodeProperties!: pulumi.Output; /** @@ -269,8 +267,7 @@ export class JobDefinition extends pulumi.CustomResource { */ public readonly propagateTags!: pulumi.Output; /** - * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - * Maximum number of `retryStrategy` is `1`. Defined below. + * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. */ public readonly retryStrategy!: pulumi.Output; /** @@ -373,8 +370,7 @@ export interface JobDefinitionState { */ arnPrefix?: pulumi.Input; /** - * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. */ containerProperties?: pulumi.Input; /** @@ -390,8 +386,7 @@ export interface JobDefinitionState { */ name?: pulumi.Input; /** - * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. */ nodeProperties?: pulumi.Input; /** @@ -407,8 +402,7 @@ export interface JobDefinitionState { */ propagateTags?: pulumi.Input; /** - * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - * Maximum number of `retryStrategy` is `1`. Defined below. + * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. */ retryStrategy?: pulumi.Input; /** @@ -446,8 +440,7 @@ export interface JobDefinitionState { */ export interface JobDefinitionArgs { /** - * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + * A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. */ containerProperties?: pulumi.Input; /** @@ -463,8 +456,7 @@ export interface JobDefinitionArgs { */ name?: pulumi.Input; /** - * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - * provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + * A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. */ nodeProperties?: pulumi.Input; /** @@ -480,8 +472,7 @@ export interface JobDefinitionArgs { */ propagateTags?: pulumi.Input; /** - * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - * Maximum number of `retryStrategy` is `1`. Defined below. + * Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retryStrategy` is `1`. Defined below. */ retryStrategy?: pulumi.Input; /** diff --git a/sdk/nodejs/bcmdata/export.ts b/sdk/nodejs/bcmdata/export.ts new file mode 100644 index 00000000000..651914c0dd6 --- /dev/null +++ b/sdk/nodejs/bcmdata/export.ts @@ -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! *** + +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 BCM Data Exports Export. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = new aws.bcmdata.Export("test", {"export": { + * name: "testexample", + * dataQueries: [{ + * queryStatement: "SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT", + * tableConfigurations: { + * COST_AND_USAGE_REPORT: { + * TIME_GRANULARITY: "HOURLY", + * INCLUDE_RESOURCES: "FALSE", + * INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY: "FALSE", + * INCLUDE_SPLIT_COST_ALLOCATION_DATA: "FALSE", + * }, + * }, + * }], + * destinationConfigurations: [{ + * s3Destinations: [{ + * s3Bucket: testAwsS3Bucket.bucket, + * s3Prefix: testAwsS3Bucket.bucketPrefix, + * s3Region: testAwsS3Bucket.region, + * s3OutputConfigurations: [{ + * overwrite: "OVERWRITE_REPORT", + * format: "TEXT_OR_CSV", + * compression: "GZIP", + * outputType: "CUSTOM", + * }], + * }], + * }], + * refreshCadences: [{ + * frequency: "SYNCHRONOUS", + * }], + * }}); + * ``` + * + * ## Import + * + * Using `pulumi import`, import BCM Data Exports Export using the `export_arn`. For example: + * + * ```sh + * $ pulumi import aws:bcmdata/export:Export example export-id-12345678 + * ``` + */ +export class Export extends pulumi.CustomResource { + /** + * Get an existing Export 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?: ExportState, opts?: pulumi.CustomResourceOptions): Export { + return new Export(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:bcmdata/export:Export'; + + /** + * Returns true if the given object is an instance of Export. 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 Export { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Export.__pulumiType; + } + + /** + * The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + */ + public readonly export!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly timeouts!: pulumi.Output; + + /** + * Create a Export 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?: ExportArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ExportArgs | ExportState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ExportState | undefined; + resourceInputs["export"] = state ? state.export : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + } else { + const args = argsOrState as ExportArgs | undefined; + resourceInputs["export"] = args ? args.export : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Export.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Export resources. + */ +export interface ExportState { + /** + * The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + */ + export?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Export resource. + */ +export interface ExportArgs { + /** + * The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + */ + export?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/bcmdata/index.ts b/sdk/nodejs/bcmdata/index.ts new file mode 100644 index 00000000000..5c2f0c9d197 --- /dev/null +++ b/sdk/nodejs/bcmdata/index.ts @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +// Export members: +export { ExportArgs, ExportState } from "./export"; +export type Export = import("./export").Export; +export const Export: typeof import("./export").Export = null as any; +utilities.lazyLoad(exports, ["Export"], () => require("./export")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "aws:bcmdata/export:Export": + return new Export(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("aws", "bcmdata/export", _module) diff --git a/sdk/nodejs/bedrock/agentAgent.ts b/sdk/nodejs/bedrock/agentAgent.ts new file mode 100644 index 00000000000..1845444e7af --- /dev/null +++ b/sdk/nodejs/bedrock/agentAgent.ts @@ -0,0 +1,325 @@ +// *** WARNING: this file 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 Agents for Amazon Bedrock Agent. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const current = aws.getCallerIdentity({}); + * const currentGetRegion = aws.getRegion({}); + * const exampleAgentTrust = Promise.all([current, currentGetRegion, current]).then(([current, currentGetRegion, current1]) => aws.iam.getPolicyDocument({ + * statements: [{ + * actions: ["sts:AssumeRole"], + * principals: [{ + * identifiers: ["bedrock.amazonaws.com"], + * type: "Service", + * }], + * conditions: [ + * { + * test: "StringEquals", + * values: [current.accountId], + * variable: "aws:SourceAccount", + * }, + * { + * test: "ArnLike", + * values: [`arn:aws:bedrock:${currentGetRegion.name}:${current1.accountId}:agent/*`], + * variable: "AWS:SourceArn", + * }, + * ], + * }], + * })); + * const example = new aws.iam.Role("example", { + * assumeRolePolicy: exampleAgentTrust.then(exampleAgentTrust => exampleAgentTrust.json), + * namePrefix: "AmazonBedrockExecutionRoleForAgents_", + * }); + * const exampleAgentPermissions = currentGetRegion.then(currentGetRegion => aws.iam.getPolicyDocument({ + * statements: [{ + * actions: ["bedrock:InvokeModel"], + * resources: [`arn:aws:bedrock:${currentGetRegion.name}::foundation-model/anthropic.claude-v2`], + * }], + * })); + * const exampleRolePolicy = new aws.iam.RolePolicy("example", { + * policy: exampleAgentPermissions.then(exampleAgentPermissions => exampleAgentPermissions.json), + * role: example.id, + * }); + * const test = new aws.bedrock.AgentAgent("test", { + * agentName: "my-agent-name", + * agentResourceRoleArn: example.arn, + * idleSessionTtlInSeconds: 500, + * foundationModel: "anthropic.claude-v2", + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import Agents for Amazon Bedrock Agent using the `abcdef1234`. For example: + * + * ```sh + * $ pulumi import aws:bedrock/agentAgent:AgentAgent example abcdef1234 + * ``` + */ +export class AgentAgent extends pulumi.CustomResource { + /** + * Get an existing AgentAgent 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?: AgentAgentState, opts?: pulumi.CustomResourceOptions): AgentAgent { + return new AgentAgent(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:bedrock/agentAgent:AgentAgent'; + + /** + * Returns true if the given object is an instance of AgentAgent. 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 AgentAgent { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AgentAgent.__pulumiType; + } + + /** + * ARN of the Agent. + */ + public /*out*/ readonly agentArn!: pulumi.Output; + /** + * ID of the Agent. + */ + public /*out*/ readonly agentId!: pulumi.Output; + /** + * Name for the agent. + */ + public readonly agentName!: pulumi.Output; + /** + * ARN of the Role for the agent. + */ + public readonly agentResourceRoleArn!: pulumi.Output; + /** + * Version of the Agent. + */ + public /*out*/ readonly agentVersion!: pulumi.Output; + /** + * ARN of customer manager key to use for encryption. + */ + public readonly customerEncryptionKeyArn!: pulumi.Output; + /** + * Description of the agent. + */ + public readonly description!: pulumi.Output; + /** + * Foundation model for the agent to use. + * + * The following arguments are optional: + */ + public readonly foundationModel!: pulumi.Output; + /** + * TTL in seconds for the agent to idle. + */ + public readonly idleSessionTtlInSeconds!: pulumi.Output; + /** + * Instructions to tell agent what it should do. + */ + public readonly instruction!: pulumi.Output; + public readonly prepareAgent!: pulumi.Output; + /** + * Prompt Override Configuration + */ + public readonly promptOverrideConfigurations!: pulumi.Output; + /** + * Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly timeouts!: pulumi.Output; + + /** + * Create a AgentAgent 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: AgentAgentArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AgentAgentArgs | AgentAgentState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AgentAgentState | undefined; + resourceInputs["agentArn"] = state ? state.agentArn : undefined; + resourceInputs["agentId"] = state ? state.agentId : undefined; + resourceInputs["agentName"] = state ? state.agentName : undefined; + resourceInputs["agentResourceRoleArn"] = state ? state.agentResourceRoleArn : undefined; + resourceInputs["agentVersion"] = state ? state.agentVersion : undefined; + resourceInputs["customerEncryptionKeyArn"] = state ? state.customerEncryptionKeyArn : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["foundationModel"] = state ? state.foundationModel : undefined; + resourceInputs["idleSessionTtlInSeconds"] = state ? state.idleSessionTtlInSeconds : undefined; + resourceInputs["instruction"] = state ? state.instruction : undefined; + resourceInputs["prepareAgent"] = state ? state.prepareAgent : undefined; + resourceInputs["promptOverrideConfigurations"] = state ? state.promptOverrideConfigurations : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + } else { + const args = argsOrState as AgentAgentArgs | undefined; + if ((!args || args.agentName === undefined) && !opts.urn) { + throw new Error("Missing required property 'agentName'"); + } + if ((!args || args.agentResourceRoleArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'agentResourceRoleArn'"); + } + if ((!args || args.foundationModel === undefined) && !opts.urn) { + throw new Error("Missing required property 'foundationModel'"); + } + resourceInputs["agentName"] = args ? args.agentName : undefined; + resourceInputs["agentResourceRoleArn"] = args ? args.agentResourceRoleArn : undefined; + resourceInputs["customerEncryptionKeyArn"] = args ? args.customerEncryptionKeyArn : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["foundationModel"] = args ? args.foundationModel : undefined; + resourceInputs["idleSessionTtlInSeconds"] = args ? args.idleSessionTtlInSeconds : undefined; + resourceInputs["instruction"] = args ? args.instruction : undefined; + resourceInputs["prepareAgent"] = args ? args.prepareAgent : undefined; + resourceInputs["promptOverrideConfigurations"] = args ? args.promptOverrideConfigurations : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + resourceInputs["agentArn"] = undefined /*out*/; + resourceInputs["agentId"] = undefined /*out*/; + resourceInputs["agentVersion"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AgentAgent.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AgentAgent resources. + */ +export interface AgentAgentState { + /** + * ARN of the Agent. + */ + agentArn?: pulumi.Input; + /** + * ID of the Agent. + */ + agentId?: pulumi.Input; + /** + * Name for the agent. + */ + agentName?: pulumi.Input; + /** + * ARN of the Role for the agent. + */ + agentResourceRoleArn?: pulumi.Input; + /** + * Version of the Agent. + */ + agentVersion?: pulumi.Input; + /** + * ARN of customer manager key to use for encryption. + */ + customerEncryptionKeyArn?: pulumi.Input; + /** + * Description of the agent. + */ + description?: pulumi.Input; + /** + * Foundation model for the agent to use. + * + * The following arguments are optional: + */ + foundationModel?: pulumi.Input; + /** + * TTL in seconds for the agent to idle. + */ + idleSessionTtlInSeconds?: pulumi.Input; + /** + * Instructions to tell agent what it should do. + */ + instruction?: pulumi.Input; + prepareAgent?: pulumi.Input; + /** + * Prompt Override Configuration + */ + promptOverrideConfigurations?: pulumi.Input[]>; + /** + * Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AgentAgent resource. + */ +export interface AgentAgentArgs { + /** + * Name for the agent. + */ + agentName: pulumi.Input; + /** + * ARN of the Role for the agent. + */ + agentResourceRoleArn: pulumi.Input; + /** + * ARN of customer manager key to use for encryption. + */ + customerEncryptionKeyArn?: pulumi.Input; + /** + * Description of the agent. + */ + description?: pulumi.Input; + /** + * Foundation model for the agent to use. + * + * The following arguments are optional: + */ + foundationModel: pulumi.Input; + /** + * TTL in seconds for the agent to idle. + */ + idleSessionTtlInSeconds?: pulumi.Input; + /** + * Instructions to tell agent what it should do. + */ + instruction?: pulumi.Input; + prepareAgent?: pulumi.Input; + /** + * Prompt Override Configuration + */ + promptOverrideConfigurations?: pulumi.Input[]>; + /** + * Key-value tags for the place index. 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/bedrock/agentAgentActionGroup.ts b/sdk/nodejs/bedrock/agentAgentActionGroup.ts new file mode 100644 index 00000000000..5ae98368daa --- /dev/null +++ b/sdk/nodejs/bedrock/agentAgentActionGroup.ts @@ -0,0 +1,209 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +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 Agents for Amazon Bedrock Agent Action Group. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.bedrock.AgentAgentActionGroup("example", { + * actionGroupName: "example", + * agentId: "ABDJFOWER1", + * agentVersion: "DRAFT", + * skipResourceInUseCheck: true, + * actionGroupExecutor: { + * lambda: "arn:aws:lambda:us-east-1:123456789012:function:example-function", + * }, + * apiSchema: { + * s3: { + * s3BucketName: "example-bucket", + * s3ObjectKey: "path/to/schema.json", + * }, + * }, + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import Agents for Amazon Bedrock Agent Action Group using the `example_id_arg`. For example: + * + * ```sh + * $ pulumi import aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup example ABDJFOWER1,HSKTNKANI4,DRAFT + * ``` + */ +export class AgentAgentActionGroup extends pulumi.CustomResource { + /** + * Get an existing AgentAgentActionGroup 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?: AgentAgentActionGroupState, opts?: pulumi.CustomResourceOptions): AgentAgentActionGroup { + return new AgentAgentActionGroup(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup'; + + /** + * Returns true if the given object is an instance of AgentAgentActionGroup. 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 AgentAgentActionGroup { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AgentAgentActionGroup.__pulumiType; + } + + /** + * Configuration of the executor for the Action Group. + */ + public readonly actionGroupExecutor!: pulumi.Output; + public /*out*/ readonly actionGroupId!: pulumi.Output; + /** + * Name of the Agent Action Group. + */ + public readonly actionGroupName!: pulumi.Output; + public readonly actionGroupState!: pulumi.Output; + /** + * Id of the Agent for the Action Group. + */ + public readonly agentId!: pulumi.Output; + /** + * Version of the Agent to attach the Action Group to. + */ + public readonly agentVersion!: pulumi.Output; + /** + * Configuration of the API Schema for the Action Group. + */ + public readonly apiSchema!: pulumi.Output; + public readonly description!: pulumi.Output; + public readonly parentActionGroupSignature!: pulumi.Output; + public readonly skipResourceInUseCheck!: pulumi.Output; + + /** + * Create a AgentAgentActionGroup 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: AgentAgentActionGroupArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AgentAgentActionGroupArgs | AgentAgentActionGroupState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AgentAgentActionGroupState | undefined; + resourceInputs["actionGroupExecutor"] = state ? state.actionGroupExecutor : undefined; + resourceInputs["actionGroupId"] = state ? state.actionGroupId : undefined; + resourceInputs["actionGroupName"] = state ? state.actionGroupName : undefined; + resourceInputs["actionGroupState"] = state ? state.actionGroupState : undefined; + resourceInputs["agentId"] = state ? state.agentId : undefined; + resourceInputs["agentVersion"] = state ? state.agentVersion : undefined; + resourceInputs["apiSchema"] = state ? state.apiSchema : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["parentActionGroupSignature"] = state ? state.parentActionGroupSignature : undefined; + resourceInputs["skipResourceInUseCheck"] = state ? state.skipResourceInUseCheck : undefined; + } else { + const args = argsOrState as AgentAgentActionGroupArgs | undefined; + if ((!args || args.actionGroupName === undefined) && !opts.urn) { + throw new Error("Missing required property 'actionGroupName'"); + } + if ((!args || args.agentId === undefined) && !opts.urn) { + throw new Error("Missing required property 'agentId'"); + } + if ((!args || args.agentVersion === undefined) && !opts.urn) { + throw new Error("Missing required property 'agentVersion'"); + } + resourceInputs["actionGroupExecutor"] = args ? args.actionGroupExecutor : undefined; + resourceInputs["actionGroupName"] = args ? args.actionGroupName : undefined; + resourceInputs["actionGroupState"] = args ? args.actionGroupState : undefined; + resourceInputs["agentId"] = args ? args.agentId : undefined; + resourceInputs["agentVersion"] = args ? args.agentVersion : undefined; + resourceInputs["apiSchema"] = args ? args.apiSchema : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["parentActionGroupSignature"] = args ? args.parentActionGroupSignature : undefined; + resourceInputs["skipResourceInUseCheck"] = args ? args.skipResourceInUseCheck : undefined; + resourceInputs["actionGroupId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AgentAgentActionGroup.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AgentAgentActionGroup resources. + */ +export interface AgentAgentActionGroupState { + /** + * Configuration of the executor for the Action Group. + */ + actionGroupExecutor?: pulumi.Input; + actionGroupId?: pulumi.Input; + /** + * Name of the Agent Action Group. + */ + actionGroupName?: pulumi.Input; + actionGroupState?: pulumi.Input; + /** + * Id of the Agent for the Action Group. + */ + agentId?: pulumi.Input; + /** + * Version of the Agent to attach the Action Group to. + */ + agentVersion?: pulumi.Input; + /** + * Configuration of the API Schema for the Action Group. + */ + apiSchema?: pulumi.Input; + description?: pulumi.Input; + parentActionGroupSignature?: pulumi.Input; + skipResourceInUseCheck?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AgentAgentActionGroup resource. + */ +export interface AgentAgentActionGroupArgs { + /** + * Configuration of the executor for the Action Group. + */ + actionGroupExecutor?: pulumi.Input; + /** + * Name of the Agent Action Group. + */ + actionGroupName: pulumi.Input; + actionGroupState?: pulumi.Input; + /** + * Id of the Agent for the Action Group. + */ + agentId: pulumi.Input; + /** + * Version of the Agent to attach the Action Group to. + */ + agentVersion: pulumi.Input; + /** + * Configuration of the API Schema for the Action Group. + */ + apiSchema?: pulumi.Input; + description?: pulumi.Input; + parentActionGroupSignature?: pulumi.Input; + skipResourceInUseCheck?: pulumi.Input; +} diff --git a/sdk/nodejs/bedrock/agentAgentAlias.ts b/sdk/nodejs/bedrock/agentAgentAlias.ts new file mode 100644 index 00000000000..9b2d821fc7a --- /dev/null +++ b/sdk/nodejs/bedrock/agentAgentAlias.ts @@ -0,0 +1,194 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +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 Agents for Amazon Bedrock Agent Alias. + * + * ## Example Usage + * + * ## Import + * + * Using `pulumi import`, import Agents for Amazon Bedrock Agent Alias using the `AGENT_ID,ALIAS_ID`. For example: + * + * ```sh + * $ pulumi import aws:bedrock/agentAgentAlias:AgentAgentAlias example AGENT_ID,ALIAS_ID + * ``` + */ +export class AgentAgentAlias extends pulumi.CustomResource { + /** + * Get an existing AgentAgentAlias 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?: AgentAgentAliasState, opts?: pulumi.CustomResourceOptions): AgentAgentAlias { + return new AgentAgentAlias(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:bedrock/agentAgentAlias:AgentAgentAlias'; + + /** + * Returns true if the given object is an instance of AgentAgentAlias. 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 AgentAgentAlias { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AgentAgentAlias.__pulumiType; + } + + /** + * ARN of the Agent Alias. + */ + public /*out*/ readonly agentAliasArn!: pulumi.Output; + public /*out*/ readonly agentAliasId!: pulumi.Output; + /** + * Name of the alias. + */ + public readonly agentAliasName!: pulumi.Output; + /** + * Identifier of the agent to create an alias for. + */ + public readonly agentId!: pulumi.Output; + /** + * Description of the alias of the agent. + */ + public readonly description!: pulumi.Output; + /** + * Routing configuration of the alias + */ + public readonly routingConfigurations!: pulumi.Output; + /** + * Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * The following arguments are optional: + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly timeouts!: pulumi.Output; + + /** + * Create a AgentAgentAlias 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: AgentAgentAliasArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AgentAgentAliasArgs | AgentAgentAliasState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AgentAgentAliasState | undefined; + resourceInputs["agentAliasArn"] = state ? state.agentAliasArn : undefined; + resourceInputs["agentAliasId"] = state ? state.agentAliasId : undefined; + resourceInputs["agentAliasName"] = state ? state.agentAliasName : undefined; + resourceInputs["agentId"] = state ? state.agentId : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["routingConfigurations"] = state ? state.routingConfigurations : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + } else { + const args = argsOrState as AgentAgentAliasArgs | undefined; + if ((!args || args.agentAliasName === undefined) && !opts.urn) { + throw new Error("Missing required property 'agentAliasName'"); + } + if ((!args || args.agentId === undefined) && !opts.urn) { + throw new Error("Missing required property 'agentId'"); + } + resourceInputs["agentAliasName"] = args ? args.agentAliasName : undefined; + resourceInputs["agentId"] = args ? args.agentId : undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["routingConfigurations"] = args ? args.routingConfigurations : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + resourceInputs["agentAliasArn"] = undefined /*out*/; + resourceInputs["agentAliasId"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AgentAgentAlias.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AgentAgentAlias resources. + */ +export interface AgentAgentAliasState { + /** + * ARN of the Agent Alias. + */ + agentAliasArn?: pulumi.Input; + agentAliasId?: pulumi.Input; + /** + * Name of the alias. + */ + agentAliasName?: pulumi.Input; + /** + * Identifier of the agent to create an alias for. + */ + agentId?: pulumi.Input; + /** + * Description of the alias of the agent. + */ + description?: pulumi.Input; + /** + * Routing configuration of the alias + */ + routingConfigurations?: pulumi.Input[]>; + /** + * Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * The following arguments are optional: + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AgentAgentAlias resource. + */ +export interface AgentAgentAliasArgs { + /** + * Name of the alias. + */ + agentAliasName: pulumi.Input; + /** + * Identifier of the agent to create an alias for. + */ + agentId: pulumi.Input; + /** + * Description of the alias of the agent. + */ + description?: pulumi.Input; + /** + * Routing configuration of the alias + */ + routingConfigurations?: pulumi.Input[]>; + /** + * Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + * + * The following arguments are optional: + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/bedrock/agentKnowledgeBase.ts b/sdk/nodejs/bedrock/agentKnowledgeBase.ts new file mode 100644 index 00000000000..3ddb1de2f3a --- /dev/null +++ b/sdk/nodejs/bedrock/agentKnowledgeBase.ts @@ -0,0 +1,235 @@ +// *** WARNING: this file 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 Agents for Amazon Bedrock Knowledge Base. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = new aws.bedrock.AgentKnowledgeBase("test", { + * name: "example", + * roleArn: example.arn, + * knowledgeBaseConfiguration: { + * vectorKnowledgeBaseConfiguration: { + * embeddingModelArn: "arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1", + * }, + * type: "VECTOR", + * }, + * storageConfiguration: { + * type: "OPENSEARCH_SERVERLESS", + * opensearchServerlessConfiguration: { + * collectionArn: "arn:aws:aoss:us-west-2:1234567890:collection/142bezjddq707i5stcrf", + * vectorIndexName: "bedrock-knowledge-base-default-index", + * fieldMapping: { + * vectorField: "bedrock-knowledge-base-default-vector", + * textField: "AMAZON_BEDROCK_TEXT_CHUNK", + * metadataField: "AMAZON_BEDROCK_METADATA", + * }, + * }, + * }, + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import Agents for Amazon Bedrock Knowledge Base using the `Q1IYMH6GQG`. For example: + * + * ```sh + * $ pulumi import aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase example Q1IYMH6GQG + * ``` + */ +export class AgentKnowledgeBase extends pulumi.CustomResource { + /** + * Get an existing AgentKnowledgeBase 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?: AgentKnowledgeBaseState, opts?: pulumi.CustomResourceOptions): AgentKnowledgeBase { + return new AgentKnowledgeBase(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase'; + + /** + * Returns true if the given object is an instance of AgentKnowledgeBase. 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 AgentKnowledgeBase { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AgentKnowledgeBase.__pulumiType; + } + + /** + * ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + */ + public /*out*/ readonly arn!: pulumi.Output; + public /*out*/ readonly createdAt!: pulumi.Output; + /** + * A description of the knowledge base. + */ + public readonly description!: pulumi.Output; + public /*out*/ readonly failureReasons!: pulumi.Output; + /** + * Contains details about the embeddings model used for the knowledge base. + */ + public readonly knowledgeBaseConfiguration!: pulumi.Output; + /** + * A name for the knowledge base. + */ + public readonly name!: pulumi.Output; + /** + * The ARN of the IAM role with permissions to create the knowledge base. + */ + public readonly roleArn!: pulumi.Output; + /** + * Contains details about the configuration of the vector database used for the knowledge base. + */ + public readonly storageConfiguration!: pulumi.Output; + /** + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly timeouts!: pulumi.Output; + public /*out*/ readonly updatedAt!: pulumi.Output; + + /** + * Create a AgentKnowledgeBase 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: AgentKnowledgeBaseArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AgentKnowledgeBaseArgs | AgentKnowledgeBaseState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AgentKnowledgeBaseState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["createdAt"] = state ? state.createdAt : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["failureReasons"] = state ? state.failureReasons : undefined; + resourceInputs["knowledgeBaseConfiguration"] = state ? state.knowledgeBaseConfiguration : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["roleArn"] = state ? state.roleArn : undefined; + resourceInputs["storageConfiguration"] = state ? state.storageConfiguration : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + resourceInputs["timeouts"] = state ? state.timeouts : undefined; + resourceInputs["updatedAt"] = state ? state.updatedAt : undefined; + } else { + const args = argsOrState as AgentKnowledgeBaseArgs | undefined; + if ((!args || args.roleArn === undefined) && !opts.urn) { + throw new Error("Missing required property 'roleArn'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["knowledgeBaseConfiguration"] = args ? args.knowledgeBaseConfiguration : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["roleArn"] = args ? args.roleArn : undefined; + resourceInputs["storageConfiguration"] = args ? args.storageConfiguration : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["timeouts"] = args ? args.timeouts : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["createdAt"] = undefined /*out*/; + resourceInputs["failureReasons"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + resourceInputs["updatedAt"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AgentKnowledgeBase.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AgentKnowledgeBase resources. + */ +export interface AgentKnowledgeBaseState { + /** + * ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + */ + arn?: pulumi.Input; + createdAt?: pulumi.Input; + /** + * A description of the knowledge base. + */ + description?: pulumi.Input; + failureReasons?: pulumi.Input[]>; + /** + * Contains details about the embeddings model used for the knowledge base. + */ + knowledgeBaseConfiguration?: pulumi.Input; + /** + * A name for the knowledge base. + */ + name?: pulumi.Input; + /** + * The ARN of the IAM role with permissions to create the knowledge base. + */ + roleArn?: pulumi.Input; + /** + * Contains details about the configuration of the vector database used for the knowledge base. + */ + storageConfiguration?: pulumi.Input; + /** + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; + updatedAt?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AgentKnowledgeBase resource. + */ +export interface AgentKnowledgeBaseArgs { + /** + * A description of the knowledge base. + */ + description?: pulumi.Input; + /** + * Contains details about the embeddings model used for the knowledge base. + */ + knowledgeBaseConfiguration?: pulumi.Input; + /** + * A name for the knowledge base. + */ + name?: pulumi.Input; + /** + * The ARN of the IAM role with permissions to create the knowledge base. + */ + roleArn: pulumi.Input; + /** + * Contains details about the configuration of the vector database used for the knowledge base. + */ + storageConfiguration?: pulumi.Input; + /** + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/bedrock/index.ts b/sdk/nodejs/bedrock/index.ts index 22e4fa25a69..00eef288b6d 100644 --- a/sdk/nodejs/bedrock/index.ts +++ b/sdk/nodejs/bedrock/index.ts @@ -5,6 +5,26 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { AgentAgentArgs, AgentAgentState } from "./agentAgent"; +export type AgentAgent = import("./agentAgent").AgentAgent; +export const AgentAgent: typeof import("./agentAgent").AgentAgent = null as any; +utilities.lazyLoad(exports, ["AgentAgent"], () => require("./agentAgent")); + +export { AgentAgentActionGroupArgs, AgentAgentActionGroupState } from "./agentAgentActionGroup"; +export type AgentAgentActionGroup = import("./agentAgentActionGroup").AgentAgentActionGroup; +export const AgentAgentActionGroup: typeof import("./agentAgentActionGroup").AgentAgentActionGroup = null as any; +utilities.lazyLoad(exports, ["AgentAgentActionGroup"], () => require("./agentAgentActionGroup")); + +export { AgentAgentAliasArgs, AgentAgentAliasState } from "./agentAgentAlias"; +export type AgentAgentAlias = import("./agentAgentAlias").AgentAgentAlias; +export const AgentAgentAlias: typeof import("./agentAgentAlias").AgentAgentAlias = null as any; +utilities.lazyLoad(exports, ["AgentAgentAlias"], () => require("./agentAgentAlias")); + +export { AgentKnowledgeBaseArgs, AgentKnowledgeBaseState } from "./agentKnowledgeBase"; +export type AgentKnowledgeBase = import("./agentKnowledgeBase").AgentKnowledgeBase; +export const AgentKnowledgeBase: typeof import("./agentKnowledgeBase").AgentKnowledgeBase = null as any; +utilities.lazyLoad(exports, ["AgentKnowledgeBase"], () => require("./agentKnowledgeBase")); + export { CustomModelArgs, CustomModelState } from "./customModel"; export type CustomModel = import("./customModel").CustomModel; export const CustomModel: typeof import("./customModel").CustomModel = null as any; @@ -30,6 +50,14 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "aws:bedrock/agentAgent:AgentAgent": + return new AgentAgent(name, undefined, { urn }) + case "aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup": + return new AgentAgentActionGroup(name, undefined, { urn }) + case "aws:bedrock/agentAgentAlias:AgentAgentAlias": + return new AgentAgentAlias(name, undefined, { urn }) + case "aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase": + return new AgentKnowledgeBase(name, undefined, { urn }) case "aws:bedrock/customModel:CustomModel": return new CustomModel(name, undefined, { urn }) case "aws:bedrock/provisionedModelThroughput:ProvisionedModelThroughput": @@ -39,5 +67,9 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("aws", "bedrock/agentAgent", _module) +pulumi.runtime.registerResourceModule("aws", "bedrock/agentAgentActionGroup", _module) +pulumi.runtime.registerResourceModule("aws", "bedrock/agentAgentAlias", _module) +pulumi.runtime.registerResourceModule("aws", "bedrock/agentKnowledgeBase", _module) pulumi.runtime.registerResourceModule("aws", "bedrock/customModel", _module) pulumi.runtime.registerResourceModule("aws", "bedrock/provisionedModelThroughput", _module) diff --git a/sdk/nodejs/cloudformation/stackSet.ts b/sdk/nodejs/cloudformation/stackSet.ts index 801539c983a..7c2adf6b407 100644 --- a/sdk/nodejs/cloudformation/stackSet.ts +++ b/sdk/nodejs/cloudformation/stackSet.ts @@ -14,6 +14,8 @@ import * as utilities from "../utilities"; * * > **NOTE:** All `NoEcho` template parameters must be ignored with the `lifecycle` configuration block `ignoreChanges` argument. * + * > **NOTE:** When using a delegated administrator account, ensure that your IAM User or Role has the `organizations:ListDelegatedAdministrators` permission. Otherwise, you may get an error like `ValidationError: Account used is not a delegated administrator`. + * * ## Example Usage * * ```typescript diff --git a/sdk/nodejs/codecommit/repository.ts b/sdk/nodejs/codecommit/repository.ts index db410f14148..c32787ca386 100644 --- a/sdk/nodejs/codecommit/repository.ts +++ b/sdk/nodejs/codecommit/repository.ts @@ -93,7 +93,7 @@ export class Repository extends pulumi.CustomResource { */ public readonly description!: pulumi.Output; /** - * The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + * The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. */ public readonly kmsKeyId!: pulumi.Output; /** @@ -184,7 +184,7 @@ export interface RepositoryState { */ description?: pulumi.Input; /** - * The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + * The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. */ kmsKeyId?: pulumi.Input; /** @@ -220,7 +220,7 @@ export interface RepositoryArgs { */ description?: pulumi.Input; /** - * The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + * The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. */ kmsKeyId?: pulumi.Input; /** diff --git a/sdk/nodejs/ec2/eip.ts b/sdk/nodejs/ec2/eip.ts index beffb6f72ac..77fc6396db7 100644 --- a/sdk/nodejs/ec2/eip.ts +++ b/sdk/nodejs/ec2/eip.ts @@ -139,6 +139,7 @@ export class Eip extends pulumi.CustomResource { * ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC. */ public /*out*/ readonly allocationId!: pulumi.Output; + public /*out*/ readonly arn!: pulumi.Output; /** * User-specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address. */ @@ -238,6 +239,7 @@ export class Eip extends pulumi.CustomResource { const state = argsOrState as EipState | undefined; resourceInputs["address"] = state ? state.address : undefined; resourceInputs["allocationId"] = state ? state.allocationId : undefined; + resourceInputs["arn"] = state ? state.arn : undefined; resourceInputs["associateWithPrivateIp"] = state ? state.associateWithPrivateIp : undefined; resourceInputs["associationId"] = state ? state.associationId : undefined; resourceInputs["carrierIp"] = state ? state.carrierIp : undefined; @@ -269,6 +271,7 @@ export class Eip extends pulumi.CustomResource { resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["vpc"] = args ? args.vpc : undefined; resourceInputs["allocationId"] = undefined /*out*/; + resourceInputs["arn"] = undefined /*out*/; resourceInputs["associationId"] = undefined /*out*/; resourceInputs["carrierIp"] = undefined /*out*/; resourceInputs["customerOwnedIp"] = undefined /*out*/; @@ -296,6 +299,7 @@ export interface EipState { * ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC. */ allocationId?: pulumi.Input; + arn?: pulumi.Input; /** * User-specified primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address. */ diff --git a/sdk/nodejs/ec2/getElasticIp.ts b/sdk/nodejs/ec2/getElasticIp.ts index a5f0855b552..04d8154381f 100644 --- a/sdk/nodejs/ec2/getElasticIp.ts +++ b/sdk/nodejs/ec2/getElasticIp.ts @@ -99,6 +99,7 @@ export interface GetElasticIpArgs { * A collection of values returned by getElasticIp. */ export interface GetElasticIpResult { + readonly arn: string; /** * ID representing the association of the address with an instance in a VPC. */ diff --git a/sdk/nodejs/elasticache/replicationGroup.ts b/sdk/nodejs/elasticache/replicationGroup.ts index 57eaef3feac..6a3a4bbe800 100644 --- a/sdk/nodejs/elasticache/replicationGroup.ts +++ b/sdk/nodejs/elasticache/replicationGroup.ts @@ -419,8 +419,17 @@ export class ReplicationGroup extends pulumi.CustomResource { public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Whether to enable encryption in transit. + * Changing this argument with an `engineVersion` < `7.0.5` will force a replacement. + * Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. */ public readonly transitEncryptionEnabled!: pulumi.Output; + /** + * A setting that enables clients to migrate to in-transit encryption with no downtime. + * Valid values are `preferred` and `required`. + * When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + * See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + */ + public readonly transitEncryptionMode!: pulumi.Output; /** * User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. */ @@ -483,6 +492,7 @@ export class ReplicationGroup extends pulumi.CustomResource { resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; resourceInputs["transitEncryptionEnabled"] = state ? state.transitEncryptionEnabled : undefined; + resourceInputs["transitEncryptionMode"] = state ? state.transitEncryptionMode : undefined; resourceInputs["userGroupIds"] = state ? state.userGroupIds : undefined; } else { const args = argsOrState as ReplicationGroupArgs | undefined; @@ -522,6 +532,7 @@ export class ReplicationGroup extends pulumi.CustomResource { resourceInputs["subnetGroupName"] = args ? args.subnetGroupName : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["transitEncryptionEnabled"] = args ? args.transitEncryptionEnabled : undefined; + resourceInputs["transitEncryptionMode"] = args ? args.transitEncryptionMode : undefined; resourceInputs["userGroupIds"] = args ? args.userGroupIds : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["clusterEnabled"] = undefined /*out*/; @@ -731,8 +742,17 @@ export interface ReplicationGroupState { tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Whether to enable encryption in transit. + * Changing this argument with an `engineVersion` < `7.0.5` will force a replacement. + * Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. */ transitEncryptionEnabled?: pulumi.Input; + /** + * A setting that enables clients to migrate to in-transit encryption with no downtime. + * Valid values are `preferred` and `required`. + * When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + * See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + */ + transitEncryptionMode?: pulumi.Input; /** * User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. */ @@ -897,8 +917,17 @@ export interface ReplicationGroupArgs { tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Whether to enable encryption in transit. + * Changing this argument with an `engineVersion` < `7.0.5` will force a replacement. + * Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. */ transitEncryptionEnabled?: pulumi.Input; + /** + * A setting that enables clients to migrate to in-transit encryption with no downtime. + * Valid values are `preferred` and `required`. + * When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + * See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + */ + transitEncryptionMode?: pulumi.Input; /** * User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. */ diff --git a/sdk/nodejs/globalaccelerator/crossAccountAttachment.ts b/sdk/nodejs/globalaccelerator/crossAccountAttachment.ts new file mode 100644 index 00000000000..cb7e1be400e --- /dev/null +++ b/sdk/nodejs/globalaccelerator/crossAccountAttachment.ts @@ -0,0 +1,214 @@ +// *** WARNING: this file 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 Global Accelerator Cross Account Attachment. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.globalaccelerator.CrossAccountAttachment("example", {name: "example-cross-account-attachment"}); + * ``` + * + * ### Usage with Optional Arguments + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.globalaccelerator.CrossAccountAttachment("example", { + * name: "example-cross-account-attachment", + * principals: ["123456789012"], + * resources: [{ + * endpointId: "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + * region: "us-west-2", + * }], + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import Global Accelerator Cross Account Attachment using the `example_id_arg`. For example: + * + * ```sh + * $ pulumi import aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment example arn:aws:globalaccelerator::012345678910:attachment/01234567-abcd-8910-efgh-123456789012 + * ``` + */ +export class CrossAccountAttachment extends pulumi.CustomResource { + /** + * Get an existing CrossAccountAttachment 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?: CrossAccountAttachmentState, opts?: pulumi.CustomResourceOptions): CrossAccountAttachment { + return new CrossAccountAttachment(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment'; + + /** + * Returns true if the given object is an instance of CrossAccountAttachment. 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 CrossAccountAttachment { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CrossAccountAttachment.__pulumiType; + } + + /** + * ARN of the Cross Account Attachment. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * Creation Time when the Cross Account Attachment. + */ + public /*out*/ readonly createdTime!: pulumi.Output; + /** + * Last modified time of the Cross Account Attachment. + */ + public /*out*/ readonly lastModifiedTime!: pulumi.Output; + /** + * Name of the Cross Account Attachment. + * + * The following arguments are optional: + */ + public readonly name!: pulumi.Output; + /** + * List of AWS account IDs that are allowed to associate resources with the accelerator. + */ + public readonly principals!: pulumi.Output; + /** + * List of resources to be associated with the accelerator. + */ + public readonly resources!: pulumi.Output; + /** + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + + /** + * Create a CrossAccountAttachment 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?: CrossAccountAttachmentArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CrossAccountAttachmentArgs | CrossAccountAttachmentState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CrossAccountAttachmentState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["createdTime"] = state ? state.createdTime : undefined; + resourceInputs["lastModifiedTime"] = state ? state.lastModifiedTime : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["principals"] = state ? state.principals : undefined; + resourceInputs["resources"] = state ? state.resources : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + } else { + const args = argsOrState as CrossAccountAttachmentArgs | undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["principals"] = args ? args.principals : undefined; + resourceInputs["resources"] = args ? args.resources : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["createdTime"] = undefined /*out*/; + resourceInputs["lastModifiedTime"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(CrossAccountAttachment.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CrossAccountAttachment resources. + */ +export interface CrossAccountAttachmentState { + /** + * ARN of the Cross Account Attachment. + */ + arn?: pulumi.Input; + /** + * Creation Time when the Cross Account Attachment. + */ + createdTime?: pulumi.Input; + /** + * Last modified time of the Cross Account Attachment. + */ + lastModifiedTime?: pulumi.Input; + /** + * Name of the Cross Account Attachment. + * + * The following arguments are optional: + */ + name?: pulumi.Input; + /** + * List of AWS account IDs that are allowed to associate resources with the accelerator. + */ + principals?: pulumi.Input[]>; + /** + * List of resources to be associated with the accelerator. + */ + resources?: pulumi.Input[]>; + /** + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + * + * @deprecated Please use `tags` instead. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +/** + * The set of arguments for constructing a CrossAccountAttachment resource. + */ +export interface CrossAccountAttachmentArgs { + /** + * Name of the Cross Account Attachment. + * + * The following arguments are optional: + */ + name?: pulumi.Input; + /** + * List of AWS account IDs that are allowed to associate resources with the accelerator. + */ + principals?: pulumi.Input[]>; + /** + * List of resources to be associated with the accelerator. + */ + resources?: pulumi.Input[]>; + /** + * A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/globalaccelerator/index.ts b/sdk/nodejs/globalaccelerator/index.ts index f34e819d945..ba03025acc8 100644 --- a/sdk/nodejs/globalaccelerator/index.ts +++ b/sdk/nodejs/globalaccelerator/index.ts @@ -10,6 +10,11 @@ export type Accelerator = import("./accelerator").Accelerator; export const Accelerator: typeof import("./accelerator").Accelerator = null as any; utilities.lazyLoad(exports, ["Accelerator"], () => require("./accelerator")); +export { CrossAccountAttachmentArgs, CrossAccountAttachmentState } from "./crossAccountAttachment"; +export type CrossAccountAttachment = import("./crossAccountAttachment").CrossAccountAttachment; +export const CrossAccountAttachment: typeof import("./crossAccountAttachment").CrossAccountAttachment = null as any; +utilities.lazyLoad(exports, ["CrossAccountAttachment"], () => require("./crossAccountAttachment")); + export { CustomRoutingAcceleratorArgs, CustomRoutingAcceleratorState } from "./customRoutingAccelerator"; export type CustomRoutingAccelerator = import("./customRoutingAccelerator").CustomRoutingAccelerator; export const CustomRoutingAccelerator: typeof import("./customRoutingAccelerator").CustomRoutingAccelerator = null as any; @@ -52,6 +57,8 @@ const _module = { switch (type) { case "aws:globalaccelerator/accelerator:Accelerator": return new Accelerator(name, undefined, { urn }) + case "aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment": + return new CrossAccountAttachment(name, undefined, { urn }) case "aws:globalaccelerator/customRoutingAccelerator:CustomRoutingAccelerator": return new CustomRoutingAccelerator(name, undefined, { urn }) case "aws:globalaccelerator/customRoutingEndpointGroup:CustomRoutingEndpointGroup": @@ -68,6 +75,7 @@ const _module = { }, }; pulumi.runtime.registerResourceModule("aws", "globalaccelerator/accelerator", _module) +pulumi.runtime.registerResourceModule("aws", "globalaccelerator/crossAccountAttachment", _module) pulumi.runtime.registerResourceModule("aws", "globalaccelerator/customRoutingAccelerator", _module) pulumi.runtime.registerResourceModule("aws", "globalaccelerator/customRoutingEndpointGroup", _module) pulumi.runtime.registerResourceModule("aws", "globalaccelerator/customRoutingListener", _module) diff --git a/sdk/nodejs/identitystore/getGroups.ts b/sdk/nodejs/identitystore/getGroups.ts new file mode 100644 index 00000000000..dc9834a0915 --- /dev/null +++ b/sdk/nodejs/identitystore/getGroups.ts @@ -0,0 +1,88 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Data source for managing an AWS SSO Identity Store Groups. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.ssoadmin.getInstances({}); + * const exampleGetGroups = example.then(example => aws.identitystore.getGroups({ + * identityStoreId: example.identityStoreIds?.[0], + * })); + * ``` + */ +export function getGroups(args: GetGroupsArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:identitystore/getGroups:getGroups", { + "identityStoreId": args.identityStoreId, + }, opts); +} + +/** + * A collection of arguments for invoking getGroups. + */ +export interface GetGroupsArgs { + /** + * Identity Store ID associated with the Single Sign-On (SSO) Instance. + */ + identityStoreId: string; +} + +/** + * A collection of values returned by getGroups. + */ +export interface GetGroupsResult { + /** + * List of Identity Store Groups + */ + readonly groups: outputs.identitystore.GetGroupsGroup[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly identityStoreId: string; +} +/** + * Data source for managing an AWS SSO Identity Store Groups. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.ssoadmin.getInstances({}); + * const exampleGetGroups = example.then(example => aws.identitystore.getGroups({ + * identityStoreId: example.identityStoreIds?.[0], + * })); + * ``` + */ +export function getGroupsOutput(args: GetGroupsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getGroups(a, opts)) +} + +/** + * A collection of arguments for invoking getGroups. + */ +export interface GetGroupsOutputArgs { + /** + * Identity Store ID associated with the Single Sign-On (SSO) Instance. + */ + identityStoreId: pulumi.Input; +} diff --git a/sdk/nodejs/identitystore/index.ts b/sdk/nodejs/identitystore/index.ts index 7d6dddbcf58..2dde45f53ef 100644 --- a/sdk/nodejs/identitystore/index.ts +++ b/sdk/nodejs/identitystore/index.ts @@ -10,6 +10,11 @@ export const getGroup: typeof import("./getGroup").getGroup = null as any; export const getGroupOutput: typeof import("./getGroup").getGroupOutput = null as any; utilities.lazyLoad(exports, ["getGroup","getGroupOutput"], () => require("./getGroup")); +export { GetGroupsArgs, GetGroupsResult, GetGroupsOutputArgs } from "./getGroups"; +export const getGroups: typeof import("./getGroups").getGroups = null as any; +export const getGroupsOutput: typeof import("./getGroups").getGroupsOutput = null as any; +utilities.lazyLoad(exports, ["getGroups","getGroupsOutput"], () => require("./getGroups")); + export { GetUserArgs, GetUserResult, GetUserOutputArgs } from "./getUser"; export const getUser: typeof import("./getUser").getUser = null as any; export const getUserOutput: typeof import("./getUser").getUserOutput = null as any; diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 6fff3e12492..714c1ae8ffc 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -99,6 +99,7 @@ import * as autoscaling from "./autoscaling"; import * as autoscalingplans from "./autoscalingplans"; import * as backup from "./backup"; import * as batch from "./batch"; +import * as bcmdata from "./bcmdata"; import * as bedrock from "./bedrock"; import * as bedrockfoundation from "./bedrockfoundation"; import * as bedrockmodel from "./bedrockmodel"; @@ -306,6 +307,7 @@ export { autoscalingplans, backup, batch, + bcmdata, bedrock, bedrockfoundation, bedrockmodel, diff --git a/sdk/nodejs/kinesis/firehoseDeliveryStream.ts b/sdk/nodejs/kinesis/firehoseDeliveryStream.ts index f7c1376201a..fb0380aa1ca 100644 --- a/sdk/nodejs/kinesis/firehoseDeliveryStream.ts +++ b/sdk/nodejs/kinesis/firehoseDeliveryStream.ts @@ -8,7 +8,7 @@ import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** - * Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 and Amazon Redshift. + * Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 , Amazon Redshift and Snowflake. * * For more details, see the [Amazon Kinesis Firehose Documentation](https://aws.amazon.com/documentation/firehose/). * @@ -557,6 +557,34 @@ import * as utilities from "../utilities"; * }); * ``` * + * ### Snowflake Destination + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const exampleSnowflakeDestination = new aws.kinesis.FirehoseDeliveryStream("example_snowflake_destination", { + * name: "example-snowflake-destination", + * destination: "snowflake", + * snowflakeConfiguration: { + * accountUrl: "https://example.snowflakecomputing.com", + * database: "example-db", + * privateKey: "...", + * roleArn: firehose.arn, + * schema: "example-schema", + * table: "example-table", + * user: "example-usr", + * s3Configuration: { + * roleArn: firehose.arn, + * bucketArn: bucket.arn, + * bufferingSize: 10, + * bufferingInterval: 400, + * compressionFormat: "GZIP", + * }, + * }, + * }); + * ``` + * * ## Import * * Using `pulumi import`, import Kinesis Firehose Delivery streams using the stream ARN. For example: @@ -599,7 +627,7 @@ export class FirehoseDeliveryStream extends pulumi.CustomResource { */ public readonly arn!: pulumi.Output; /** - * This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch` and `opensearchserverless`. + * This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch`, `opensearchserverless` and `snowflake`. */ public readonly destination!: pulumi.Output; public readonly destinationId!: pulumi.Output; @@ -645,6 +673,10 @@ export class FirehoseDeliveryStream extends pulumi.CustomResource { * **NOTE:** Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream. */ public readonly serverSideEncryption!: pulumi.Output; + /** + * Configuration options when `destination` is `snowflake`. See `snowflakeConfiguration` block below for details. + */ + public readonly snowflakeConfiguration!: pulumi.Output; /** * Configuration options when `destination` is `splunk`. See `splunkConfiguration` block below for details. */ @@ -687,6 +719,7 @@ export class FirehoseDeliveryStream extends pulumi.CustomResource { resourceInputs["opensearchserverlessConfiguration"] = state ? state.opensearchserverlessConfiguration : undefined; resourceInputs["redshiftConfiguration"] = state ? state.redshiftConfiguration : undefined; resourceInputs["serverSideEncryption"] = state ? state.serverSideEncryption : undefined; + resourceInputs["snowflakeConfiguration"] = state ? state.snowflakeConfiguration : undefined; resourceInputs["splunkConfiguration"] = state ? state.splunkConfiguration : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; @@ -709,6 +742,7 @@ export class FirehoseDeliveryStream extends pulumi.CustomResource { resourceInputs["opensearchserverlessConfiguration"] = args ? args.opensearchserverlessConfiguration : undefined; resourceInputs["redshiftConfiguration"] = args ? args.redshiftConfiguration : undefined; resourceInputs["serverSideEncryption"] = args ? args.serverSideEncryption : undefined; + resourceInputs["snowflakeConfiguration"] = args ? args.snowflakeConfiguration : undefined; resourceInputs["splunkConfiguration"] = args ? args.splunkConfiguration : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["versionId"] = args ? args.versionId : undefined; @@ -728,7 +762,7 @@ export interface FirehoseDeliveryStreamState { */ arn?: pulumi.Input; /** - * This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch` and `opensearchserverless`. + * This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch`, `opensearchserverless` and `snowflake`. */ destination?: pulumi.Input; destinationId?: pulumi.Input; @@ -774,6 +808,10 @@ export interface FirehoseDeliveryStreamState { * **NOTE:** Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream. */ serverSideEncryption?: pulumi.Input; + /** + * Configuration options when `destination` is `snowflake`. See `snowflakeConfiguration` block below for details. + */ + snowflakeConfiguration?: pulumi.Input; /** * Configuration options when `destination` is `splunk`. See `splunkConfiguration` block below for details. */ @@ -800,7 +838,7 @@ export interface FirehoseDeliveryStreamArgs { */ arn?: pulumi.Input; /** - * This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch` and `opensearchserverless`. + * This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extendedS3` instead), `extendedS3`, `redshift`, `elasticsearch`, `splunk`, `httpEndpoint`, `opensearch`, `opensearchserverless` and `snowflake`. */ destination: pulumi.Input; destinationId?: pulumi.Input; @@ -846,6 +884,10 @@ export interface FirehoseDeliveryStreamArgs { * **NOTE:** Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream. */ serverSideEncryption?: pulumi.Input; + /** + * Configuration options when `destination` is `snowflake`. See `snowflakeConfiguration` block below for details. + */ + snowflakeConfiguration?: pulumi.Input; /** * Configuration options when `destination` is `splunk`. See `splunkConfiguration` block below for details. */ diff --git a/sdk/nodejs/memorydb/getUser.ts b/sdk/nodejs/memorydb/getUser.ts index 2922b7d5129..e98a49757c8 100644 --- a/sdk/nodejs/memorydb/getUser.ts +++ b/sdk/nodejs/memorydb/getUser.ts @@ -35,7 +35,7 @@ export function getUser(args: GetUserArgs, opts?: pulumi.InvokeOptions): Promise */ export interface GetUserArgs { /** - * Map of tags assigned to the subnet group. + * Map of tags assigned to the user. */ tags?: {[key: string]: string}; /** @@ -65,11 +65,11 @@ export interface GetUserResult { */ readonly id: string; /** - * The minimum engine version supported for the user. + * Minimum engine version supported for the user. */ readonly minimumEngineVersion: string; /** - * Map of tags assigned to the subnet group. + * Map of tags assigned to the user. */ readonly tags: {[key: string]: string}; readonly userName: string; @@ -97,7 +97,7 @@ export function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOptio */ export interface GetUserOutputArgs { /** - * Map of tags assigned to the subnet group. + * Map of tags assigned to the user. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; /** diff --git a/sdk/nodejs/memorydb/user.ts b/sdk/nodejs/memorydb/user.ts index 22cec8e1343..34e0856da49 100644 --- a/sdk/nodejs/memorydb/user.ts +++ b/sdk/nodejs/memorydb/user.ts @@ -69,11 +69,11 @@ export class User extends pulumi.CustomResource { } /** - * The access permissions string used for this user. + * Access permissions string used for this user. */ public readonly accessString!: pulumi.Output; /** - * The ARN of the user. + * ARN of the user. */ public /*out*/ readonly arn!: pulumi.Output; /** @@ -81,7 +81,7 @@ export class User extends pulumi.CustomResource { */ public readonly authenticationMode!: pulumi.Output; /** - * The minimum engine version supported for the user. + * Minimum engine version supported for the user. */ public /*out*/ readonly minimumEngineVersion!: pulumi.Output; /** @@ -150,11 +150,11 @@ export class User extends pulumi.CustomResource { */ export interface UserState { /** - * The access permissions string used for this user. + * Access permissions string used for this user. */ accessString?: pulumi.Input; /** - * The ARN of the user. + * ARN of the user. */ arn?: pulumi.Input; /** @@ -162,7 +162,7 @@ export interface UserState { */ authenticationMode?: pulumi.Input; /** - * The minimum engine version supported for the user. + * Minimum engine version supported for the user. */ minimumEngineVersion?: pulumi.Input; /** @@ -188,7 +188,7 @@ export interface UserState { */ export interface UserArgs { /** - * The access permissions string used for this user. + * Access permissions string used for this user. */ accessString: pulumi.Input; /** diff --git a/sdk/nodejs/rds/instance.ts b/sdk/nodejs/rds/instance.ts index 33d4996997b..c51c5437791 100644 --- a/sdk/nodejs/rds/instance.ts +++ b/sdk/nodejs/rds/instance.ts @@ -409,6 +409,10 @@ export class Instance extends pulumi.CustomResource { * for additional read replica constraints. */ public readonly dbSubnetGroupName!: pulumi.Output; + /** + * Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + */ + public readonly dedicatedLogVolume!: pulumi.Output; /** * Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. */ @@ -734,6 +738,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["customerOwnedIpEnabled"] = state ? state.customerOwnedIpEnabled : undefined; resourceInputs["dbName"] = state ? state.dbName : undefined; resourceInputs["dbSubnetGroupName"] = state ? state.dbSubnetGroupName : undefined; + resourceInputs["dedicatedLogVolume"] = state ? state.dedicatedLogVolume : undefined; resourceInputs["deleteAutomatedBackups"] = state ? state.deleteAutomatedBackups : undefined; resourceInputs["deletionProtection"] = state ? state.deletionProtection : undefined; resourceInputs["domain"] = state ? state.domain : undefined; @@ -815,6 +820,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["customerOwnedIpEnabled"] = args ? args.customerOwnedIpEnabled : undefined; resourceInputs["dbName"] = args ? args.dbName : undefined; resourceInputs["dbSubnetGroupName"] = args ? args.dbSubnetGroupName : undefined; + resourceInputs["dedicatedLogVolume"] = args ? args.dedicatedLogVolume : undefined; resourceInputs["deleteAutomatedBackups"] = args ? args.deleteAutomatedBackups : undefined; resourceInputs["deletionProtection"] = args ? args.deletionProtection : undefined; resourceInputs["domain"] = args ? args.domain : undefined; @@ -989,6 +995,10 @@ export interface InstanceState { * for additional read replica constraints. */ dbSubnetGroupName?: pulumi.Input; + /** + * Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + */ + dedicatedLogVolume?: pulumi.Input; /** * Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. */ @@ -1380,6 +1390,10 @@ export interface InstanceArgs { * for additional read replica constraints. */ dbSubnetGroupName?: pulumi.Input; + /** + * Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + */ + dedicatedLogVolume?: pulumi.Input; /** * Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. */ diff --git a/sdk/nodejs/sagemaker/appImageConfig.ts b/sdk/nodejs/sagemaker/appImageConfig.ts index e26feec6d0e..58c15c7a0af 100644 --- a/sdk/nodejs/sagemaker/appImageConfig.ts +++ b/sdk/nodejs/sagemaker/appImageConfig.ts @@ -12,39 +12,6 @@ import * as utilities from "../utilities"; * * ## Example Usage * - * ### Basic usage - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as aws from "@pulumi/aws"; - * - * const test = new aws.sagemaker.AppImageConfig("test", { - * appImageConfigName: "example", - * kernelGatewayImageConfig: { - * kernelSpec: { - * name: "example", - * }, - * }, - * }); - * ``` - * - * ### Default File System Config - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as aws from "@pulumi/aws"; - * - * const test = new aws.sagemaker.AppImageConfig("test", { - * appImageConfigName: "example", - * kernelGatewayImageConfig: { - * kernelSpec: { - * name: "example", - * }, - * fileSystemConfig: {}, - * }, - * }); - * ``` - * * ## Import * * Using `pulumi import`, import SageMaker App Image Configs using the `name`. For example: @@ -89,6 +56,13 @@ export class AppImageConfig extends pulumi.CustomResource { * The Amazon Resource Name (ARN) assigned by AWS to this App Image Config. */ public /*out*/ readonly arn!: pulumi.Output; + /** + * The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + */ + public readonly codeEditorAppImageConfig!: pulumi.Output; + /** + * The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + */ public readonly jupyterLabImageConfig!: pulumi.Output; /** * The configuration for the file system and kernels in a SageMaker image running as a KernelGateway app. See Kernel Gateway Image Config details below. @@ -120,6 +94,7 @@ export class AppImageConfig extends pulumi.CustomResource { const state = argsOrState as AppImageConfigState | undefined; resourceInputs["appImageConfigName"] = state ? state.appImageConfigName : undefined; resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["codeEditorAppImageConfig"] = state ? state.codeEditorAppImageConfig : undefined; resourceInputs["jupyterLabImageConfig"] = state ? state.jupyterLabImageConfig : undefined; resourceInputs["kernelGatewayImageConfig"] = state ? state.kernelGatewayImageConfig : undefined; resourceInputs["tags"] = state ? state.tags : undefined; @@ -130,6 +105,7 @@ export class AppImageConfig extends pulumi.CustomResource { throw new Error("Missing required property 'appImageConfigName'"); } resourceInputs["appImageConfigName"] = args ? args.appImageConfigName : undefined; + resourceInputs["codeEditorAppImageConfig"] = args ? args.codeEditorAppImageConfig : undefined; resourceInputs["jupyterLabImageConfig"] = args ? args.jupyterLabImageConfig : undefined; resourceInputs["kernelGatewayImageConfig"] = args ? args.kernelGatewayImageConfig : undefined; resourceInputs["tags"] = args ? args.tags : undefined; @@ -153,6 +129,13 @@ export interface AppImageConfigState { * The Amazon Resource Name (ARN) assigned by AWS to this App Image Config. */ arn?: pulumi.Input; + /** + * The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + */ + codeEditorAppImageConfig?: pulumi.Input; + /** + * The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + */ jupyterLabImageConfig?: pulumi.Input; /** * The configuration for the file system and kernels in a SageMaker image running as a KernelGateway app. See Kernel Gateway Image Config details below. @@ -178,6 +161,13 @@ export interface AppImageConfigArgs { * The name of the App Image Config. */ appImageConfigName: pulumi.Input; + /** + * The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + */ + codeEditorAppImageConfig?: pulumi.Input; + /** + * The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + */ jupyterLabImageConfig?: pulumi.Input; /** * The configuration for the file system and kernels in a SageMaker image running as a KernelGateway app. See Kernel Gateway Image Config details below. diff --git a/sdk/nodejs/sagemaker/domain.ts b/sdk/nodejs/sagemaker/domain.ts index 48478624f1b..adcd5b447c5 100644 --- a/sdk/nodejs/sagemaker/domain.ts +++ b/sdk/nodejs/sagemaker/domain.ts @@ -43,45 +43,6 @@ import * as utilities from "../utilities"; * }); * ``` * - * ### Using Custom Images - * - * ```typescript - * import * as pulumi from "@pulumi/pulumi"; - * import * as aws from "@pulumi/aws"; - * - * const example = new aws.sagemaker.Image("example", { - * imageName: "example", - * roleArn: exampleAwsIamRole.arn, - * }); - * const exampleAppImageConfig = new aws.sagemaker.AppImageConfig("example", { - * appImageConfigName: "example", - * kernelGatewayImageConfig: { - * kernelSpec: { - * name: "example", - * }, - * }, - * }); - * const exampleImageVersion = new aws.sagemaker.ImageVersion("example", { - * imageName: example.id, - * baseImage: "base-image", - * }); - * const exampleDomain = new aws.sagemaker.Domain("example", { - * domainName: "example", - * authMode: "IAM", - * vpcId: exampleAwsVpc.id, - * subnetIds: [exampleAwsSubnet.id], - * defaultUserSettings: { - * executionRole: exampleAwsIamRole.arn, - * kernelGatewayAppSettings: { - * customImages: [{ - * appImageConfigName: exampleAppImageConfig.appImageConfigName, - * imageName: exampleImageVersion.imageName, - * }], - * }, - * }, - * }); - * ``` - * * ## Import * * Using `pulumi import`, import SageMaker Domains using the `id`. For example: diff --git a/sdk/nodejs/transfer/server.ts b/sdk/nodejs/transfer/server.ts index e4edd1a8ec3..e6f37caa46b 100644 --- a/sdk/nodejs/transfer/server.ts +++ b/sdk/nodejs/transfer/server.ts @@ -255,6 +255,10 @@ export class Server extends pulumi.CustomResource { * * `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04` */ public readonly securityPolicyName!: pulumi.Output; + /** + * For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + */ + public readonly sftpAuthenticationMethods!: pulumi.Output; /** * A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. */ @@ -311,6 +315,7 @@ export class Server extends pulumi.CustomResource { resourceInputs["protocols"] = state ? state.protocols : undefined; resourceInputs["s3StorageOptions"] = state ? state.s3StorageOptions : undefined; resourceInputs["securityPolicyName"] = state ? state.securityPolicyName : undefined; + resourceInputs["sftpAuthenticationMethods"] = state ? state.sftpAuthenticationMethods : undefined; resourceInputs["structuredLogDestinations"] = state ? state.structuredLogDestinations : undefined; resourceInputs["tags"] = state ? state.tags : undefined; resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; @@ -335,6 +340,7 @@ export class Server extends pulumi.CustomResource { resourceInputs["protocols"] = args ? args.protocols : undefined; resourceInputs["s3StorageOptions"] = args ? args.s3StorageOptions : undefined; resourceInputs["securityPolicyName"] = args ? args.securityPolicyName : undefined; + resourceInputs["sftpAuthenticationMethods"] = args ? args.sftpAuthenticationMethods : undefined; resourceInputs["structuredLogDestinations"] = args ? args.structuredLogDestinations : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["url"] = args ? args.url : undefined; @@ -445,6 +451,10 @@ export interface ServerState { * * `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04` */ securityPolicyName?: pulumi.Input; + /** + * For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + */ + sftpAuthenticationMethods?: pulumi.Input; /** * A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. */ @@ -551,6 +561,10 @@ export interface ServerArgs { * * `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04` */ securityPolicyName?: pulumi.Input; + /** + * For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + */ + sftpAuthenticationMethods?: pulumi.Input; /** * A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. */ diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 3f1398fe19b..67e02443455 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -240,6 +240,12 @@ "batch/jobDefinition.ts", "batch/jobQueue.ts", "batch/schedulingPolicy.ts", + "bcmdata/export.ts", + "bcmdata/index.ts", + "bedrock/agentAgent.ts", + "bedrock/agentAgentActionGroup.ts", + "bedrock/agentAgentAlias.ts", + "bedrock/agentKnowledgeBase.ts", "bedrock/customModel.ts", "bedrock/getCustomModel.ts", "bedrock/getCustomModels.ts", @@ -1013,6 +1019,7 @@ "glacier/vault.ts", "glacier/vaultLock.ts", "globalaccelerator/accelerator.ts", + "globalaccelerator/crossAccountAttachment.ts", "globalaccelerator/customRoutingAccelerator.ts", "globalaccelerator/customRoutingEndpointGroup.ts", "globalaccelerator/customRoutingListener.ts", @@ -1115,6 +1122,7 @@ "iam/userPolicyAttachment.ts", "iam/virtualMfaDevice.ts", "identitystore/getGroup.ts", + "identitystore/getGroups.ts", "identitystore/getUser.ts", "identitystore/group.ts", "identitystore/groupMembership.ts", @@ -2108,6 +2116,7 @@ "verifiedaccess/trustProvider.ts", "verifiedpermissions/getPolicyStore.ts", "verifiedpermissions/index.ts", + "verifiedpermissions/policy.ts", "verifiedpermissions/policyStore.ts", "verifiedpermissions/policyTemplate.ts", "verifiedpermissions/schema.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index ebd71d14399..a0ab332f491 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -1044,6 +1044,10 @@ export interface ProviderEndpoint { * Use this to override the default service endpoint URL */ route53domains?: pulumi.Input; + /** + * Use this to override the default service endpoint URL + */ + route53profiles?: pulumi.Input; /** * Use this to override the default service endpoint URL */ @@ -4521,16 +4525,20 @@ export namespace appmesh { * Egress filter rules for the service mesh. */ egressFilter?: pulumi.Input; + /** + * The service discovery information for the service mesh. + */ + serviceDiscovery?: pulumi.Input; } export interface MeshSpecEgressFilter { - /** - * Egress filter type. By default, the type is `DROP_ALL`. - * Valid values are `ALLOW_ALL` and `DROP_ALL`. - */ type?: pulumi.Input; } + export interface MeshSpecServiceDiscovery { + ipPreference?: pulumi.Input; + } + export interface RouteSpec { /** * GRPC routing information for the route. @@ -8982,7 +8990,7 @@ export namespace batch { export interface JobDefinitionRetryStrategyEvaluateOnExit { /** - * Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + * Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. */ action: pulumi.Input; /** @@ -9050,7 +9058,387 @@ export namespace batch { } } +export namespace bcmdata { + export interface ExportExport { + /** + * Data query for this specific data export. See the `dataQuery` argument reference below. + */ + dataQueries?: pulumi.Input[]>; + /** + * Description for this specific data export. + */ + description?: pulumi.Input; + /** + * Destination configuration for this specific data export. See the `destinationConfigurations` argument reference below. + */ + destinationConfigurations?: pulumi.Input[]>; + /** + * Amazon Resource Name (ARN) for this export. + */ + exportArn?: pulumi.Input; + /** + * Name of this specific data export. + */ + name: pulumi.Input; + /** + * Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refreshCadence` argument reference below. + */ + refreshCadences?: pulumi.Input[]>; + } + + export interface ExportExportDataQuery { + /** + * Query statement. + */ + queryStatement: pulumi.Input; + /** + * Table configuration. + */ + tableConfigurations?: pulumi.Input<{[key: string]: pulumi.Input<{[key: string]: any}>}>; + } + + export interface ExportExportDestinationConfiguration { + /** + * Object that describes the destination of the data exports file. See the `s3Destination` argument reference below. + */ + s3Destinations?: pulumi.Input[]>; + } + + export interface ExportExportDestinationConfigurationS3Destination { + /** + * Name of the Amazon S3 bucket used as the destination of a data export file. + */ + s3Bucket: pulumi.Input; + /** + * Output configuration for the data export. See the `s3OutputConfigurations` argument reference below. + */ + s3OutputConfigurations?: pulumi.Input[]>; + /** + * S3 path prefix you want prepended to the name of your data export. + */ + s3Prefix: pulumi.Input; + /** + * S3 bucket region. + */ + s3Region: pulumi.Input; + } + + export interface ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration { + /** + * Compression type for the data export. Valid values `GZIP`, `PARQUET`. + */ + compression: pulumi.Input; + /** + * File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + */ + format: pulumi.Input; + /** + * Output type for the data export. Valid value `CUSTOM`. + */ + outputType: pulumi.Input; + /** + * The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + */ + overwrite: pulumi.Input; + } + + export interface ExportExportRefreshCadence { + /** + * Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + */ + frequency: pulumi.Input; + } + + export interface ExportTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + create?: pulumi.Input; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: pulumi.Input; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + update?: pulumi.Input; + } +} + export namespace bedrock { + export interface AgentAgentActionGroupActionGroupExecutor { + /** + * ARN of the Lambda that defines the business logic for the action group. + */ + lambda?: pulumi.Input; + } + + export interface AgentAgentActionGroupApiSchema { + /** + * YAML or JSON OpenAPI Schema. + */ + payload?: pulumi.Input; + /** + * Configuration of S3 schema location + */ + s3?: pulumi.Input; + } + + export interface AgentAgentActionGroupApiSchemaS3 { + /** + * The S3 bucket name that contains the OpenAPI Schema. + */ + s3BucketName?: pulumi.Input; + /** + * The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + * + * The following arguments are optional: + */ + s3ObjectKey?: pulumi.Input; + } + + export interface AgentAgentAliasRoutingConfiguration { + /** + * Version of the agent the alias routes to. + */ + agentVersion: pulumi.Input; + } + + export interface AgentAgentAliasTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.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 AgentAgentPromptOverrideConfiguration { + /** + * ARN of Lambda to use when parsing the raw foundation model output. + */ + overrideLambda: pulumi.Input; + /** + * List of prompt configurations. + * + * The following arguments are optional: + */ + promptConfigurations: pulumi.Input; + } + + export interface AgentAgentTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.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 AgentKnowledgeBaseKnowledgeBaseConfiguration { + /** + * The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + */ + type: pulumi.Input; + /** + * Contains details about the embeddings model that'sused to convert the data source. + */ + vectorKnowledgeBaseConfiguration?: pulumi.Input; + } + + export interface AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration { + /** + * The ARN of the model used to create vector embeddings for the knowledge base. + */ + embeddingModelArn: pulumi.Input; + } + + export interface AgentKnowledgeBaseStorageConfiguration { + /** + * Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + */ + opensearchServerlessConfiguration?: pulumi.Input; + /** + * Contains the storage configuration of the knowledge base in Pinecone. + */ + pineconeConfiguration?: pulumi.Input; + /** + * Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + */ + rdsConfiguration?: pulumi.Input; + /** + * Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + */ + redisEnterpriseCloudConfiguration?: pulumi.Input; + /** + * The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + */ + type: pulumi.Input; + } + + export interface AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration { + /** + * The ARN of the OpenSearch Service vector store. + */ + collectionArn: pulumi.Input; + /** + * Contains the names of the fields to which to map information about the vector store. + */ + fieldMapping?: pulumi.Input; + /** + * The name of the vector store. + */ + vectorIndexName: pulumi.Input; + } + + export interface AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping { + /** + * The name of the field in which Amazon Bedrock stores metadata about the vector store. + */ + metadataField?: pulumi.Input; + /** + * The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + */ + textField?: pulumi.Input; + /** + * The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + */ + vectorField?: pulumi.Input; + } + + export interface AgentKnowledgeBaseStorageConfigurationPineconeConfiguration { + /** + * The endpoint URL for your index management page. + */ + connectionString: pulumi.Input; + /** + * The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + */ + credentialsSecretArn: pulumi.Input; + /** + * Contains the names of the fields to which to map information about the vector store. + */ + fieldMapping?: pulumi.Input; + /** + * The namespace to be used to write new data to your database. + */ + namespace?: pulumi.Input; + } + + export interface AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping { + /** + * The name of the field in which Amazon Bedrock stores metadata about the vector store. + */ + metadataField?: pulumi.Input; + /** + * The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + */ + textField?: pulumi.Input; + } + + export interface AgentKnowledgeBaseStorageConfigurationRdsConfiguration { + /** + * The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + */ + credentialsSecretArn: pulumi.Input; + /** + * The name of your Amazon RDS database. + */ + databaseName: pulumi.Input; + /** + * Contains the names of the fields to which to map information about the vector store. + */ + fieldMapping?: pulumi.Input; + /** + * The namespace to be used to write new data to your database. + */ + resourceArn: pulumi.Input; + /** + * The name of the table in the database. + */ + tableName: pulumi.Input; + } + + export interface AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping { + /** + * The name of the field in which Amazon Bedrock stores metadata about the vector store. + */ + metadataField: pulumi.Input; + /** + * The name of the field in which Amazon Bedrock stores the ID for each entry. + */ + primaryKeyField: pulumi.Input; + /** + * The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + */ + textField: pulumi.Input; + /** + * The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + */ + vectorField: pulumi.Input; + } + + export interface AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration { + /** + * The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + */ + credentialsSecretArn: pulumi.Input; + /** + * The endpoint URL of the Redis Enterprise Cloud database. + */ + endpoint: pulumi.Input; + /** + * Contains the names of the fields to which to map information about the vector store. + */ + fieldMapping?: pulumi.Input; + /** + * The name of the vector store. + */ + vectorIndexName: pulumi.Input; + } + + export interface AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping { + /** + * The name of the field in which Amazon Bedrock stores metadata about the vector store. + */ + metadataField?: pulumi.Input; + /** + * The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + */ + textField?: pulumi.Input; + /** + * The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + */ + vectorField?: pulumi.Input; + } + + export interface AgentKnowledgeBaseTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.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 CustomModelOutputDataConfig { /** * The S3 URI where the output data is stored. @@ -14630,14 +15018,71 @@ export namespace costexplorer { } export interface CostCategoryRuleRuleAnd { + ands?: pulumi.Input[]>; costCategory?: pulumi.Input; dimension?: pulumi.Input; + not?: pulumi.Input; + ors?: pulumi.Input[]>; /** * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input; } + export interface CostCategoryRuleRuleAndAnd { + costCategory?: pulumi.Input; + dimension?: pulumi.Input; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input; + } + + export interface CostCategoryRuleRuleAndAndCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleAndAndDimension { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleAndAndTags { + /** + * Key for the tag. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + export interface CostCategoryRuleRuleAndCostCategory { /** * Unique name of the Cost Category. @@ -14668,6 +15113,114 @@ export namespace costexplorer { values?: pulumi.Input[]>; } + export interface CostCategoryRuleRuleAndNot { + costCategory?: pulumi.Input; + dimension?: pulumi.Input; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input; + } + + export interface CostCategoryRuleRuleAndNotCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleAndNotDimension { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleAndNotTags { + /** + * Key for the tag. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleAndOr { + costCategory?: pulumi.Input; + dimension?: pulumi.Input; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input; + } + + export interface CostCategoryRuleRuleAndOrCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleAndOrDimension { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleAndOrTags { + /** + * Key for the tag. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + export interface CostCategoryRuleRuleAndTags { /** * Key for the tag. @@ -14714,14 +15267,71 @@ export namespace costexplorer { } export interface CostCategoryRuleRuleNot { + ands?: pulumi.Input[]>; costCategory?: pulumi.Input; dimension?: pulumi.Input; + not?: pulumi.Input; + ors?: pulumi.Input[]>; /** * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input; } + export interface CostCategoryRuleRuleNotAnd { + costCategory?: pulumi.Input; + dimension?: pulumi.Input; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input; + } + + export interface CostCategoryRuleRuleNotAndCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleNotAndDimension { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleNotAndTags { + /** + * Key for the tag. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + export interface CostCategoryRuleRuleNotCostCategory { /** * Unique name of the Cost Category. @@ -14752,6 +15362,114 @@ export namespace costexplorer { values?: pulumi.Input[]>; } + export interface CostCategoryRuleRuleNotNot { + costCategory?: pulumi.Input; + dimension?: pulumi.Input; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input; + } + + export interface CostCategoryRuleRuleNotNotCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleNotNotDimension { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleNotNotTags { + /** + * Key for the tag. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleNotOr { + costCategory?: pulumi.Input; + dimension?: pulumi.Input; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input; + } + + export interface CostCategoryRuleRuleNotOrCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleNotOrDimension { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleNotOrTags { + /** + * Key for the tag. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + export interface CostCategoryRuleRuleNotTags { /** * Key for the tag. @@ -14768,14 +15486,71 @@ export namespace costexplorer { } export interface CostCategoryRuleRuleOr { + ands?: pulumi.Input[]>; costCategory?: pulumi.Input; dimension?: pulumi.Input; + not?: pulumi.Input; + ors?: pulumi.Input[]>; /** * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input; } + export interface CostCategoryRuleRuleOrAnd { + costCategory?: pulumi.Input; + dimension?: pulumi.Input; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input; + } + + export interface CostCategoryRuleRuleOrAndCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleOrAndDimension { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleOrAndTags { + /** + * Key for the tag. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + export interface CostCategoryRuleRuleOrCostCategory { /** * Unique name of the Cost Category. @@ -14806,6 +15581,114 @@ export namespace costexplorer { values?: pulumi.Input[]>; } + export interface CostCategoryRuleRuleOrNot { + costCategory?: pulumi.Input; + dimension?: pulumi.Input; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input; + } + + export interface CostCategoryRuleRuleOrNotCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleOrNotDimension { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleOrNotTags { + /** + * Key for the tag. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleOrOr { + costCategory?: pulumi.Input; + dimension?: pulumi.Input; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: pulumi.Input; + } + + export interface CostCategoryRuleRuleOrOrCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleOrOrDimension { + /** + * Unique name of the Cost Category. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + + export interface CostCategoryRuleRuleOrOrTags { + /** + * Key for the tag. + */ + key?: pulumi.Input; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: pulumi.Input[]>; + /** + * Specific value of the Cost Category. + */ + values?: pulumi.Input[]>; + } + export interface CostCategoryRuleRuleOrTags { /** * Key for the tag. @@ -27259,6 +28142,17 @@ export namespace globalaccelerator { ipFamily?: pulumi.Input; } + export interface CrossAccountAttachmentResource { + /** + * The endpoint ID for the endpoint that is specified as a AWS resource. + */ + endpointId?: pulumi.Input; + /** + * The AWS Region where a shared endpoint resource is located. + */ + region?: pulumi.Input; + } + export interface CustomRoutingAcceleratorAttributes { /** * Indicates whether flow logs are enabled. Defaults to `false`. Valid values: `true`, `false`. @@ -32831,7 +33725,176 @@ export namespace kinesis { roleArn: pulumi.Input; } - export interface FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationCloudwatchLoggingOptions { + export interface FirehoseDeliveryStreamOpensearchConfigurationS3ConfigurationCloudwatchLoggingOptions { + /** + * Enables or disables the logging. Defaults to `false`. + */ + enabled?: pulumi.Input; + /** + * The CloudWatch group name for logging. This value is required if `enabled` is true. + */ + logGroupName?: pulumi.Input; + /** + * The CloudWatch log stream name for logging. This value is required if `enabled` is true. + */ + logStreamName?: pulumi.Input; + } + + export interface FirehoseDeliveryStreamOpensearchConfigurationVpcConfig { + /** + * The ARN of the IAM role to be assumed by Firehose for calling the Amazon EC2 configuration API and for creating network interfaces. Make sure role has necessary [IAM permissions](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-es-vpc) + */ + roleArn: pulumi.Input; + /** + * A list of security group IDs to associate with Kinesis Firehose. + */ + securityGroupIds: pulumi.Input[]>; + /** + * A list of subnet IDs to associate with Kinesis Firehose. + */ + subnetIds: pulumi.Input[]>; + vpcId?: pulumi.Input; + } + + export interface FirehoseDeliveryStreamOpensearchserverlessConfiguration { + /** + * Buffer incoming data for the specified period of time, in seconds between 0 to 900, before delivering it to the destination. The default value is 300s. + */ + bufferingInterval?: pulumi.Input; + /** + * Buffer incoming data to the specified size, in MBs between 1 to 100, before delivering it to the destination. The default value is 5MB. + */ + bufferingSize?: pulumi.Input; + /** + * The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. + */ + cloudwatchLoggingOptions?: pulumi.Input; + /** + * The endpoint to use when communicating with the collection in the Serverless offering for Amazon OpenSearch Service. + */ + collectionEndpoint: pulumi.Input; + /** + * The Serverless offering for Amazon OpenSearch Service index name. + */ + indexName: pulumi.Input; + /** + * The data processing configuration. See `processingConfiguration` block below for details. + */ + processingConfiguration?: pulumi.Input; + /** + * After an initial failure to deliver to the Serverless offering for Amazon OpenSearch Service, the total amount of time, in seconds between 0 to 7200, during which Kinesis Data Firehose retries delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 300s. There will be no retry if the value is 0. + */ + retryDuration?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose for calling the Serverless offering for Amazon OpenSearch Service Configuration API and for indexing documents. The pattern needs to be `arn:.*`. + */ + roleArn: pulumi.Input; + /** + * Defines how documents should be delivered to Amazon S3. Valid values are `FailedDocumentsOnly` and `AllDocuments`. Default value is `FailedDocumentsOnly`. + */ + s3BackupMode?: pulumi.Input; + /** + * The S3 Configuration. See `s3Configuration` block below for details. + */ + s3Configuration: pulumi.Input; + /** + * The VPC configuration for the delivery stream to connect to OpenSearch Serverless associated with the VPC. See `vpcConfig` block below for details. + */ + vpcConfig?: pulumi.Input; + } + + export interface FirehoseDeliveryStreamOpensearchserverlessConfigurationCloudwatchLoggingOptions { + /** + * Enables or disables the logging. Defaults to `false`. + */ + enabled?: pulumi.Input; + /** + * The CloudWatch group name for logging. This value is required if `enabled` is true. + */ + logGroupName?: pulumi.Input; + /** + * The CloudWatch log stream name for logging. This value is required if `enabled` is true. + */ + logStreamName?: pulumi.Input; + } + + export interface FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfiguration { + /** + * Enables or disables data processing. + */ + enabled?: pulumi.Input; + /** + * Specifies the data processors as multiple blocks. See `processors` block below for details. + */ + processors?: pulumi.Input[]>; + } + + export interface FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessor { + /** + * Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + */ + parameters?: pulumi.Input[]>; + /** + * The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + */ + type: pulumi.Input; + } + + export interface FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameter { + /** + * Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + */ + parameterName: pulumi.Input; + /** + * Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + * + * > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + */ + parameterValue: pulumi.Input; + } + + export interface FirehoseDeliveryStreamOpensearchserverlessConfigurationS3Configuration { + /** + * The ARN of the S3 bucket + */ + bucketArn: pulumi.Input; + /** + * Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + */ + bufferingInterval?: pulumi.Input; + /** + * Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + * We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + */ + bufferingSize?: pulumi.Input; + /** + * The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. + */ + cloudwatchLoggingOptions?: pulumi.Input; + /** + * The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + */ + compressionFormat?: pulumi.Input; + /** + * Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + */ + errorOutputPrefix?: pulumi.Input; + /** + * Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + * be used. + */ + kmsKeyArn?: pulumi.Input; + /** + * The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + */ + prefix?: pulumi.Input; + /** + * The ARN of the AWS credentials. + */ + roleArn: pulumi.Input; + } + + export interface FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationCloudwatchLoggingOptions { /** * Enables or disables the logging. Defaults to `false`. */ @@ -32846,7 +33909,7 @@ export namespace kinesis { logStreamName?: pulumi.Input; } - export interface FirehoseDeliveryStreamOpensearchConfigurationVpcConfig { + export interface FirehoseDeliveryStreamOpensearchserverlessConfigurationVpcConfig { /** * The ARN of the IAM role to be assumed by Firehose for calling the Amazon EC2 configuration API and for creating network interfaces. Make sure role has necessary [IAM permissions](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-es-vpc) */ @@ -32862,54 +33925,62 @@ export namespace kinesis { vpcId?: pulumi.Input; } - export interface FirehoseDeliveryStreamOpensearchserverlessConfiguration { + export interface FirehoseDeliveryStreamRedshiftConfiguration { /** - * Buffer incoming data for the specified period of time, in seconds between 0 to 900, before delivering it to the destination. The default value is 300s. + * The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. */ - bufferingInterval?: pulumi.Input; + cloudwatchLoggingOptions?: pulumi.Input; /** - * Buffer incoming data to the specified size, in MBs between 1 to 100, before delivering it to the destination. The default value is 5MB. + * The jdbcurl of the redshift cluster. */ - bufferingSize?: pulumi.Input; + clusterJdbcurl: pulumi.Input; /** - * The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. + * Copy options for copying the data from the s3 intermediate bucket into redshift, for example to change the default delimiter. For valid values, see the [AWS documentation](http://docs.aws.amazon.com/firehose/latest/APIReference/API_CopyCommand.html) */ - cloudwatchLoggingOptions?: pulumi.Input; + copyOptions?: pulumi.Input; /** - * The endpoint to use when communicating with the collection in the Serverless offering for Amazon OpenSearch Service. + * The data table columns that will be targeted by the copy command. */ - collectionEndpoint: pulumi.Input; + dataTableColumns?: pulumi.Input; /** - * The Serverless offering for Amazon OpenSearch Service index name. + * The name of the table in the redshift cluster that the s3 bucket will copy to. */ - indexName: pulumi.Input; + dataTableName: pulumi.Input; + /** + * The password for the username above. + */ + password: pulumi.Input; /** * The data processing configuration. See `processingConfiguration` block below for details. */ - processingConfiguration?: pulumi.Input; + processingConfiguration?: pulumi.Input; /** - * After an initial failure to deliver to the Serverless offering for Amazon OpenSearch Service, the total amount of time, in seconds between 0 to 7200, during which Kinesis Data Firehose retries delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 300s. There will be no retry if the value is 0. + * The length of time during which Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Firehose does not retry if the value of DurationInSeconds is 0 (zero) or if the first delivery attempt takes longer than the current value. */ retryDuration?: pulumi.Input; /** - * The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose for calling the Serverless offering for Amazon OpenSearch Service Configuration API and for indexing documents. The pattern needs to be `arn:.*`. + * The arn of the role the stream assumes. */ roleArn: pulumi.Input; /** - * Defines how documents should be delivered to Amazon S3. Valid values are `FailedDocumentsOnly` and `AllDocuments`. Default value is `FailedDocumentsOnly`. + * The configuration for backup in Amazon S3. Required if `s3BackupMode` is `Enabled`. Supports the same fields as `s3Configuration` object. + */ + s3BackupConfiguration?: pulumi.Input; + /** + * The Amazon S3 backup mode. Valid values are `Disabled` and `Enabled`. Default value is `Disabled`. */ s3BackupMode?: pulumi.Input; /** - * The S3 Configuration. See `s3Configuration` block below for details. + * The S3 Configuration. See s3Configuration below for details. */ - s3Configuration: pulumi.Input; + s3Configuration: pulumi.Input; /** - * The VPC configuration for the delivery stream to connect to OpenSearch Serverless associated with the VPC. See `vpcConfig` block below for details. + * The username that the firehose delivery stream will assume. It is strongly recommended that the username and password provided is used exclusively for Amazon Kinesis Firehose purposes, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions. */ - vpcConfig?: pulumi.Input; + username: pulumi.Input; } - export interface FirehoseDeliveryStreamOpensearchserverlessConfigurationCloudwatchLoggingOptions { + export interface FirehoseDeliveryStreamRedshiftConfigurationCloudwatchLoggingOptions { /** * Enables or disables the logging. Defaults to `false`. */ @@ -32924,7 +33995,7 @@ export namespace kinesis { logStreamName?: pulumi.Input; } - export interface FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfiguration { + export interface FirehoseDeliveryStreamRedshiftConfigurationProcessingConfiguration { /** * Enables or disables data processing. */ @@ -32932,21 +34003,21 @@ export namespace kinesis { /** * Specifies the data processors as multiple blocks. See `processors` block below for details. */ - processors?: pulumi.Input[]>; + processors?: pulumi.Input[]>; } - export interface FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessor { + export interface FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessor { /** * Specifies the processor parameters as multiple blocks. See `parameters` block below for details. */ - parameters?: pulumi.Input[]>; + parameters?: pulumi.Input[]>; /** * The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. */ type: pulumi.Input; } - export interface FirehoseDeliveryStreamOpensearchserverlessConfigurationProcessingConfigurationProcessorParameter { + export interface FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessorParameter { /** * Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. */ @@ -32959,7 +34030,34 @@ export namespace kinesis { parameterValue: pulumi.Input; } - export interface FirehoseDeliveryStreamOpensearchserverlessConfigurationS3Configuration { + export interface FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfiguration { + bucketArn: pulumi.Input; + bufferingInterval?: pulumi.Input; + bufferingSize?: pulumi.Input; + cloudwatchLoggingOptions?: pulumi.Input; + compressionFormat?: pulumi.Input; + errorOutputPrefix?: pulumi.Input; + kmsKeyArn?: pulumi.Input; + prefix?: pulumi.Input; + roleArn: pulumi.Input; + } + + export interface FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationCloudwatchLoggingOptions { + /** + * Enables or disables the logging. Defaults to `false`. + */ + enabled?: pulumi.Input; + /** + * The CloudWatch group name for logging. This value is required if `enabled` is true. + */ + logGroupName?: pulumi.Input; + /** + * The CloudWatch log stream name for logging. This value is required if `enabled` is true. + */ + logStreamName?: pulumi.Input; + } + + export interface FirehoseDeliveryStreamRedshiftConfigurationS3Configuration { /** * The ARN of the S3 bucket */ @@ -32976,7 +34074,7 @@ export namespace kinesis { /** * The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. */ - cloudwatchLoggingOptions?: pulumi.Input; + cloudwatchLoggingOptions?: pulumi.Input; /** * The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. */ @@ -33000,7 +34098,7 @@ export namespace kinesis { roleArn: pulumi.Input; } - export interface FirehoseDeliveryStreamOpensearchserverlessConfigurationS3ConfigurationCloudwatchLoggingOptions { + export interface FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationCloudwatchLoggingOptions { /** * Enables or disables the logging. Defaults to `false`. */ @@ -33015,78 +34113,97 @@ export namespace kinesis { logStreamName?: pulumi.Input; } - export interface FirehoseDeliveryStreamOpensearchserverlessConfigurationVpcConfig { + export interface FirehoseDeliveryStreamServerSideEncryption { /** - * The ARN of the IAM role to be assumed by Firehose for calling the Amazon EC2 configuration API and for creating network interfaces. Make sure role has necessary [IAM permissions](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html#using-iam-es-vpc) + * Whether to enable encryption at rest. Default is `false`. */ - roleArn: pulumi.Input; + enabled?: pulumi.Input; /** - * A list of security group IDs to associate with Kinesis Firehose. + * Amazon Resource Name (ARN) of the encryption key. Required when `keyType` is `CUSTOMER_MANAGED_CMK`. */ - securityGroupIds: pulumi.Input[]>; + keyArn?: pulumi.Input; /** - * A list of subnet IDs to associate with Kinesis Firehose. + * Type of encryption key. Default is `AWS_OWNED_CMK`. Valid values are `AWS_OWNED_CMK` and `CUSTOMER_MANAGED_CMK` */ - subnetIds: pulumi.Input[]>; - vpcId?: pulumi.Input; + keyType?: pulumi.Input; } - export interface FirehoseDeliveryStreamRedshiftConfiguration { + export interface FirehoseDeliveryStreamSnowflakeConfiguration { + /** + * The URL of the Snowflake account. Format: https://[accountIdentifier].snowflakecomputing.com. + */ + accountUrl: pulumi.Input; /** * The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. */ - cloudwatchLoggingOptions?: pulumi.Input; + cloudwatchLoggingOptions?: pulumi.Input; /** - * The jdbcurl of the redshift cluster. + * The name of the content column. */ - clusterJdbcurl: pulumi.Input; + contentColumnName?: pulumi.Input; /** - * Copy options for copying the data from the s3 intermediate bucket into redshift, for example to change the default delimiter. For valid values, see the [AWS documentation](http://docs.aws.amazon.com/firehose/latest/APIReference/API_CopyCommand.html) + * The data loading option. */ - copyOptions?: pulumi.Input; + dataLoadingOption?: pulumi.Input; /** - * The data table columns that will be targeted by the copy command. + * The Snowflake database name. */ - dataTableColumns?: pulumi.Input; + database: pulumi.Input; /** - * The name of the table in the redshift cluster that the s3 bucket will copy to. + * The passphrase for the private key. */ - dataTableName: pulumi.Input; + keyPassphrase?: pulumi.Input; /** - * The password for the username above. + * The name of the metadata column. */ - password: pulumi.Input; + metadataColumnName?: pulumi.Input; /** - * The data processing configuration. See `processingConfiguration` block below for details. + * The private key for authentication. */ - processingConfiguration?: pulumi.Input; + privateKey: pulumi.Input; /** - * The length of time during which Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Firehose does not retry if the value of DurationInSeconds is 0 (zero) or if the first delivery attempt takes longer than the current value. + * The processing configuration. See `processingConfiguration` block below for details. + */ + processingConfiguration?: pulumi.Input; + /** + * After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. */ retryDuration?: pulumi.Input; /** - * The arn of the role the stream assumes. + * The ARN of the IAM role. */ roleArn: pulumi.Input; /** - * The configuration for backup in Amazon S3. Required if `s3BackupMode` is `Enabled`. Supports the same fields as `s3Configuration` object. + * The S3 backup mode. */ - s3BackupConfiguration?: pulumi.Input; + s3BackupMode?: pulumi.Input; /** - * The Amazon S3 backup mode. Valid values are `Disabled` and `Enabled`. Default value is `Disabled`. + * The S3 configuration. See `s3Configuration` block below for details. */ - s3BackupMode?: pulumi.Input; + s3Configuration: pulumi.Input; /** - * The S3 Configuration. See s3Configuration below for details. + * The Snowflake schema name. */ - s3Configuration: pulumi.Input; + schema: pulumi.Input; /** - * The username that the firehose delivery stream will assume. It is strongly recommended that the username and password provided is used exclusively for Amazon Kinesis Firehose purposes, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions. + * The configuration for Snowflake role. */ - username: pulumi.Input; + snowflakeRoleConfiguration?: pulumi.Input; + /** + * The VPC configuration for Snowflake. + */ + snowflakeVpcConfiguration?: pulumi.Input; + /** + * The Snowflake table name. + */ + table: pulumi.Input; + /** + * The user for authentication. + */ + user: pulumi.Input; } - export interface FirehoseDeliveryStreamRedshiftConfigurationCloudwatchLoggingOptions { + export interface FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions { /** * Enables or disables the logging. Defaults to `false`. */ @@ -33101,7 +34218,7 @@ export namespace kinesis { logStreamName?: pulumi.Input; } - export interface FirehoseDeliveryStreamRedshiftConfigurationProcessingConfiguration { + export interface FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration { /** * Enables or disables data processing. */ @@ -33109,21 +34226,21 @@ export namespace kinesis { /** * Specifies the data processors as multiple blocks. See `processors` block below for details. */ - processors?: pulumi.Input[]>; + processors?: pulumi.Input[]>; } - export interface FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessor { + export interface FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor { /** * Specifies the processor parameters as multiple blocks. See `parameters` block below for details. */ - parameters?: pulumi.Input[]>; + parameters?: pulumi.Input[]>; /** * The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. */ type: pulumi.Input; } - export interface FirehoseDeliveryStreamRedshiftConfigurationProcessingConfigurationProcessorParameter { + export interface FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter { /** * Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. */ @@ -33136,34 +34253,7 @@ export namespace kinesis { parameterValue: pulumi.Input; } - export interface FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfiguration { - bucketArn: pulumi.Input; - bufferingInterval?: pulumi.Input; - bufferingSize?: pulumi.Input; - cloudwatchLoggingOptions?: pulumi.Input; - compressionFormat?: pulumi.Input; - errorOutputPrefix?: pulumi.Input; - kmsKeyArn?: pulumi.Input; - prefix?: pulumi.Input; - roleArn: pulumi.Input; - } - - export interface FirehoseDeliveryStreamRedshiftConfigurationS3BackupConfigurationCloudwatchLoggingOptions { - /** - * Enables or disables the logging. Defaults to `false`. - */ - enabled?: pulumi.Input; - /** - * The CloudWatch group name for logging. This value is required if `enabled` is true. - */ - logGroupName?: pulumi.Input; - /** - * The CloudWatch log stream name for logging. This value is required if `enabled` is true. - */ - logStreamName?: pulumi.Input; - } - - export interface FirehoseDeliveryStreamRedshiftConfigurationS3Configuration { + export interface FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration { /** * The ARN of the S3 bucket */ @@ -33180,7 +34270,7 @@ export namespace kinesis { /** * The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. */ - cloudwatchLoggingOptions?: pulumi.Input; + cloudwatchLoggingOptions?: pulumi.Input; /** * The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. */ @@ -33204,7 +34294,7 @@ export namespace kinesis { roleArn: pulumi.Input; } - export interface FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationCloudwatchLoggingOptions { + export interface FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions { /** * Enables or disables the logging. Defaults to `false`. */ @@ -33219,19 +34309,22 @@ export namespace kinesis { logStreamName?: pulumi.Input; } - export interface FirehoseDeliveryStreamServerSideEncryption { + export interface FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration { /** - * Whether to enable encryption at rest. Default is `false`. + * Whether the Snowflake role is enabled. */ enabled?: pulumi.Input; /** - * Amazon Resource Name (ARN) of the encryption key. Required when `keyType` is `CUSTOMER_MANAGED_CMK`. + * The Snowflake role. */ - keyArn?: pulumi.Input; + snowflakeRole?: pulumi.Input; + } + + export interface FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration { /** - * Type of encryption key. Default is `AWS_OWNED_CMK`. Valid values are `AWS_OWNED_CMK` and `CUSTOMER_MANAGED_CMK` + * The VPCE ID for Firehose to privately connect with Snowflake. */ - keyType?: pulumi.Input; + privateLinkVpceId: pulumi.Input; } export interface FirehoseDeliveryStreamSplunkConfiguration { @@ -50086,15 +51179,15 @@ export namespace memorydb { export interface UserAuthenticationMode { /** - * The number of passwords belonging to the user. + * Number of passwords belonging to the user if `type` is set to `password`. */ passwordCount?: pulumi.Input; /** - * The set of passwords used for authentication. You can create up to two passwords for each user. + * Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. */ - passwords: pulumi.Input[]>; + passwords?: pulumi.Input[]>; /** - * Indicates whether the user requires a password to authenticate. Must be set to `password`. + * Specifies the authentication type. Valid values are: `password` or `iam`. */ type: pulumi.Input; } @@ -59617,11 +60710,58 @@ export namespace s3outposts { } export namespace sagemaker { + export interface AppImageConfigCodeEditorAppImageConfig { + /** + * The configuration used to run the application image container. See Container Config details below. + */ + containerConfig?: pulumi.Input; + /** + * The URL where the Git repository is located. See File System Config details below. + */ + fileSystemConfig?: pulumi.Input; + } + + export interface AppImageConfigCodeEditorAppImageConfigContainerConfig { + /** + * The arguments for the container when you're running the application. + */ + containerArguments?: pulumi.Input[]>; + /** + * The entrypoint used to run the application in the container. + */ + containerEntrypoints?: pulumi.Input[]>; + /** + * The environment variables to set in the container. + */ + containerEnvironmentVariables?: pulumi.Input<{[key: string]: pulumi.Input}>; + } + + export interface AppImageConfigCodeEditorAppImageConfigFileSystemConfig { + /** + * The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + */ + defaultGid?: pulumi.Input; + /** + * The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + */ + defaultUid?: pulumi.Input; + /** + * The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `defaultGid` and `defaultUid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + */ + mountPath?: pulumi.Input; + } + export interface AppImageConfigJupyterLabImageConfig { /** * The configuration used to run the application image container. See Container Config details below. */ containerConfig?: pulumi.Input; + /** + * The URL where the Git repository is located. See File System Config details below. + */ + fileSystemConfig?: pulumi.Input; } export interface AppImageConfigJupyterLabImageConfigContainerConfig { @@ -59639,6 +60779,23 @@ export namespace sagemaker { containerEnvironmentVariables?: pulumi.Input<{[key: string]: pulumi.Input}>; } + export interface AppImageConfigJupyterLabImageConfigFileSystemConfig { + /** + * The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + */ + defaultGid?: pulumi.Input; + /** + * The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + */ + defaultUid?: pulumi.Input; + /** + * The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `defaultGid` and `defaultUid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + */ + mountPath?: pulumi.Input; + } + export interface AppImageConfigKernelGatewayImageConfig { /** * The URL where the Git repository is located. See File System Config details below. @@ -66946,6 +68103,65 @@ export namespace verifiedaccess { } export namespace verifiedpermissions { + export interface PolicyDefinition { + /** + * The static policy statement. See Static below. + */ + static?: pulumi.Input; + /** + * The template linked policy. See Template Linked below. + */ + templateLinked?: pulumi.Input; + } + + export interface PolicyDefinitionStatic { + /** + * The description of the static policy. + */ + description?: pulumi.Input; + /** + * The statement of the static policy. + */ + statement: pulumi.Input; + } + + export interface PolicyDefinitionTemplateLinked { + /** + * The ID of the template. + */ + policyTemplateId: pulumi.Input; + /** + * The principal of the template linked policy. + */ + principal?: pulumi.Input; + /** + * The resource of the template linked policy. + */ + resource?: pulumi.Input; + } + + export interface PolicyDefinitionTemplateLinkedPrincipal { + /** + * The entity ID of the principal. + */ + entityId: pulumi.Input; + /** + * The entity type of the principal. + */ + entityType: pulumi.Input; + } + + export interface PolicyDefinitionTemplateLinkedResource { + /** + * The entity ID of the resource. + */ + entityId: pulumi.Input; + /** + * The entity type of the resource. + */ + entityType: pulumi.Input; + } + export interface PolicyStoreValidationSettings { /** * The mode for the validation settings. Valid values: `OFF`, `STRICT`. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 6ba813e60f8..2f666e5c1af 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -3737,12 +3737,17 @@ export namespace appmesh { export interface GetMeshSpec { egressFilters: outputs.appmesh.GetMeshSpecEgressFilter[]; + serviceDiscoveries: outputs.appmesh.GetMeshSpecServiceDiscovery[]; } export interface GetMeshSpecEgressFilter { type: string; } + export interface GetMeshSpecServiceDiscovery { + ipPreference: string; + } + export interface GetRouteSpec { grpcRoutes: outputs.appmesh.GetRouteSpecGrpcRoute[]; http2Routes: outputs.appmesh.GetRouteSpecHttp2Route[]; @@ -4607,16 +4612,20 @@ export namespace appmesh { * Egress filter rules for the service mesh. */ egressFilter?: outputs.appmesh.MeshSpecEgressFilter; + /** + * The service discovery information for the service mesh. + */ + serviceDiscovery?: outputs.appmesh.MeshSpecServiceDiscovery; } export interface MeshSpecEgressFilter { - /** - * Egress filter type. By default, the type is `DROP_ALL`. - * Valid values are `ALLOW_ALL` and `DROP_ALL`. - */ type?: string; } + export interface MeshSpecServiceDiscovery { + ipPreference?: string; + } + export interface RouteSpec { /** * GRPC routing information for the route. @@ -9555,7 +9564,7 @@ export namespace batch { export interface JobDefinitionRetryStrategyEvaluateOnExit { /** - * Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + * Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. */ action: string; /** @@ -9624,7 +9633,388 @@ export namespace batch { } +export namespace bcmdata { + export interface ExportExport { + /** + * Data query for this specific data export. See the `dataQuery` argument reference below. + */ + dataQueries?: outputs.bcmdata.ExportExportDataQuery[]; + /** + * Description for this specific data export. + */ + description?: string; + /** + * Destination configuration for this specific data export. See the `destinationConfigurations` argument reference below. + */ + destinationConfigurations?: outputs.bcmdata.ExportExportDestinationConfiguration[]; + /** + * Amazon Resource Name (ARN) for this export. + */ + exportArn: string; + /** + * Name of this specific data export. + */ + name: string; + /** + * Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refreshCadence` argument reference below. + */ + refreshCadences?: outputs.bcmdata.ExportExportRefreshCadence[]; + } + + export interface ExportExportDataQuery { + /** + * Query statement. + */ + queryStatement: string; + /** + * Table configuration. + */ + tableConfigurations?: {[key: string]: {[key: string]: any}}; + } + + export interface ExportExportDestinationConfiguration { + /** + * Object that describes the destination of the data exports file. See the `s3Destination` argument reference below. + */ + s3Destinations?: outputs.bcmdata.ExportExportDestinationConfigurationS3Destination[]; + } + + export interface ExportExportDestinationConfigurationS3Destination { + /** + * Name of the Amazon S3 bucket used as the destination of a data export file. + */ + s3Bucket: string; + /** + * Output configuration for the data export. See the `s3OutputConfigurations` argument reference below. + */ + s3OutputConfigurations?: outputs.bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration[]; + /** + * S3 path prefix you want prepended to the name of your data export. + */ + s3Prefix: string; + /** + * S3 bucket region. + */ + s3Region: string; + } + + export interface ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration { + /** + * Compression type for the data export. Valid values `GZIP`, `PARQUET`. + */ + compression: string; + /** + * File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + */ + format: string; + /** + * Output type for the data export. Valid value `CUSTOM`. + */ + outputType: string; + /** + * The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + */ + overwrite: string; + } + + export interface ExportExportRefreshCadence { + /** + * Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + */ + frequency: string; + } + + export interface ExportTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + create?: string; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: string; + /** + * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + */ + update?: string; + } + +} + export namespace bedrock { + export interface AgentAgentActionGroupActionGroupExecutor { + /** + * ARN of the Lambda that defines the business logic for the action group. + */ + lambda?: string; + } + + export interface AgentAgentActionGroupApiSchema { + /** + * YAML or JSON OpenAPI Schema. + */ + payload?: string; + /** + * Configuration of S3 schema location + */ + s3?: outputs.bedrock.AgentAgentActionGroupApiSchemaS3; + } + + export interface AgentAgentActionGroupApiSchemaS3 { + /** + * The S3 bucket name that contains the OpenAPI Schema. + */ + s3BucketName?: string; + /** + * The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + * + * The following arguments are optional: + */ + s3ObjectKey?: string; + } + + export interface AgentAgentAliasRoutingConfiguration { + /** + * Version of the agent the alias routes to. + */ + agentVersion: string; + } + + export interface AgentAgentAliasTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.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 AgentAgentPromptOverrideConfiguration { + /** + * ARN of Lambda to use when parsing the raw foundation model output. + */ + overrideLambda: string; + /** + * List of prompt configurations. + * + * The following arguments are optional: + */ + promptConfigurations: any[]; + } + + export interface AgentAgentTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.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 AgentKnowledgeBaseKnowledgeBaseConfiguration { + /** + * The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + */ + type: string; + /** + * Contains details about the embeddings model that'sused to convert the data source. + */ + vectorKnowledgeBaseConfiguration?: outputs.bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration; + } + + export interface AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration { + /** + * The ARN of the model used to create vector embeddings for the knowledge base. + */ + embeddingModelArn: string; + } + + export interface AgentKnowledgeBaseStorageConfiguration { + /** + * Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + */ + opensearchServerlessConfiguration?: outputs.bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration; + /** + * Contains the storage configuration of the knowledge base in Pinecone. + */ + pineconeConfiguration?: outputs.bedrock.AgentKnowledgeBaseStorageConfigurationPineconeConfiguration; + /** + * Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + */ + rdsConfiguration?: outputs.bedrock.AgentKnowledgeBaseStorageConfigurationRdsConfiguration; + /** + * Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + */ + redisEnterpriseCloudConfiguration?: outputs.bedrock.AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration; + /** + * The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + */ + type: string; + } + + export interface AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration { + /** + * The ARN of the OpenSearch Service vector store. + */ + collectionArn: string; + /** + * Contains the names of the fields to which to map information about the vector store. + */ + fieldMapping?: outputs.bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping; + /** + * The name of the vector store. + */ + vectorIndexName: string; + } + + export interface AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping { + /** + * The name of the field in which Amazon Bedrock stores metadata about the vector store. + */ + metadataField?: string; + /** + * The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + */ + textField?: string; + /** + * The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + */ + vectorField?: string; + } + + export interface AgentKnowledgeBaseStorageConfigurationPineconeConfiguration { + /** + * The endpoint URL for your index management page. + */ + connectionString: string; + /** + * The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + */ + credentialsSecretArn: string; + /** + * Contains the names of the fields to which to map information about the vector store. + */ + fieldMapping?: outputs.bedrock.AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping; + /** + * The namespace to be used to write new data to your database. + */ + namespace?: string; + } + + export interface AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping { + /** + * The name of the field in which Amazon Bedrock stores metadata about the vector store. + */ + metadataField?: string; + /** + * The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + */ + textField?: string; + } + + export interface AgentKnowledgeBaseStorageConfigurationRdsConfiguration { + /** + * The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + */ + credentialsSecretArn: string; + /** + * The name of your Amazon RDS database. + */ + databaseName: string; + /** + * Contains the names of the fields to which to map information about the vector store. + */ + fieldMapping?: outputs.bedrock.AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping; + /** + * The namespace to be used to write new data to your database. + */ + resourceArn: string; + /** + * The name of the table in the database. + */ + tableName: string; + } + + export interface AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping { + /** + * The name of the field in which Amazon Bedrock stores metadata about the vector store. + */ + metadataField: string; + /** + * The name of the field in which Amazon Bedrock stores the ID for each entry. + */ + primaryKeyField: string; + /** + * The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + */ + textField: string; + /** + * The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + */ + vectorField: string; + } + + export interface AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration { + /** + * The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + */ + credentialsSecretArn: string; + /** + * The endpoint URL of the Redis Enterprise Cloud database. + */ + endpoint: string; + /** + * Contains the names of the fields to which to map information about the vector store. + */ + fieldMapping?: outputs.bedrock.AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping; + /** + * The name of the vector store. + */ + vectorIndexName: string; + } + + export interface AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping { + /** + * The name of the field in which Amazon Bedrock stores metadata about the vector store. + */ + metadataField?: string; + /** + * The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + */ + textField?: string; + /** + * The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + */ + vectorField?: string; + } + + export interface AgentKnowledgeBaseTimeouts { + /** + * A string that can be [parsed as a duration](https://pkg.go.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 CustomModelOutputDataConfig { /** * The S3 URI where the output data is stored. @@ -15940,6 +16330,10 @@ export namespace config { * Use this to override the default service endpoint URL */ route53domains?: string; + /** + * Use this to override the default service endpoint URL + */ + route53profiles?: string; /** * Use this to override the default service endpoint URL */ @@ -17422,14 +17816,71 @@ export namespace costexplorer { } export interface CostCategoryRuleRuleAnd { + ands?: outputs.costexplorer.CostCategoryRuleRuleAndAnd[]; costCategory?: outputs.costexplorer.CostCategoryRuleRuleAndCostCategory; dimension?: outputs.costexplorer.CostCategoryRuleRuleAndDimension; + not?: outputs.costexplorer.CostCategoryRuleRuleAndNot; + ors?: outputs.costexplorer.CostCategoryRuleRuleAndOr[]; /** * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: outputs.costexplorer.CostCategoryRuleRuleAndTags; } + export interface CostCategoryRuleRuleAndAnd { + costCategory?: outputs.costexplorer.CostCategoryRuleRuleAndAndCostCategory; + dimension?: outputs.costexplorer.CostCategoryRuleRuleAndAndDimension; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: outputs.costexplorer.CostCategoryRuleRuleAndAndTags; + } + + export interface CostCategoryRuleRuleAndAndCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleAndAndDimension { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleAndAndTags { + /** + * Key for the tag. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + export interface CostCategoryRuleRuleAndCostCategory { /** * Unique name of the Cost Category. @@ -17460,6 +17911,114 @@ export namespace costexplorer { values?: string[]; } + export interface CostCategoryRuleRuleAndNot { + costCategory?: outputs.costexplorer.CostCategoryRuleRuleAndNotCostCategory; + dimension?: outputs.costexplorer.CostCategoryRuleRuleAndNotDimension; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: outputs.costexplorer.CostCategoryRuleRuleAndNotTags; + } + + export interface CostCategoryRuleRuleAndNotCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleAndNotDimension { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleAndNotTags { + /** + * Key for the tag. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleAndOr { + costCategory?: outputs.costexplorer.CostCategoryRuleRuleAndOrCostCategory; + dimension?: outputs.costexplorer.CostCategoryRuleRuleAndOrDimension; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: outputs.costexplorer.CostCategoryRuleRuleAndOrTags; + } + + export interface CostCategoryRuleRuleAndOrCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleAndOrDimension { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleAndOrTags { + /** + * Key for the tag. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + export interface CostCategoryRuleRuleAndTags { /** * Key for the tag. @@ -17506,14 +18065,71 @@ export namespace costexplorer { } export interface CostCategoryRuleRuleNot { + ands?: outputs.costexplorer.CostCategoryRuleRuleNotAnd[]; costCategory?: outputs.costexplorer.CostCategoryRuleRuleNotCostCategory; dimension?: outputs.costexplorer.CostCategoryRuleRuleNotDimension; + not?: outputs.costexplorer.CostCategoryRuleRuleNotNot; + ors?: outputs.costexplorer.CostCategoryRuleRuleNotOr[]; /** * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: outputs.costexplorer.CostCategoryRuleRuleNotTags; } + export interface CostCategoryRuleRuleNotAnd { + costCategory?: outputs.costexplorer.CostCategoryRuleRuleNotAndCostCategory; + dimension?: outputs.costexplorer.CostCategoryRuleRuleNotAndDimension; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: outputs.costexplorer.CostCategoryRuleRuleNotAndTags; + } + + export interface CostCategoryRuleRuleNotAndCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleNotAndDimension { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleNotAndTags { + /** + * Key for the tag. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + export interface CostCategoryRuleRuleNotCostCategory { /** * Unique name of the Cost Category. @@ -17544,6 +18160,114 @@ export namespace costexplorer { values?: string[]; } + export interface CostCategoryRuleRuleNotNot { + costCategory?: outputs.costexplorer.CostCategoryRuleRuleNotNotCostCategory; + dimension?: outputs.costexplorer.CostCategoryRuleRuleNotNotDimension; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: outputs.costexplorer.CostCategoryRuleRuleNotNotTags; + } + + export interface CostCategoryRuleRuleNotNotCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleNotNotDimension { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleNotNotTags { + /** + * Key for the tag. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleNotOr { + costCategory?: outputs.costexplorer.CostCategoryRuleRuleNotOrCostCategory; + dimension?: outputs.costexplorer.CostCategoryRuleRuleNotOrDimension; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: outputs.costexplorer.CostCategoryRuleRuleNotOrTags; + } + + export interface CostCategoryRuleRuleNotOrCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleNotOrDimension { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleNotOrTags { + /** + * Key for the tag. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + export interface CostCategoryRuleRuleNotTags { /** * Key for the tag. @@ -17560,14 +18284,71 @@ export namespace costexplorer { } export interface CostCategoryRuleRuleOr { + ands?: outputs.costexplorer.CostCategoryRuleRuleOrAnd[]; costCategory?: outputs.costexplorer.CostCategoryRuleRuleOrCostCategory; dimension?: outputs.costexplorer.CostCategoryRuleRuleOrDimension; + not?: outputs.costexplorer.CostCategoryRuleRuleOrNot; + ors?: outputs.costexplorer.CostCategoryRuleRuleOrOr[]; /** * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: outputs.costexplorer.CostCategoryRuleRuleOrTags; } + export interface CostCategoryRuleRuleOrAnd { + costCategory?: outputs.costexplorer.CostCategoryRuleRuleOrAndCostCategory; + dimension?: outputs.costexplorer.CostCategoryRuleRuleOrAndDimension; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: outputs.costexplorer.CostCategoryRuleRuleOrAndTags; + } + + export interface CostCategoryRuleRuleOrAndCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleOrAndDimension { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleOrAndTags { + /** + * Key for the tag. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + export interface CostCategoryRuleRuleOrCostCategory { /** * Unique name of the Cost Category. @@ -17598,6 +18379,114 @@ export namespace costexplorer { values?: string[]; } + export interface CostCategoryRuleRuleOrNot { + costCategory?: outputs.costexplorer.CostCategoryRuleRuleOrNotCostCategory; + dimension?: outputs.costexplorer.CostCategoryRuleRuleOrNotDimension; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: outputs.costexplorer.CostCategoryRuleRuleOrNotTags; + } + + export interface CostCategoryRuleRuleOrNotCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleOrNotDimension { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleOrNotTags { + /** + * Key for the tag. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleOrOr { + costCategory?: outputs.costexplorer.CostCategoryRuleRuleOrOrCostCategory; + dimension?: outputs.costexplorer.CostCategoryRuleRuleOrOrDimension; + /** + * Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + */ + tags?: outputs.costexplorer.CostCategoryRuleRuleOrOrTags; + } + + export interface CostCategoryRuleRuleOrOrCostCategory { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleOrOrDimension { + /** + * Unique name of the Cost Category. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + + export interface CostCategoryRuleRuleOrOrTags { + /** + * Key for the tag. + */ + key?: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions?: string[]; + /** + * Specific value of the Cost Category. + */ + values?: string[]; + } + export interface CostCategoryRuleRuleOrTags { /** * Key for the tag. @@ -17716,6 +18605,10 @@ export namespace costexplorer { } export interface GetCostCategoryRuleRuleAnd { + /** + * Return results that match both `Dimension` objects. + */ + ands: outputs.costexplorer.GetCostCategoryRuleRuleAndAnd[]; /** * Configuration block for the filter that's based on `CostCategory` values. See below. */ @@ -17724,12 +18617,80 @@ export namespace costexplorer { * Configuration block for the specific `Dimension` to use for `Expression`. See below. */ dimensions: outputs.costexplorer.GetCostCategoryRuleRuleAndDimension[]; + /** + * Return results that do not match the `Dimension` object. + */ + nots: outputs.costexplorer.GetCostCategoryRuleRuleAndNot[]; + /** + * Return results that match either `Dimension` object. + */ + ors: outputs.costexplorer.GetCostCategoryRuleRuleAndOr[]; /** * Configuration block for the specific `Tag` to use for `Expression`. See below. */ tags: outputs.costexplorer.GetCostCategoryRuleRuleAndTag[]; } + export interface GetCostCategoryRuleRuleAndAnd { + /** + * Configuration block for the filter that's based on `CostCategory` values. See below. + */ + costCategories: outputs.costexplorer.GetCostCategoryRuleRuleAndAndCostCategory[]; + /** + * Configuration block for the specific `Dimension` to use for `Expression`. See below. + */ + dimensions: outputs.costexplorer.GetCostCategoryRuleRuleAndAndDimension[]; + /** + * Configuration block for the specific `Tag` to use for `Expression`. See below. + */ + tags: outputs.costexplorer.GetCostCategoryRuleRuleAndAndTag[]; + } + + export interface GetCostCategoryRuleRuleAndAndCostCategory { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleAndAndDimension { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleAndAndTag { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + export interface GetCostCategoryRuleRuleAndCostCategory { /** * Key for the tag. @@ -17760,6 +18721,126 @@ export namespace costexplorer { values: string[]; } + export interface GetCostCategoryRuleRuleAndNot { + /** + * Configuration block for the filter that's based on `CostCategory` values. See below. + */ + costCategories: outputs.costexplorer.GetCostCategoryRuleRuleAndNotCostCategory[]; + /** + * Configuration block for the specific `Dimension` to use for `Expression`. See below. + */ + dimensions: outputs.costexplorer.GetCostCategoryRuleRuleAndNotDimension[]; + /** + * Configuration block for the specific `Tag` to use for `Expression`. See below. + */ + tags: outputs.costexplorer.GetCostCategoryRuleRuleAndNotTag[]; + } + + export interface GetCostCategoryRuleRuleAndNotCostCategory { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleAndNotDimension { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleAndNotTag { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleAndOr { + /** + * Configuration block for the filter that's based on `CostCategory` values. See below. + */ + costCategories: outputs.costexplorer.GetCostCategoryRuleRuleAndOrCostCategory[]; + /** + * Configuration block for the specific `Dimension` to use for `Expression`. See below. + */ + dimensions: outputs.costexplorer.GetCostCategoryRuleRuleAndOrDimension[]; + /** + * Configuration block for the specific `Tag` to use for `Expression`. See below. + */ + tags: outputs.costexplorer.GetCostCategoryRuleRuleAndOrTag[]; + } + + export interface GetCostCategoryRuleRuleAndOrCostCategory { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleAndOrDimension { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleAndOrTag { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + export interface GetCostCategoryRuleRuleAndTag { /** * Key for the tag. @@ -17806,6 +18887,10 @@ export namespace costexplorer { } export interface GetCostCategoryRuleRuleNot { + /** + * Return results that match both `Dimension` objects. + */ + ands: outputs.costexplorer.GetCostCategoryRuleRuleNotAnd[]; /** * Configuration block for the filter that's based on `CostCategory` values. See below. */ @@ -17814,12 +18899,80 @@ export namespace costexplorer { * Configuration block for the specific `Dimension` to use for `Expression`. See below. */ dimensions: outputs.costexplorer.GetCostCategoryRuleRuleNotDimension[]; + /** + * Return results that do not match the `Dimension` object. + */ + nots: outputs.costexplorer.GetCostCategoryRuleRuleNotNot[]; + /** + * Return results that match either `Dimension` object. + */ + ors: outputs.costexplorer.GetCostCategoryRuleRuleNotOr[]; /** * Configuration block for the specific `Tag` to use for `Expression`. See below. */ tags: outputs.costexplorer.GetCostCategoryRuleRuleNotTag[]; } + export interface GetCostCategoryRuleRuleNotAnd { + /** + * Configuration block for the filter that's based on `CostCategory` values. See below. + */ + costCategories: outputs.costexplorer.GetCostCategoryRuleRuleNotAndCostCategory[]; + /** + * Configuration block for the specific `Dimension` to use for `Expression`. See below. + */ + dimensions: outputs.costexplorer.GetCostCategoryRuleRuleNotAndDimension[]; + /** + * Configuration block for the specific `Tag` to use for `Expression`. See below. + */ + tags: outputs.costexplorer.GetCostCategoryRuleRuleNotAndTag[]; + } + + export interface GetCostCategoryRuleRuleNotAndCostCategory { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleNotAndDimension { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleNotAndTag { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + export interface GetCostCategoryRuleRuleNotCostCategory { /** * Key for the tag. @@ -17850,6 +19003,126 @@ export namespace costexplorer { values: string[]; } + export interface GetCostCategoryRuleRuleNotNot { + /** + * Configuration block for the filter that's based on `CostCategory` values. See below. + */ + costCategories: outputs.costexplorer.GetCostCategoryRuleRuleNotNotCostCategory[]; + /** + * Configuration block for the specific `Dimension` to use for `Expression`. See below. + */ + dimensions: outputs.costexplorer.GetCostCategoryRuleRuleNotNotDimension[]; + /** + * Configuration block for the specific `Tag` to use for `Expression`. See below. + */ + tags: outputs.costexplorer.GetCostCategoryRuleRuleNotNotTag[]; + } + + export interface GetCostCategoryRuleRuleNotNotCostCategory { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleNotNotDimension { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleNotNotTag { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleNotOr { + /** + * Configuration block for the filter that's based on `CostCategory` values. See below. + */ + costCategories: outputs.costexplorer.GetCostCategoryRuleRuleNotOrCostCategory[]; + /** + * Configuration block for the specific `Dimension` to use for `Expression`. See below. + */ + dimensions: outputs.costexplorer.GetCostCategoryRuleRuleNotOrDimension[]; + /** + * Configuration block for the specific `Tag` to use for `Expression`. See below. + */ + tags: outputs.costexplorer.GetCostCategoryRuleRuleNotOrTag[]; + } + + export interface GetCostCategoryRuleRuleNotOrCostCategory { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleNotOrDimension { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleNotOrTag { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + export interface GetCostCategoryRuleRuleNotTag { /** * Key for the tag. @@ -17866,6 +19139,10 @@ export namespace costexplorer { } export interface GetCostCategoryRuleRuleOr { + /** + * Return results that match both `Dimension` objects. + */ + ands: outputs.costexplorer.GetCostCategoryRuleRuleOrAnd[]; /** * Configuration block for the filter that's based on `CostCategory` values. See below. */ @@ -17874,12 +19151,80 @@ export namespace costexplorer { * Configuration block for the specific `Dimension` to use for `Expression`. See below. */ dimensions: outputs.costexplorer.GetCostCategoryRuleRuleOrDimension[]; + /** + * Return results that do not match the `Dimension` object. + */ + nots: outputs.costexplorer.GetCostCategoryRuleRuleOrNot[]; + /** + * Return results that match either `Dimension` object. + */ + ors: outputs.costexplorer.GetCostCategoryRuleRuleOrOr[]; /** * Configuration block for the specific `Tag` to use for `Expression`. See below. */ tags: outputs.costexplorer.GetCostCategoryRuleRuleOrTag[]; } + export interface GetCostCategoryRuleRuleOrAnd { + /** + * Configuration block for the filter that's based on `CostCategory` values. See below. + */ + costCategories: outputs.costexplorer.GetCostCategoryRuleRuleOrAndCostCategory[]; + /** + * Configuration block for the specific `Dimension` to use for `Expression`. See below. + */ + dimensions: outputs.costexplorer.GetCostCategoryRuleRuleOrAndDimension[]; + /** + * Configuration block for the specific `Tag` to use for `Expression`. See below. + */ + tags: outputs.costexplorer.GetCostCategoryRuleRuleOrAndTag[]; + } + + export interface GetCostCategoryRuleRuleOrAndCostCategory { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleOrAndDimension { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleOrAndTag { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + export interface GetCostCategoryRuleRuleOrCostCategory { /** * Key for the tag. @@ -17910,6 +19255,126 @@ export namespace costexplorer { values: string[]; } + export interface GetCostCategoryRuleRuleOrNot { + /** + * Configuration block for the filter that's based on `CostCategory` values. See below. + */ + costCategories: outputs.costexplorer.GetCostCategoryRuleRuleOrNotCostCategory[]; + /** + * Configuration block for the specific `Dimension` to use for `Expression`. See below. + */ + dimensions: outputs.costexplorer.GetCostCategoryRuleRuleOrNotDimension[]; + /** + * Configuration block for the specific `Tag` to use for `Expression`. See below. + */ + tags: outputs.costexplorer.GetCostCategoryRuleRuleOrNotTag[]; + } + + export interface GetCostCategoryRuleRuleOrNotCostCategory { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleOrNotDimension { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleOrNotTag { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleOrOr { + /** + * Configuration block for the filter that's based on `CostCategory` values. See below. + */ + costCategories: outputs.costexplorer.GetCostCategoryRuleRuleOrOrCostCategory[]; + /** + * Configuration block for the specific `Dimension` to use for `Expression`. See below. + */ + dimensions: outputs.costexplorer.GetCostCategoryRuleRuleOrOrDimension[]; + /** + * Configuration block for the specific `Tag` to use for `Expression`. See below. + */ + tags: outputs.costexplorer.GetCostCategoryRuleRuleOrOrTag[]; + } + + export interface GetCostCategoryRuleRuleOrOrCostCategory { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleOrOrDimension { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + + export interface GetCostCategoryRuleRuleOrOrTag { + /** + * Key for the tag. + */ + key: string; + /** + * Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + */ + matchOptions: string[]; + /** + * Parameter values. + */ + values: string[]; + } + export interface GetCostCategoryRuleRuleOrTag { /** * Key for the tag. @@ -31682,6 +33147,17 @@ export namespace globalaccelerator { ipFamily: string; } + export interface CrossAccountAttachmentResource { + /** + * The endpoint ID for the endpoint that is specified as a AWS resource. + */ + endpointId?: string; + /** + * The AWS Region where a shared endpoint resource is located. + */ + region?: string; + } + export interface CustomRoutingAcceleratorAttributes { /** * Indicates whether flow logs are enabled. Defaults to `false`. Valid values: `true`, `false`. @@ -33496,6 +34972,29 @@ export namespace identitystore { attributeValue: string; } + export interface GetGroupsGroup { + /** + * Description of the specified group. + */ + description: string; + /** + * Group's display name. + */ + displayName: string; + /** + * List of identifiers issued to this resource by an external identity provider. + */ + externalIds: any[]; + /** + * Identifier of the group in the Identity Store. + */ + groupId: string; + /** + * Identity Store ID associated with the Single Sign-On (SSO) Instance. + */ + identityStoreId: string; + } + export interface GetUserAddress { /** * The country that this address is in. @@ -38587,6 +40086,205 @@ export namespace kinesis { keyType?: string; } + export interface FirehoseDeliveryStreamSnowflakeConfiguration { + /** + * The URL of the Snowflake account. Format: https://[accountIdentifier].snowflakecomputing.com. + */ + accountUrl: string; + /** + * The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. + */ + cloudwatchLoggingOptions: outputs.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions; + /** + * The name of the content column. + */ + contentColumnName?: string; + /** + * The data loading option. + */ + dataLoadingOption?: string; + /** + * The Snowflake database name. + */ + database: string; + /** + * The passphrase for the private key. + */ + keyPassphrase?: string; + /** + * The name of the metadata column. + */ + metadataColumnName?: string; + /** + * The private key for authentication. + */ + privateKey: string; + /** + * The processing configuration. See `processingConfiguration` block below for details. + */ + processingConfiguration?: outputs.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration; + /** + * After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + */ + retryDuration?: number; + /** + * The ARN of the IAM role. + */ + roleArn: string; + /** + * The S3 backup mode. + */ + s3BackupMode?: string; + /** + * The S3 configuration. See `s3Configuration` block below for details. + */ + s3Configuration: outputs.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration; + /** + * The Snowflake schema name. + */ + schema: string; + /** + * The configuration for Snowflake role. + */ + snowflakeRoleConfiguration?: outputs.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration; + /** + * The VPC configuration for Snowflake. + */ + snowflakeVpcConfiguration?: outputs.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration; + /** + * The Snowflake table name. + */ + table: string; + /** + * The user for authentication. + */ + user: string; + } + + export interface FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions { + /** + * Enables or disables the logging. Defaults to `false`. + */ + enabled?: boolean; + /** + * The CloudWatch group name for logging. This value is required if `enabled` is true. + */ + logGroupName?: string; + /** + * The CloudWatch log stream name for logging. This value is required if `enabled` is true. + */ + logStreamName?: string; + } + + export interface FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration { + /** + * Enables or disables data processing. + */ + enabled?: boolean; + /** + * Specifies the data processors as multiple blocks. See `processors` block below for details. + */ + processors?: outputs.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor[]; + } + + export interface FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor { + /** + * Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + */ + parameters?: outputs.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter[]; + /** + * The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + */ + type: string; + } + + export interface FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter { + /** + * Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + */ + parameterName: string; + /** + * Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + * + * > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + */ + parameterValue: string; + } + + export interface FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration { + /** + * The ARN of the S3 bucket + */ + bucketArn: string; + /** + * Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + */ + bufferingInterval?: number; + /** + * Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + * We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + */ + bufferingSize?: number; + /** + * The CloudWatch Logging Options for the delivery stream. See `cloudwatchLoggingOptions` block below for details. + */ + cloudwatchLoggingOptions: outputs.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions; + /** + * The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + */ + compressionFormat?: string; + /** + * Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + */ + errorOutputPrefix?: string; + /** + * Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + * be used. + */ + kmsKeyArn?: string; + /** + * The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + */ + prefix?: string; + /** + * The ARN of the AWS credentials. + */ + roleArn: string; + } + + export interface FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions { + /** + * Enables or disables the logging. Defaults to `false`. + */ + enabled?: boolean; + /** + * The CloudWatch group name for logging. This value is required if `enabled` is true. + */ + logGroupName?: string; + /** + * The CloudWatch log stream name for logging. This value is required if `enabled` is true. + */ + logStreamName?: string; + } + + export interface FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration { + /** + * Whether the Snowflake role is enabled. + */ + enabled?: boolean; + /** + * The Snowflake role. + */ + snowflakeRole?: string; + } + + export interface FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration { + /** + * The VPCE ID for Firehose to privately connect with Snowflake. + */ + privateLinkVpceId: string; + } + export interface FirehoseDeliveryStreamSplunkConfiguration { /** * Buffer incoming data for the specified period of time, in seconds between 0 to 60, before delivering it to the destination. The default value is 60s. @@ -55683,11 +57381,11 @@ export namespace memorydb { export interface GetUserAuthenticationMode { /** - * The number of passwords belonging to the user. + * Number of passwords belonging to the user if `type` is set to `password`. */ passwordCount: number; /** - * Whether the user requires a password to authenticate. + * Type of authentication configured. */ type: string; } @@ -55760,15 +57458,15 @@ export namespace memorydb { export interface UserAuthenticationMode { /** - * The number of passwords belonging to the user. + * Number of passwords belonging to the user if `type` is set to `password`. */ passwordCount: number; /** - * The set of passwords used for authentication. You can create up to two passwords for each user. + * Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. */ - passwords: string[]; + passwords?: string[]; /** - * Indicates whether the user requires a password to authenticate. Must be set to `password`. + * Specifies the authentication type. Valid values are: `password` or `iam`. */ type: string; } @@ -66046,11 +67744,58 @@ export namespace s3outposts { } export namespace sagemaker { + export interface AppImageConfigCodeEditorAppImageConfig { + /** + * The configuration used to run the application image container. See Container Config details below. + */ + containerConfig?: outputs.sagemaker.AppImageConfigCodeEditorAppImageConfigContainerConfig; + /** + * The URL where the Git repository is located. See File System Config details below. + */ + fileSystemConfig?: outputs.sagemaker.AppImageConfigCodeEditorAppImageConfigFileSystemConfig; + } + + export interface AppImageConfigCodeEditorAppImageConfigContainerConfig { + /** + * The arguments for the container when you're running the application. + */ + containerArguments?: string[]; + /** + * The entrypoint used to run the application in the container. + */ + containerEntrypoints?: string[]; + /** + * The environment variables to set in the container. + */ + containerEnvironmentVariables?: {[key: string]: string}; + } + + export interface AppImageConfigCodeEditorAppImageConfigFileSystemConfig { + /** + * The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + */ + defaultGid?: number; + /** + * The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + */ + defaultUid?: number; + /** + * The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `defaultGid` and `defaultUid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + */ + mountPath?: string; + } + export interface AppImageConfigJupyterLabImageConfig { /** * The configuration used to run the application image container. See Container Config details below. */ containerConfig?: outputs.sagemaker.AppImageConfigJupyterLabImageConfigContainerConfig; + /** + * The URL where the Git repository is located. See File System Config details below. + */ + fileSystemConfig?: outputs.sagemaker.AppImageConfigJupyterLabImageConfigFileSystemConfig; } export interface AppImageConfigJupyterLabImageConfigContainerConfig { @@ -66068,6 +67813,23 @@ export namespace sagemaker { containerEnvironmentVariables?: {[key: string]: string}; } + export interface AppImageConfigJupyterLabImageConfigFileSystemConfig { + /** + * The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + */ + defaultGid?: number; + /** + * The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + */ + defaultUid?: number; + /** + * The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + * + * > **Note:** When specifying `defaultGid` and `defaultUid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + */ + mountPath?: string; + } + export interface AppImageConfigKernelGatewayImageConfig { /** * The URL where the Git repository is located. See File System Config details below. @@ -73800,6 +75562,65 @@ export namespace verifiedpermissions { mode: string; } + export interface PolicyDefinition { + /** + * The static policy statement. See Static below. + */ + static?: outputs.verifiedpermissions.PolicyDefinitionStatic; + /** + * The template linked policy. See Template Linked below. + */ + templateLinked?: outputs.verifiedpermissions.PolicyDefinitionTemplateLinked; + } + + export interface PolicyDefinitionStatic { + /** + * The description of the static policy. + */ + description?: string; + /** + * The statement of the static policy. + */ + statement: string; + } + + export interface PolicyDefinitionTemplateLinked { + /** + * The ID of the template. + */ + policyTemplateId: string; + /** + * The principal of the template linked policy. + */ + principal?: outputs.verifiedpermissions.PolicyDefinitionTemplateLinkedPrincipal; + /** + * The resource of the template linked policy. + */ + resource?: outputs.verifiedpermissions.PolicyDefinitionTemplateLinkedResource; + } + + export interface PolicyDefinitionTemplateLinkedPrincipal { + /** + * The entity ID of the principal. + */ + entityId: string; + /** + * The entity type of the principal. + */ + entityType: string; + } + + export interface PolicyDefinitionTemplateLinkedResource { + /** + * The entity ID of the resource. + */ + entityId: string; + /** + * The entity type of the resource. + */ + entityType: string; + } + export interface PolicyStoreValidationSettings { /** * The mode for the validation settings. Valid values: `OFF`, `STRICT`. diff --git a/sdk/nodejs/verifiedpermissions/index.ts b/sdk/nodejs/verifiedpermissions/index.ts index d2466561ef3..36d84ed65f8 100644 --- a/sdk/nodejs/verifiedpermissions/index.ts +++ b/sdk/nodejs/verifiedpermissions/index.ts @@ -10,6 +10,11 @@ export const getPolicyStore: typeof import("./getPolicyStore").getPolicyStore = export const getPolicyStoreOutput: typeof import("./getPolicyStore").getPolicyStoreOutput = null as any; utilities.lazyLoad(exports, ["getPolicyStore","getPolicyStoreOutput"], () => require("./getPolicyStore")); +export { PolicyArgs, PolicyState } from "./policy"; +export type Policy = import("./policy").Policy; +export const Policy: typeof import("./policy").Policy = null as any; +utilities.lazyLoad(exports, ["Policy"], () => require("./policy")); + export { PolicyStoreArgs, PolicyStoreState } from "./policyStore"; export type PolicyStore = import("./policyStore").PolicyStore; export const PolicyStore: typeof import("./policyStore").PolicyStore = null as any; @@ -30,6 +35,8 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "aws:verifiedpermissions/policy:Policy": + return new Policy(name, undefined, { urn }) case "aws:verifiedpermissions/policyStore:PolicyStore": return new PolicyStore(name, undefined, { urn }) case "aws:verifiedpermissions/policyTemplate:PolicyTemplate": @@ -41,6 +48,7 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("aws", "verifiedpermissions/policy", _module) pulumi.runtime.registerResourceModule("aws", "verifiedpermissions/policyStore", _module) pulumi.runtime.registerResourceModule("aws", "verifiedpermissions/policyTemplate", _module) pulumi.runtime.registerResourceModule("aws", "verifiedpermissions/schema", _module) diff --git a/sdk/nodejs/verifiedpermissions/policy.ts b/sdk/nodejs/verifiedpermissions/policy.ts new file mode 100644 index 00000000000..fef1e599b20 --- /dev/null +++ b/sdk/nodejs/verifiedpermissions/policy.ts @@ -0,0 +1,144 @@ +// *** WARNING: this file 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 Verified Permissions Policy. + * + * ## Example Usage + * + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = new aws.verifiedpermissions.Policy("test", { + * policyStoreId: testAwsVerifiedpermissionsPolicyStore.id, + * definition: { + * static: { + * statement: "permit (principal, action == Action::\"view\", resource in Album:: \"test_album\");", + * }, + * }, + * }); + * ``` + * + * ## Import + * + * Using `pulumi import`, import Verified Permissions Policy using the `policy_id,policy_store_id`. For example: + * + * ```sh + * $ pulumi import aws:verifiedpermissions/policy:Policy example policy-id-12345678,policy-store-id-12345678 + * ``` + */ +export class Policy extends pulumi.CustomResource { + /** + * Get an existing Policy 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?: PolicyState, opts?: pulumi.CustomResourceOptions): Policy { + return new Policy(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:verifiedpermissions/policy:Policy'; + + /** + * Returns true if the given object is an instance of Policy. 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 Policy { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Policy.__pulumiType; + } + + public /*out*/ readonly createdDate!: pulumi.Output; + /** + * The definition of the policy. See Definition below. + * + * The following arguments are optional: + */ + public readonly definition!: pulumi.Output; + public /*out*/ readonly policyId!: pulumi.Output; + /** + * The Policy Store ID of the policy store. + */ + public readonly policyStoreId!: pulumi.Output; + + /** + * Create a Policy 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: PolicyArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: PolicyArgs | PolicyState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as PolicyState | undefined; + resourceInputs["createdDate"] = state ? state.createdDate : undefined; + resourceInputs["definition"] = state ? state.definition : undefined; + resourceInputs["policyId"] = state ? state.policyId : undefined; + resourceInputs["policyStoreId"] = state ? state.policyStoreId : undefined; + } else { + const args = argsOrState as PolicyArgs | undefined; + if ((!args || args.policyStoreId === undefined) && !opts.urn) { + throw new Error("Missing required property 'policyStoreId'"); + } + resourceInputs["definition"] = args ? args.definition : undefined; + resourceInputs["policyStoreId"] = args ? args.policyStoreId : undefined; + resourceInputs["createdDate"] = undefined /*out*/; + resourceInputs["policyId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Policy.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Policy resources. + */ +export interface PolicyState { + createdDate?: pulumi.Input; + /** + * The definition of the policy. See Definition below. + * + * The following arguments are optional: + */ + definition?: pulumi.Input; + policyId?: pulumi.Input; + /** + * The Policy Store ID of the policy store. + */ + policyStoreId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Policy resource. + */ +export interface PolicyArgs { + /** + * The definition of the policy. See Definition below. + * + * The following arguments are optional: + */ + definition?: pulumi.Input; + /** + * The Policy Store ID of the policy store. + */ + policyStoreId: pulumi.Input; +} diff --git a/sdk/python/pulumi_aws/__init__.py b/sdk/python/pulumi_aws/__init__.py index fc161cce206..90c4ac02d11 100644 --- a/sdk/python/pulumi_aws/__init__.py +++ b/sdk/python/pulumi_aws/__init__.py @@ -71,6 +71,8 @@ backup = __backup import pulumi_aws.batch as __batch batch = __batch + import pulumi_aws.bcmdata as __bcmdata + bcmdata = __bcmdata import pulumi_aws.bedrock as __bedrock bedrock = __bedrock import pulumi_aws.bedrockfoundation as __bedrockfoundation @@ -454,6 +456,7 @@ autoscalingplans = _utilities.lazy_import('pulumi_aws.autoscalingplans') backup = _utilities.lazy_import('pulumi_aws.backup') batch = _utilities.lazy_import('pulumi_aws.batch') + bcmdata = _utilities.lazy_import('pulumi_aws.bcmdata') bedrock = _utilities.lazy_import('pulumi_aws.bedrock') bedrockfoundation = _utilities.lazy_import('pulumi_aws.bedrockfoundation') bedrockmodel = _utilities.lazy_import('pulumi_aws.bedrockmodel') @@ -1813,6 +1816,46 @@ "aws:batch/schedulingPolicy:SchedulingPolicy": "SchedulingPolicy" } }, + { + "pkg": "aws", + "mod": "bcmdata/export", + "fqn": "pulumi_aws.bcmdata", + "classes": { + "aws:bcmdata/export:Export": "Export" + } + }, + { + "pkg": "aws", + "mod": "bedrock/agentAgent", + "fqn": "pulumi_aws.bedrock", + "classes": { + "aws:bedrock/agentAgent:AgentAgent": "AgentAgent" + } + }, + { + "pkg": "aws", + "mod": "bedrock/agentAgentActionGroup", + "fqn": "pulumi_aws.bedrock", + "classes": { + "aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup": "AgentAgentActionGroup" + } + }, + { + "pkg": "aws", + "mod": "bedrock/agentAgentAlias", + "fqn": "pulumi_aws.bedrock", + "classes": { + "aws:bedrock/agentAgentAlias:AgentAgentAlias": "AgentAgentAlias" + } + }, + { + "pkg": "aws", + "mod": "bedrock/agentKnowledgeBase", + "fqn": "pulumi_aws.bedrock", + "classes": { + "aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase": "AgentKnowledgeBase" + } + }, { "pkg": "aws", "mod": "bedrock/customModel", @@ -5581,6 +5624,14 @@ "aws:globalaccelerator/accelerator:Accelerator": "Accelerator" } }, + { + "pkg": "aws", + "mod": "globalaccelerator/crossAccountAttachment", + "fqn": "pulumi_aws.globalaccelerator", + "classes": { + "aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment": "CrossAccountAttachment" + } + }, { "pkg": "aws", "mod": "globalaccelerator/customRoutingAccelerator", @@ -11085,6 +11136,14 @@ "aws:verifiedaccess/trustProvider:TrustProvider": "TrustProvider" } }, + { + "pkg": "aws", + "mod": "verifiedpermissions/policy", + "fqn": "pulumi_aws.verifiedpermissions", + "classes": { + "aws:verifiedpermissions/policy:Policy": "Policy" + } + }, { "pkg": "aws", "mod": "verifiedpermissions/policyStore", diff --git a/sdk/python/pulumi_aws/_inputs.py b/sdk/python/pulumi_aws/_inputs.py index 3d2d157557d..5b50ed9627f 100644 --- a/sdk/python/pulumi_aws/_inputs.py +++ b/sdk/python/pulumi_aws/_inputs.py @@ -533,6 +533,7 @@ def __init__(__self__, *, rolesanywhere: Optional[pulumi.Input[str]] = None, route53: Optional[pulumi.Input[str]] = None, route53domains: Optional[pulumi.Input[str]] = None, + route53profiles: Optional[pulumi.Input[str]] = None, route53recoverycontrolconfig: Optional[pulumi.Input[str]] = None, route53recoveryreadiness: Optional[pulumi.Input[str]] = None, route53resolver: Optional[pulumi.Input[str]] = None, @@ -812,6 +813,7 @@ def __init__(__self__, *, :param pulumi.Input[str] rolesanywhere: Use this to override the default service endpoint URL :param pulumi.Input[str] route53: Use this to override the default service endpoint URL :param pulumi.Input[str] route53domains: Use this to override the default service endpoint URL + :param pulumi.Input[str] route53profiles: Use this to override the default service endpoint URL :param pulumi.Input[str] route53recoverycontrolconfig: Use this to override the default service endpoint URL :param pulumi.Input[str] route53recoveryreadiness: Use this to override the default service endpoint URL :param pulumi.Input[str] route53resolver: Use this to override the default service endpoint URL @@ -1315,6 +1317,8 @@ def __init__(__self__, *, pulumi.set(__self__, "route53", route53) if route53domains is not None: pulumi.set(__self__, "route53domains", route53domains) + if route53profiles is not None: + pulumi.set(__self__, "route53profiles", route53profiles) if route53recoverycontrolconfig is not None: pulumi.set(__self__, "route53recoverycontrolconfig", route53recoverycontrolconfig) if route53recoveryreadiness is not None: @@ -4112,6 +4116,18 @@ def route53domains(self) -> Optional[pulumi.Input[str]]: def route53domains(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "route53domains", value) + @property + @pulumi.getter + def route53profiles(self) -> Optional[pulumi.Input[str]]: + """ + Use this to override the default service endpoint URL + """ + return pulumi.get(self, "route53profiles") + + @route53profiles.setter + def route53profiles(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "route53profiles", value) + @property @pulumi.getter def route53recoverycontrolconfig(self) -> Optional[pulumi.Input[str]]: diff --git a/sdk/python/pulumi_aws/appmesh/_inputs.py b/sdk/python/pulumi_aws/appmesh/_inputs.py index 15c57125978..ea8a7530851 100644 --- a/sdk/python/pulumi_aws/appmesh/_inputs.py +++ b/sdk/python/pulumi_aws/appmesh/_inputs.py @@ -50,6 +50,7 @@ 'GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs', 'MeshSpecArgs', 'MeshSpecEgressFilterArgs', + 'MeshSpecServiceDiscoveryArgs', 'RouteSpecArgs', 'RouteSpecGrpcRouteArgs', 'RouteSpecGrpcRouteActionArgs', @@ -1832,12 +1833,16 @@ def exact(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class MeshSpecArgs: def __init__(__self__, *, - egress_filter: Optional[pulumi.Input['MeshSpecEgressFilterArgs']] = None): + egress_filter: Optional[pulumi.Input['MeshSpecEgressFilterArgs']] = None, + service_discovery: Optional[pulumi.Input['MeshSpecServiceDiscoveryArgs']] = None): """ :param pulumi.Input['MeshSpecEgressFilterArgs'] egress_filter: Egress filter rules for the service mesh. + :param pulumi.Input['MeshSpecServiceDiscoveryArgs'] service_discovery: The service discovery information for the service mesh. """ if egress_filter is not None: pulumi.set(__self__, "egress_filter", egress_filter) + if service_discovery is not None: + pulumi.set(__self__, "service_discovery", service_discovery) @property @pulumi.getter(name="egressFilter") @@ -1851,25 +1856,29 @@ def egress_filter(self) -> Optional[pulumi.Input['MeshSpecEgressFilterArgs']]: def egress_filter(self, value: Optional[pulumi.Input['MeshSpecEgressFilterArgs']]): pulumi.set(self, "egress_filter", value) + @property + @pulumi.getter(name="serviceDiscovery") + def service_discovery(self) -> Optional[pulumi.Input['MeshSpecServiceDiscoveryArgs']]: + """ + The service discovery information for the service mesh. + """ + return pulumi.get(self, "service_discovery") + + @service_discovery.setter + def service_discovery(self, value: Optional[pulumi.Input['MeshSpecServiceDiscoveryArgs']]): + pulumi.set(self, "service_discovery", value) + @pulumi.input_type class MeshSpecEgressFilterArgs: def __init__(__self__, *, type: Optional[pulumi.Input[str]] = None): - """ - :param pulumi.Input[str] type: Egress filter type. By default, the type is `DROP_ALL`. - Valid values are `ALLOW_ALL` and `DROP_ALL`. - """ if type is not None: pulumi.set(__self__, "type", type) @property @pulumi.getter def type(self) -> Optional[pulumi.Input[str]]: - """ - Egress filter type. By default, the type is `DROP_ALL`. - Valid values are `ALLOW_ALL` and `DROP_ALL`. - """ return pulumi.get(self, "type") @type.setter @@ -1877,6 +1886,23 @@ def type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "type", value) +@pulumi.input_type +class MeshSpecServiceDiscoveryArgs: + def __init__(__self__, *, + ip_preference: Optional[pulumi.Input[str]] = None): + if ip_preference is not None: + pulumi.set(__self__, "ip_preference", ip_preference) + + @property + @pulumi.getter(name="ipPreference") + def ip_preference(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "ip_preference") + + @ip_preference.setter + def ip_preference(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ip_preference", value) + + @pulumi.input_type class RouteSpecArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/appmesh/outputs.py b/sdk/python/pulumi_aws/appmesh/outputs.py index e06fb29e22a..e254a92a67a 100644 --- a/sdk/python/pulumi_aws/appmesh/outputs.py +++ b/sdk/python/pulumi_aws/appmesh/outputs.py @@ -51,6 +51,7 @@ 'GatewayRouteSpecHttpRouteMatchQueryParameterMatch', 'MeshSpec', 'MeshSpecEgressFilter', + 'MeshSpecServiceDiscovery', 'RouteSpec', 'RouteSpecGrpcRoute', 'RouteSpecGrpcRouteAction', @@ -254,6 +255,7 @@ 'GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchResult', 'GetMeshSpecResult', 'GetMeshSpecEgressFilterResult', + 'GetMeshSpecServiceDiscoveryResult', 'GetRouteSpecResult', 'GetRouteSpecGrpcRouteResult', 'GetRouteSpecGrpcRouteActionResult', @@ -1938,6 +1940,8 @@ def __key_warning(key: str): suggest = None if key == "egressFilter": suggest = "egress_filter" + elif key == "serviceDiscovery": + suggest = "service_discovery" if suggest: pulumi.log.warn(f"Key '{key}' not found in MeshSpec. Access the value via the '{suggest}' property getter instead.") @@ -1951,12 +1955,16 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - egress_filter: Optional['outputs.MeshSpecEgressFilter'] = None): + egress_filter: Optional['outputs.MeshSpecEgressFilter'] = None, + service_discovery: Optional['outputs.MeshSpecServiceDiscovery'] = None): """ :param 'MeshSpecEgressFilterArgs' egress_filter: Egress filter rules for the service mesh. + :param 'MeshSpecServiceDiscoveryArgs' service_discovery: The service discovery information for the service mesh. """ if egress_filter is not None: pulumi.set(__self__, "egress_filter", egress_filter) + if service_discovery is not None: + pulumi.set(__self__, "service_discovery", service_discovery) @property @pulumi.getter(name="egressFilter") @@ -1966,28 +1974,58 @@ def egress_filter(self) -> Optional['outputs.MeshSpecEgressFilter']: """ return pulumi.get(self, "egress_filter") + @property + @pulumi.getter(name="serviceDiscovery") + def service_discovery(self) -> Optional['outputs.MeshSpecServiceDiscovery']: + """ + The service discovery information for the service mesh. + """ + return pulumi.get(self, "service_discovery") + @pulumi.output_type class MeshSpecEgressFilter(dict): def __init__(__self__, *, type: Optional[str] = None): - """ - :param str type: Egress filter type. By default, the type is `DROP_ALL`. - Valid values are `ALLOW_ALL` and `DROP_ALL`. - """ if type is not None: pulumi.set(__self__, "type", type) @property @pulumi.getter def type(self) -> Optional[str]: - """ - Egress filter type. By default, the type is `DROP_ALL`. - Valid values are `ALLOW_ALL` and `DROP_ALL`. - """ return pulumi.get(self, "type") +@pulumi.output_type +class MeshSpecServiceDiscovery(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ipPreference": + suggest = "ip_preference" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in MeshSpecServiceDiscovery. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + MeshSpecServiceDiscovery.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + MeshSpecServiceDiscovery.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ip_preference: Optional[str] = None): + if ip_preference is not None: + pulumi.set(__self__, "ip_preference", ip_preference) + + @property + @pulumi.getter(name="ipPreference") + def ip_preference(self) -> Optional[str]: + return pulumi.get(self, "ip_preference") + + @pulumi.output_type class RouteSpec(dict): @staticmethod @@ -9516,14 +9554,21 @@ def exact(self) -> str: @pulumi.output_type class GetMeshSpecResult(dict): def __init__(__self__, *, - egress_filters: Sequence['outputs.GetMeshSpecEgressFilterResult']): + egress_filters: Sequence['outputs.GetMeshSpecEgressFilterResult'], + service_discoveries: Sequence['outputs.GetMeshSpecServiceDiscoveryResult']): pulumi.set(__self__, "egress_filters", egress_filters) + pulumi.set(__self__, "service_discoveries", service_discoveries) @property @pulumi.getter(name="egressFilters") def egress_filters(self) -> Sequence['outputs.GetMeshSpecEgressFilterResult']: return pulumi.get(self, "egress_filters") + @property + @pulumi.getter(name="serviceDiscoveries") + def service_discoveries(self) -> Sequence['outputs.GetMeshSpecServiceDiscoveryResult']: + return pulumi.get(self, "service_discoveries") + @pulumi.output_type class GetMeshSpecEgressFilterResult(dict): @@ -9537,6 +9582,18 @@ def type(self) -> str: return pulumi.get(self, "type") +@pulumi.output_type +class GetMeshSpecServiceDiscoveryResult(dict): + def __init__(__self__, *, + ip_preference: str): + pulumi.set(__self__, "ip_preference", ip_preference) + + @property + @pulumi.getter(name="ipPreference") + def ip_preference(self) -> str: + return pulumi.get(self, "ip_preference") + + @pulumi.output_type class GetRouteSpecResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/batch/_inputs.py b/sdk/python/pulumi_aws/batch/_inputs.py index 54da9f2711b..955638f9c44 100644 --- a/sdk/python/pulumi_aws/batch/_inputs.py +++ b/sdk/python/pulumi_aws/batch/_inputs.py @@ -1121,7 +1121,7 @@ def __init__(__self__, *, on_reason: Optional[pulumi.Input[str]] = None, on_status_reason: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] action: Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + :param pulumi.Input[str] action: Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. :param pulumi.Input[str] on_exit_code: A glob pattern to match against the decimal representation of the exit code returned for a job. :param pulumi.Input[str] on_reason: A glob pattern to match against the reason returned for a job. :param pulumi.Input[str] on_status_reason: A glob pattern to match against the status reason returned for a job. @@ -1138,7 +1138,7 @@ def __init__(__self__, *, @pulumi.getter def action(self) -> pulumi.Input[str]: """ - Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. """ return pulumi.get(self, "action") diff --git a/sdk/python/pulumi_aws/batch/job_definition.py b/sdk/python/pulumi_aws/batch/job_definition.py index 8fc91a11d02..871a750a107 100644 --- a/sdk/python/pulumi_aws/batch/job_definition.py +++ b/sdk/python/pulumi_aws/batch/job_definition.py @@ -34,18 +34,15 @@ def __init__(__self__, *, :param pulumi.Input[str] type: The type of job definition. Must be `container` or `multinode`. The following arguments are optional: - :param pulumi.Input[str] container_properties: A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + :param pulumi.Input[str] container_properties: A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. :param pulumi.Input[bool] deregister_on_new_revision: When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. :param pulumi.Input['JobDefinitionEksPropertiesArgs'] eks_properties: A valid eks properties. This parameter is only valid if the `type` parameter is `container`. :param pulumi.Input[str] name: Specifies the name of the job definition. - :param pulumi.Input[str] node_properties: A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + :param pulumi.Input[str] node_properties: A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Specifies the parameter substitution placeholders to set in the job definition. :param pulumi.Input[Sequence[pulumi.Input[str]]] platform_capabilities: The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. :param pulumi.Input[bool] propagate_tags: Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. - :param pulumi.Input['JobDefinitionRetryStrategyArgs'] retry_strategy: Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - Maximum number of `retry_strategy` is `1`. Defined below. + :param pulumi.Input['JobDefinitionRetryStrategyArgs'] retry_strategy: Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. :param pulumi.Input[int] scheduling_priority: The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input['JobDefinitionTimeoutArgs'] timeout: Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. @@ -94,8 +91,7 @@ def type(self, value: pulumi.Input[str]): @pulumi.getter(name="containerProperties") def container_properties(self) -> Optional[pulumi.Input[str]]: """ - A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. """ return pulumi.get(self, "container_properties") @@ -143,8 +139,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="nodeProperties") def node_properties(self) -> Optional[pulumi.Input[str]]: """ - A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. """ return pulumi.get(self, "node_properties") @@ -192,8 +187,7 @@ def propagate_tags(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="retryStrategy") def retry_strategy(self) -> Optional[pulumi.Input['JobDefinitionRetryStrategyArgs']]: """ - Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - Maximum number of `retry_strategy` is `1`. Defined below. + Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. """ return pulumi.get(self, "retry_strategy") @@ -262,18 +256,15 @@ def __init__(__self__, *, Input properties used for looking up and filtering JobDefinition resources. :param pulumi.Input[str] arn: The Amazon Resource Name of the job definition, includes revision (`:#`). :param pulumi.Input[str] arn_prefix: The ARN without the revision number. - :param pulumi.Input[str] container_properties: A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + :param pulumi.Input[str] container_properties: A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. :param pulumi.Input[bool] deregister_on_new_revision: When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. :param pulumi.Input['JobDefinitionEksPropertiesArgs'] eks_properties: A valid eks properties. This parameter is only valid if the `type` parameter is `container`. :param pulumi.Input[str] name: Specifies the name of the job definition. - :param pulumi.Input[str] node_properties: A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + :param pulumi.Input[str] node_properties: A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Specifies the parameter substitution placeholders to set in the job definition. :param pulumi.Input[Sequence[pulumi.Input[str]]] platform_capabilities: The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. :param pulumi.Input[bool] propagate_tags: Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. - :param pulumi.Input['JobDefinitionRetryStrategyArgs'] retry_strategy: Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - Maximum number of `retry_strategy` is `1`. Defined below. + :param pulumi.Input['JobDefinitionRetryStrategyArgs'] retry_strategy: Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. :param pulumi.Input[int] revision: The revision of the job definition. :param pulumi.Input[int] scheduling_priority: The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -349,8 +340,7 @@ def arn_prefix(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="containerProperties") def container_properties(self) -> Optional[pulumi.Input[str]]: """ - A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. """ return pulumi.get(self, "container_properties") @@ -398,8 +388,7 @@ def name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="nodeProperties") def node_properties(self) -> Optional[pulumi.Input[str]]: """ - A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. """ return pulumi.get(self, "node_properties") @@ -447,8 +436,7 @@ def propagate_tags(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter(name="retryStrategy") def retry_strategy(self) -> Optional[pulumi.Input['JobDefinitionRetryStrategyArgs']]: """ - Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - Maximum number of `retry_strategy` is `1`. Defined below. + Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. """ return pulumi.get(self, "retry_strategy") @@ -741,18 +729,15 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] container_properties: A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + :param pulumi.Input[str] container_properties: A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. :param pulumi.Input[bool] deregister_on_new_revision: When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. :param pulumi.Input[pulumi.InputType['JobDefinitionEksPropertiesArgs']] eks_properties: A valid eks properties. This parameter is only valid if the `type` parameter is `container`. :param pulumi.Input[str] name: Specifies the name of the job definition. - :param pulumi.Input[str] node_properties: A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + :param pulumi.Input[str] node_properties: A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Specifies the parameter substitution placeholders to set in the job definition. :param pulumi.Input[Sequence[pulumi.Input[str]]] platform_capabilities: The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. :param pulumi.Input[bool] propagate_tags: Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. - :param pulumi.Input[pulumi.InputType['JobDefinitionRetryStrategyArgs']] retry_strategy: Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - Maximum number of `retry_strategy` is `1`. Defined below. + :param pulumi.Input[pulumi.InputType['JobDefinitionRetryStrategyArgs']] retry_strategy: Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. :param pulumi.Input[int] scheduling_priority: The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[pulumi.InputType['JobDefinitionTimeoutArgs']] timeout: Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of `timeout` is `1`. Defined below. @@ -1044,18 +1029,15 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] arn: The Amazon Resource Name of the job definition, includes revision (`:#`). :param pulumi.Input[str] arn_prefix: The ARN without the revision number. - :param pulumi.Input[str] container_properties: A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + :param pulumi.Input[str] container_properties: A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. :param pulumi.Input[bool] deregister_on_new_revision: When updating a job definition a new revision is created. This parameter determines if the previous version is `deregistered` (`INACTIVE`) or left `ACTIVE`. Defaults to `true`. :param pulumi.Input[pulumi.InputType['JobDefinitionEksPropertiesArgs']] eks_properties: A valid eks properties. This parameter is only valid if the `type` parameter is `container`. :param pulumi.Input[str] name: Specifies the name of the job definition. - :param pulumi.Input[str] node_properties: A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + :param pulumi.Input[str] node_properties: A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: Specifies the parameter substitution placeholders to set in the job definition. :param pulumi.Input[Sequence[pulumi.Input[str]]] platform_capabilities: The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. :param pulumi.Input[bool] propagate_tags: Specifies whether to propagate the tags from the job definition to the corresponding Amazon ECS task. Default is `false`. - :param pulumi.Input[pulumi.InputType['JobDefinitionRetryStrategyArgs']] retry_strategy: Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - Maximum number of `retry_strategy` is `1`. Defined below. + :param pulumi.Input[pulumi.InputType['JobDefinitionRetryStrategyArgs']] retry_strategy: Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. :param pulumi.Input[int] revision: The revision of the job definition. :param pulumi.Input[int] scheduling_priority: The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority. Allowed values `0` through `9999`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -1108,8 +1090,7 @@ def arn_prefix(self) -> pulumi.Output[str]: @pulumi.getter(name="containerProperties") def container_properties(self) -> pulumi.Output[Optional[str]]: """ - A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. + A valid [container properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is only valid if the `type` parameter is `container`. """ return pulumi.get(self, "container_properties") @@ -1141,8 +1122,7 @@ def name(self) -> pulumi.Output[str]: @pulumi.getter(name="nodeProperties") def node_properties(self) -> pulumi.Output[Optional[str]]: """ - A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) - provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. + A valid [node properties](http://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) provided as a single valid JSON document. This parameter is required if the `type` parameter is `multinode`. """ return pulumi.get(self, "node_properties") @@ -1174,8 +1154,7 @@ def propagate_tags(self) -> pulumi.Output[Optional[bool]]: @pulumi.getter(name="retryStrategy") def retry_strategy(self) -> pulumi.Output[Optional['outputs.JobDefinitionRetryStrategy']]: """ - Specifies the retry strategy to use for failed jobs that are submitted with this job definition. - Maximum number of `retry_strategy` is `1`. Defined below. + Specifies the retry strategy to use for failed jobs that are submitted with this job definition. Maximum number of `retry_strategy` is `1`. Defined below. """ return pulumi.get(self, "retry_strategy") diff --git a/sdk/python/pulumi_aws/batch/outputs.py b/sdk/python/pulumi_aws/batch/outputs.py index c2f5f2ddc55..e5dcacdc17b 100644 --- a/sdk/python/pulumi_aws/batch/outputs.py +++ b/sdk/python/pulumi_aws/batch/outputs.py @@ -1177,7 +1177,7 @@ def __init__(__self__, *, on_reason: Optional[str] = None, on_status_reason: Optional[str] = None): """ - :param str action: Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + :param str action: Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. :param str on_exit_code: A glob pattern to match against the decimal representation of the exit code returned for a job. :param str on_reason: A glob pattern to match against the reason returned for a job. :param str on_status_reason: A glob pattern to match against the status reason returned for a job. @@ -1194,7 +1194,7 @@ def __init__(__self__, *, @pulumi.getter def action(self) -> str: """ - Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `RETRY`, `EXIT`. + Specifies the action to take if all of the specified conditions are met. The values are not case sensitive. Valid values: `retry`, `exit`. """ return pulumi.get(self, "action") diff --git a/sdk/python/pulumi_aws/bcmdata/__init__.py b/sdk/python/pulumi_aws/bcmdata/__init__.py new file mode 100644 index 00000000000..82fea9f5561 --- /dev/null +++ b/sdk/python/pulumi_aws/bcmdata/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .export import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_aws/bcmdata/_inputs.py b/sdk/python/pulumi_aws/bcmdata/_inputs.py new file mode 100644 index 00000000000..2d008142463 --- /dev/null +++ b/sdk/python/pulumi_aws/bcmdata/_inputs.py @@ -0,0 +1,396 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'ExportExportArgs', + 'ExportExportDataQueryArgs', + 'ExportExportDestinationConfigurationArgs', + 'ExportExportDestinationConfigurationS3DestinationArgs', + 'ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs', + 'ExportExportRefreshCadenceArgs', + 'ExportTimeoutsArgs', +] + +@pulumi.input_type +class ExportExportArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + data_queries: Optional[pulumi.Input[Sequence[pulumi.Input['ExportExportDataQueryArgs']]]] = None, + description: Optional[pulumi.Input[str]] = None, + destination_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['ExportExportDestinationConfigurationArgs']]]] = None, + export_arn: Optional[pulumi.Input[str]] = None, + refresh_cadences: Optional[pulumi.Input[Sequence[pulumi.Input['ExportExportRefreshCadenceArgs']]]] = None): + """ + :param pulumi.Input[str] name: Name of this specific data export. + :param pulumi.Input[Sequence[pulumi.Input['ExportExportDataQueryArgs']]] data_queries: Data query for this specific data export. See the `data_query` argument reference below. + :param pulumi.Input[str] description: Description for this specific data export. + :param pulumi.Input[Sequence[pulumi.Input['ExportExportDestinationConfigurationArgs']]] destination_configurations: Destination configuration for this specific data export. See the `destination_configurations` argument reference below. + :param pulumi.Input[str] export_arn: Amazon Resource Name (ARN) for this export. + :param pulumi.Input[Sequence[pulumi.Input['ExportExportRefreshCadenceArgs']]] refresh_cadences: Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refresh_cadence` argument reference below. + """ + pulumi.set(__self__, "name", name) + if data_queries is not None: + pulumi.set(__self__, "data_queries", data_queries) + if description is not None: + pulumi.set(__self__, "description", description) + if destination_configurations is not None: + pulumi.set(__self__, "destination_configurations", destination_configurations) + if export_arn is not None: + pulumi.set(__self__, "export_arn", export_arn) + if refresh_cadences is not None: + pulumi.set(__self__, "refresh_cadences", refresh_cadences) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name of this specific data export. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="dataQueries") + def data_queries(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExportExportDataQueryArgs']]]]: + """ + Data query for this specific data export. See the `data_query` argument reference below. + """ + return pulumi.get(self, "data_queries") + + @data_queries.setter + def data_queries(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExportExportDataQueryArgs']]]]): + pulumi.set(self, "data_queries", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description for this specific data export. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="destinationConfigurations") + def destination_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExportExportDestinationConfigurationArgs']]]]: + """ + Destination configuration for this specific data export. See the `destination_configurations` argument reference below. + """ + return pulumi.get(self, "destination_configurations") + + @destination_configurations.setter + def destination_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExportExportDestinationConfigurationArgs']]]]): + pulumi.set(self, "destination_configurations", value) + + @property + @pulumi.getter(name="exportArn") + def export_arn(self) -> Optional[pulumi.Input[str]]: + """ + Amazon Resource Name (ARN) for this export. + """ + return pulumi.get(self, "export_arn") + + @export_arn.setter + def export_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "export_arn", value) + + @property + @pulumi.getter(name="refreshCadences") + def refresh_cadences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExportExportRefreshCadenceArgs']]]]: + """ + Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refresh_cadence` argument reference below. + """ + return pulumi.get(self, "refresh_cadences") + + @refresh_cadences.setter + def refresh_cadences(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExportExportRefreshCadenceArgs']]]]): + pulumi.set(self, "refresh_cadences", value) + + +@pulumi.input_type +class ExportExportDataQueryArgs: + def __init__(__self__, *, + query_statement: pulumi.Input[str], + table_configurations: Optional[pulumi.Input[Mapping[str, pulumi.Input[Mapping[str, Any]]]]] = None): + """ + :param pulumi.Input[str] query_statement: Query statement. + :param pulumi.Input[Mapping[str, pulumi.Input[Mapping[str, Any]]]] table_configurations: Table configuration. + """ + pulumi.set(__self__, "query_statement", query_statement) + if table_configurations is not None: + pulumi.set(__self__, "table_configurations", table_configurations) + + @property + @pulumi.getter(name="queryStatement") + def query_statement(self) -> pulumi.Input[str]: + """ + Query statement. + """ + return pulumi.get(self, "query_statement") + + @query_statement.setter + def query_statement(self, value: pulumi.Input[str]): + pulumi.set(self, "query_statement", value) + + @property + @pulumi.getter(name="tableConfigurations") + def table_configurations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[Mapping[str, Any]]]]]: + """ + Table configuration. + """ + return pulumi.get(self, "table_configurations") + + @table_configurations.setter + def table_configurations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[Mapping[str, Any]]]]]): + pulumi.set(self, "table_configurations", value) + + +@pulumi.input_type +class ExportExportDestinationConfigurationArgs: + def __init__(__self__, *, + s3_destinations: Optional[pulumi.Input[Sequence[pulumi.Input['ExportExportDestinationConfigurationS3DestinationArgs']]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['ExportExportDestinationConfigurationS3DestinationArgs']]] s3_destinations: Object that describes the destination of the data exports file. See the `s3_destination` argument reference below. + """ + if s3_destinations is not None: + pulumi.set(__self__, "s3_destinations", s3_destinations) + + @property + @pulumi.getter(name="s3Destinations") + def s3_destinations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExportExportDestinationConfigurationS3DestinationArgs']]]]: + """ + Object that describes the destination of the data exports file. See the `s3_destination` argument reference below. + """ + return pulumi.get(self, "s3_destinations") + + @s3_destinations.setter + def s3_destinations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExportExportDestinationConfigurationS3DestinationArgs']]]]): + pulumi.set(self, "s3_destinations", value) + + +@pulumi.input_type +class ExportExportDestinationConfigurationS3DestinationArgs: + def __init__(__self__, *, + s3_bucket: pulumi.Input[str], + s3_prefix: pulumi.Input[str], + s3_region: pulumi.Input[str], + s3_output_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs']]]] = None): + """ + :param pulumi.Input[str] s3_bucket: Name of the Amazon S3 bucket used as the destination of a data export file. + :param pulumi.Input[str] s3_prefix: S3 path prefix you want prepended to the name of your data export. + :param pulumi.Input[str] s3_region: S3 bucket region. + :param pulumi.Input[Sequence[pulumi.Input['ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs']]] s3_output_configurations: Output configuration for the data export. See the `s3_output_configurations` argument reference below. + """ + pulumi.set(__self__, "s3_bucket", s3_bucket) + pulumi.set(__self__, "s3_prefix", s3_prefix) + pulumi.set(__self__, "s3_region", s3_region) + if s3_output_configurations is not None: + pulumi.set(__self__, "s3_output_configurations", s3_output_configurations) + + @property + @pulumi.getter(name="s3Bucket") + def s3_bucket(self) -> pulumi.Input[str]: + """ + Name of the Amazon S3 bucket used as the destination of a data export file. + """ + return pulumi.get(self, "s3_bucket") + + @s3_bucket.setter + def s3_bucket(self, value: pulumi.Input[str]): + pulumi.set(self, "s3_bucket", value) + + @property + @pulumi.getter(name="s3Prefix") + def s3_prefix(self) -> pulumi.Input[str]: + """ + S3 path prefix you want prepended to the name of your data export. + """ + return pulumi.get(self, "s3_prefix") + + @s3_prefix.setter + def s3_prefix(self, value: pulumi.Input[str]): + pulumi.set(self, "s3_prefix", value) + + @property + @pulumi.getter(name="s3Region") + def s3_region(self) -> pulumi.Input[str]: + """ + S3 bucket region. + """ + return pulumi.get(self, "s3_region") + + @s3_region.setter + def s3_region(self, value: pulumi.Input[str]): + pulumi.set(self, "s3_region", value) + + @property + @pulumi.getter(name="s3OutputConfigurations") + def s3_output_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs']]]]: + """ + Output configuration for the data export. See the `s3_output_configurations` argument reference below. + """ + return pulumi.get(self, "s3_output_configurations") + + @s3_output_configurations.setter + def s3_output_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs']]]]): + pulumi.set(self, "s3_output_configurations", value) + + +@pulumi.input_type +class ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs: + def __init__(__self__, *, + compression: pulumi.Input[str], + format: pulumi.Input[str], + output_type: pulumi.Input[str], + overwrite: pulumi.Input[str]): + """ + :param pulumi.Input[str] compression: Compression type for the data export. Valid values `GZIP`, `PARQUET`. + :param pulumi.Input[str] format: File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + :param pulumi.Input[str] output_type: Output type for the data export. Valid value `CUSTOM`. + :param pulumi.Input[str] overwrite: The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + """ + pulumi.set(__self__, "compression", compression) + pulumi.set(__self__, "format", format) + pulumi.set(__self__, "output_type", output_type) + pulumi.set(__self__, "overwrite", overwrite) + + @property + @pulumi.getter + def compression(self) -> pulumi.Input[str]: + """ + Compression type for the data export. Valid values `GZIP`, `PARQUET`. + """ + return pulumi.get(self, "compression") + + @compression.setter + def compression(self, value: pulumi.Input[str]): + pulumi.set(self, "compression", value) + + @property + @pulumi.getter + def format(self) -> pulumi.Input[str]: + """ + File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + """ + return pulumi.get(self, "format") + + @format.setter + def format(self, value: pulumi.Input[str]): + pulumi.set(self, "format", value) + + @property + @pulumi.getter(name="outputType") + def output_type(self) -> pulumi.Input[str]: + """ + Output type for the data export. Valid value `CUSTOM`. + """ + return pulumi.get(self, "output_type") + + @output_type.setter + def output_type(self, value: pulumi.Input[str]): + pulumi.set(self, "output_type", value) + + @property + @pulumi.getter + def overwrite(self) -> pulumi.Input[str]: + """ + The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + """ + return pulumi.get(self, "overwrite") + + @overwrite.setter + def overwrite(self, value: pulumi.Input[str]): + pulumi.set(self, "overwrite", value) + + +@pulumi.input_type +class ExportExportRefreshCadenceArgs: + def __init__(__self__, *, + frequency: pulumi.Input[str]): + """ + :param pulumi.Input[str] frequency: Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + """ + pulumi.set(__self__, "frequency", frequency) + + @property + @pulumi.getter + def frequency(self) -> pulumi.Input[str]: + """ + Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + """ + return pulumi.get(self, "frequency") + + @frequency.setter + def frequency(self, value: pulumi.Input[str]): + pulumi.set(self, "frequency", value) + + +@pulumi.input_type +class ExportTimeoutsArgs: + def __init__(__self__, *, + create: Optional[pulumi.Input[str]] = None, + delete: Optional[pulumi.Input[str]] = None, + update: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + :param pulumi.Input[str] delete: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :param pulumi.Input[str] update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if update is not None: + pulumi.set(__self__, "update", update) + + @property + @pulumi.getter + def create(self) -> Optional[pulumi.Input[str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "create") + + @create.setter + def create(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "create", value) + + @property + @pulumi.getter + def delete(self) -> Optional[pulumi.Input[str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + return pulumi.get(self, "delete") + + @delete.setter + def delete(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "delete", value) + + @property + @pulumi.getter + def update(self) -> Optional[pulumi.Input[str]]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "update") + + @update.setter + def update(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "update", value) + + diff --git a/sdk/python/pulumi_aws/bcmdata/export.py b/sdk/python/pulumi_aws/bcmdata/export.py new file mode 100644 index 00000000000..0ff01a2e728 --- /dev/null +++ b/sdk/python/pulumi_aws/bcmdata/export.py @@ -0,0 +1,340 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['ExportArgs', 'Export'] + +@pulumi.input_type +class ExportArgs: + def __init__(__self__, *, + export: Optional[pulumi.Input['ExportExportArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input['ExportTimeoutsArgs']] = None): + """ + The set of arguments for constructing a Export resource. + :param pulumi.Input['ExportExportArgs'] export: The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + """ + if export is not None: + pulumi.set(__self__, "export", export) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter + def export(self) -> Optional[pulumi.Input['ExportExportArgs']]: + """ + The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + """ + return pulumi.get(self, "export") + + @export.setter + def export(self, value: Optional[pulumi.Input['ExportExportArgs']]): + pulumi.set(self, "export", 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['ExportTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['ExportTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _ExportState: + def __init__(__self__, *, + export: Optional[pulumi.Input['ExportExportArgs']] = 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['ExportTimeoutsArgs']] = None): + """ + Input properties used for looking up and filtering Export resources. + :param pulumi.Input['ExportExportArgs'] export: The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + """ + if export is not None: + pulumi.set(__self__, "export", export) + 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 export(self) -> Optional[pulumi.Input['ExportExportArgs']]: + """ + The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + """ + return pulumi.get(self, "export") + + @export.setter + def export(self, value: Optional[pulumi.Input['ExportExportArgs']]): + pulumi.set(self, "export", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['ExportTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['ExportTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +class Export(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + export: Optional[pulumi.Input[pulumi.InputType['ExportExportArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['ExportTimeoutsArgs']]] = None, + __props__=None): + """ + Resource for managing an AWS BCM Data Exports Export. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.bcmdata.Export("test", export=aws.bcmdata.ExportExportArgs( + name="testexample", + data_queries=[aws.bcmdata.ExportExportDataQueryArgs( + query_statement="SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT", + table_configurations={ + "COST_AND_USAGE_REPORT": { + "TIME_GRANULARITY": "HOURLY", + "INCLUDE_RESOURCES": "FALSE", + "INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY": "FALSE", + "INCLUDE_SPLIT_COST_ALLOCATION_DATA": "FALSE", + }, + }, + )], + destination_configurations=[aws.bcmdata.ExportExportDestinationConfigurationArgs( + s3_destinations=[aws.bcmdata.ExportExportDestinationConfigurationS3DestinationArgs( + s3_bucket=test_aws_s3_bucket["bucket"], + s3_prefix=test_aws_s3_bucket["bucketPrefix"], + s3_region=test_aws_s3_bucket["region"], + s3_output_configurations=[aws.bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs( + overwrite="OVERWRITE_REPORT", + format="TEXT_OR_CSV", + compression="GZIP", + output_type="CUSTOM", + )], + )], + )], + refresh_cadences=[aws.bcmdata.ExportExportRefreshCadenceArgs( + frequency="SYNCHRONOUS", + )], + )) + ``` + + ## Import + + Using `pulumi import`, import BCM Data Exports Export using the `export_arn`. For example: + + ```sh + $ pulumi import aws:bcmdata/export:Export example export-id-12345678 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['ExportExportArgs']] export: The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[ExportArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS BCM Data Exports Export. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.bcmdata.Export("test", export=aws.bcmdata.ExportExportArgs( + name="testexample", + data_queries=[aws.bcmdata.ExportExportDataQueryArgs( + query_statement="SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT", + table_configurations={ + "COST_AND_USAGE_REPORT": { + "TIME_GRANULARITY": "HOURLY", + "INCLUDE_RESOURCES": "FALSE", + "INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY": "FALSE", + "INCLUDE_SPLIT_COST_ALLOCATION_DATA": "FALSE", + }, + }, + )], + destination_configurations=[aws.bcmdata.ExportExportDestinationConfigurationArgs( + s3_destinations=[aws.bcmdata.ExportExportDestinationConfigurationS3DestinationArgs( + s3_bucket=test_aws_s3_bucket["bucket"], + s3_prefix=test_aws_s3_bucket["bucketPrefix"], + s3_region=test_aws_s3_bucket["region"], + s3_output_configurations=[aws.bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs( + overwrite="OVERWRITE_REPORT", + format="TEXT_OR_CSV", + compression="GZIP", + output_type="CUSTOM", + )], + )], + )], + refresh_cadences=[aws.bcmdata.ExportExportRefreshCadenceArgs( + frequency="SYNCHRONOUS", + )], + )) + ``` + + ## Import + + Using `pulumi import`, import BCM Data Exports Export using the `export_arn`. For example: + + ```sh + $ pulumi import aws:bcmdata/export:Export example export-id-12345678 + ``` + + :param str resource_name: The name of the resource. + :param ExportArgs 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(ExportArgs, 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, + export: Optional[pulumi.Input[pulumi.InputType['ExportExportArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['ExportTimeoutsArgs']]] = 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__ = ExportArgs.__new__(ExportArgs) + + __props__.__dict__["export"] = export + __props__.__dict__["tags"] = tags + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["tags_all"] = None + super(Export, __self__).__init__( + 'aws:bcmdata/export:Export', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + export: Optional[pulumi.Input[pulumi.InputType['ExportExportArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['ExportTimeoutsArgs']]] = None) -> 'Export': + """ + Get an existing Export 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[pulumi.InputType['ExportExportArgs']] export: The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ExportState.__new__(_ExportState) + + __props__.__dict__["export"] = export + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["timeouts"] = timeouts + return Export(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def export(self) -> pulumi.Output[Optional['outputs.ExportExport']]: + """ + The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. + """ + return pulumi.get(self, "export") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.ExportTimeouts']]: + return pulumi.get(self, "timeouts") + diff --git a/sdk/python/pulumi_aws/bcmdata/outputs.py b/sdk/python/pulumi_aws/bcmdata/outputs.py new file mode 100644 index 00000000000..e2cdd4bb27a --- /dev/null +++ b/sdk/python/pulumi_aws/bcmdata/outputs.py @@ -0,0 +1,412 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'ExportExport', + 'ExportExportDataQuery', + 'ExportExportDestinationConfiguration', + 'ExportExportDestinationConfigurationS3Destination', + 'ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration', + 'ExportExportRefreshCadence', + 'ExportTimeouts', +] + +@pulumi.output_type +class ExportExport(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "dataQueries": + suggest = "data_queries" + elif key == "destinationConfigurations": + suggest = "destination_configurations" + elif key == "exportArn": + suggest = "export_arn" + elif key == "refreshCadences": + suggest = "refresh_cadences" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ExportExport. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ExportExport.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ExportExport.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + data_queries: Optional[Sequence['outputs.ExportExportDataQuery']] = None, + description: Optional[str] = None, + destination_configurations: Optional[Sequence['outputs.ExportExportDestinationConfiguration']] = None, + export_arn: Optional[str] = None, + refresh_cadences: Optional[Sequence['outputs.ExportExportRefreshCadence']] = None): + """ + :param str name: Name of this specific data export. + :param Sequence['ExportExportDataQueryArgs'] data_queries: Data query for this specific data export. See the `data_query` argument reference below. + :param str description: Description for this specific data export. + :param Sequence['ExportExportDestinationConfigurationArgs'] destination_configurations: Destination configuration for this specific data export. See the `destination_configurations` argument reference below. + :param str export_arn: Amazon Resource Name (ARN) for this export. + :param Sequence['ExportExportRefreshCadenceArgs'] refresh_cadences: Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refresh_cadence` argument reference below. + """ + pulumi.set(__self__, "name", name) + if data_queries is not None: + pulumi.set(__self__, "data_queries", data_queries) + if description is not None: + pulumi.set(__self__, "description", description) + if destination_configurations is not None: + pulumi.set(__self__, "destination_configurations", destination_configurations) + if export_arn is not None: + pulumi.set(__self__, "export_arn", export_arn) + if refresh_cadences is not None: + pulumi.set(__self__, "refresh_cadences", refresh_cadences) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of this specific data export. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="dataQueries") + def data_queries(self) -> Optional[Sequence['outputs.ExportExportDataQuery']]: + """ + Data query for this specific data export. See the `data_query` argument reference below. + """ + return pulumi.get(self, "data_queries") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + Description for this specific data export. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="destinationConfigurations") + def destination_configurations(self) -> Optional[Sequence['outputs.ExportExportDestinationConfiguration']]: + """ + Destination configuration for this specific data export. See the `destination_configurations` argument reference below. + """ + return pulumi.get(self, "destination_configurations") + + @property + @pulumi.getter(name="exportArn") + def export_arn(self) -> Optional[str]: + """ + Amazon Resource Name (ARN) for this export. + """ + return pulumi.get(self, "export_arn") + + @property + @pulumi.getter(name="refreshCadences") + def refresh_cadences(self) -> Optional[Sequence['outputs.ExportExportRefreshCadence']]: + """ + Cadence for Amazon Web Services to update the export in your S3 bucket. See the `refresh_cadence` argument reference below. + """ + return pulumi.get(self, "refresh_cadences") + + +@pulumi.output_type +class ExportExportDataQuery(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "queryStatement": + suggest = "query_statement" + elif key == "tableConfigurations": + suggest = "table_configurations" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ExportExportDataQuery. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ExportExportDataQuery.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ExportExportDataQuery.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + query_statement: str, + table_configurations: Optional[Mapping[str, Mapping[str, Any]]] = None): + """ + :param str query_statement: Query statement. + :param Mapping[str, Mapping[str, Any]] table_configurations: Table configuration. + """ + pulumi.set(__self__, "query_statement", query_statement) + if table_configurations is not None: + pulumi.set(__self__, "table_configurations", table_configurations) + + @property + @pulumi.getter(name="queryStatement") + def query_statement(self) -> str: + """ + Query statement. + """ + return pulumi.get(self, "query_statement") + + @property + @pulumi.getter(name="tableConfigurations") + def table_configurations(self) -> Optional[Mapping[str, Mapping[str, Any]]]: + """ + Table configuration. + """ + return pulumi.get(self, "table_configurations") + + +@pulumi.output_type +class ExportExportDestinationConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "s3Destinations": + suggest = "s3_destinations" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ExportExportDestinationConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ExportExportDestinationConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ExportExportDestinationConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + s3_destinations: Optional[Sequence['outputs.ExportExportDestinationConfigurationS3Destination']] = None): + """ + :param Sequence['ExportExportDestinationConfigurationS3DestinationArgs'] s3_destinations: Object that describes the destination of the data exports file. See the `s3_destination` argument reference below. + """ + if s3_destinations is not None: + pulumi.set(__self__, "s3_destinations", s3_destinations) + + @property + @pulumi.getter(name="s3Destinations") + def s3_destinations(self) -> Optional[Sequence['outputs.ExportExportDestinationConfigurationS3Destination']]: + """ + Object that describes the destination of the data exports file. See the `s3_destination` argument reference below. + """ + return pulumi.get(self, "s3_destinations") + + +@pulumi.output_type +class ExportExportDestinationConfigurationS3Destination(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "s3Bucket": + suggest = "s3_bucket" + elif key == "s3Prefix": + suggest = "s3_prefix" + elif key == "s3Region": + suggest = "s3_region" + elif key == "s3OutputConfigurations": + suggest = "s3_output_configurations" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ExportExportDestinationConfigurationS3Destination. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ExportExportDestinationConfigurationS3Destination.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ExportExportDestinationConfigurationS3Destination.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + s3_bucket: str, + s3_prefix: str, + s3_region: str, + s3_output_configurations: Optional[Sequence['outputs.ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration']] = None): + """ + :param str s3_bucket: Name of the Amazon S3 bucket used as the destination of a data export file. + :param str s3_prefix: S3 path prefix you want prepended to the name of your data export. + :param str s3_region: S3 bucket region. + :param Sequence['ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs'] s3_output_configurations: Output configuration for the data export. See the `s3_output_configurations` argument reference below. + """ + pulumi.set(__self__, "s3_bucket", s3_bucket) + pulumi.set(__self__, "s3_prefix", s3_prefix) + pulumi.set(__self__, "s3_region", s3_region) + if s3_output_configurations is not None: + pulumi.set(__self__, "s3_output_configurations", s3_output_configurations) + + @property + @pulumi.getter(name="s3Bucket") + def s3_bucket(self) -> str: + """ + Name of the Amazon S3 bucket used as the destination of a data export file. + """ + return pulumi.get(self, "s3_bucket") + + @property + @pulumi.getter(name="s3Prefix") + def s3_prefix(self) -> str: + """ + S3 path prefix you want prepended to the name of your data export. + """ + return pulumi.get(self, "s3_prefix") + + @property + @pulumi.getter(name="s3Region") + def s3_region(self) -> str: + """ + S3 bucket region. + """ + return pulumi.get(self, "s3_region") + + @property + @pulumi.getter(name="s3OutputConfigurations") + def s3_output_configurations(self) -> Optional[Sequence['outputs.ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration']]: + """ + Output configuration for the data export. See the `s3_output_configurations` argument reference below. + """ + return pulumi.get(self, "s3_output_configurations") + + +@pulumi.output_type +class ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "outputType": + suggest = "output_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ExportExportDestinationConfigurationS3DestinationS3OutputConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + compression: str, + format: str, + output_type: str, + overwrite: str): + """ + :param str compression: Compression type for the data export. Valid values `GZIP`, `PARQUET`. + :param str format: File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + :param str output_type: Output type for the data export. Valid value `CUSTOM`. + :param str overwrite: The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + """ + pulumi.set(__self__, "compression", compression) + pulumi.set(__self__, "format", format) + pulumi.set(__self__, "output_type", output_type) + pulumi.set(__self__, "overwrite", overwrite) + + @property + @pulumi.getter + def compression(self) -> str: + """ + Compression type for the data export. Valid values `GZIP`, `PARQUET`. + """ + return pulumi.get(self, "compression") + + @property + @pulumi.getter + def format(self) -> str: + """ + File format for the data export. Valid values `TEXT_OR_CSV` or `PARQUET`. + """ + return pulumi.get(self, "format") + + @property + @pulumi.getter(name="outputType") + def output_type(self) -> str: + """ + Output type for the data export. Valid value `CUSTOM`. + """ + return pulumi.get(self, "output_type") + + @property + @pulumi.getter + def overwrite(self) -> str: + """ + The rule to follow when generating a version of the data export file. You have the choice to overwrite the previous version or to be delivered in addition to the previous versions. Overwriting exports can save on Amazon S3 storage costs. Creating new export versions allows you to track the changes in cost and usage data over time. Valid values `CREATE_NEW_REPORT` or `OVERWRITE_REPORT`. + """ + return pulumi.get(self, "overwrite") + + +@pulumi.output_type +class ExportExportRefreshCadence(dict): + def __init__(__self__, *, + frequency: str): + """ + :param str frequency: Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + """ + pulumi.set(__self__, "frequency", frequency) + + @property + @pulumi.getter + def frequency(self) -> str: + """ + Frequency that data exports are updated. The export refreshes each time the source data updates, up to three times daily. Valid values `SYNCHRONOUS`. + """ + return pulumi.get(self, "frequency") + + +@pulumi.output_type +class ExportTimeouts(dict): + def __init__(__self__, *, + create: Optional[str] = None, + delete: Optional[str] = None, + update: Optional[str] = None): + """ + :param str create: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + :param str delete: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :param str update: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if update is not None: + pulumi.set(__self__, "update", update) + + @property + @pulumi.getter + def create(self) -> Optional[str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "create") + + @property + @pulumi.getter + def delete(self) -> Optional[str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + return pulumi.get(self, "delete") + + @property + @pulumi.getter + def update(self) -> Optional[str]: + """ + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + """ + return pulumi.get(self, "update") + + diff --git a/sdk/python/pulumi_aws/bedrock/__init__.py b/sdk/python/pulumi_aws/bedrock/__init__.py index 8d4c48afbd3..2ed20f78855 100644 --- a/sdk/python/pulumi_aws/bedrock/__init__.py +++ b/sdk/python/pulumi_aws/bedrock/__init__.py @@ -5,6 +5,10 @@ from .. import _utilities import typing # Export this package's modules as members: +from .agent_agent import * +from .agent_agent_action_group import * +from .agent_agent_alias import * +from .agent_knowledge_base import * from .custom_model import * from .get_custom_model import * from .get_custom_models import * diff --git a/sdk/python/pulumi_aws/bedrock/_inputs.py b/sdk/python/pulumi_aws/bedrock/_inputs.py index 31a43058f45..c67d3928014 100644 --- a/sdk/python/pulumi_aws/bedrock/_inputs.py +++ b/sdk/python/pulumi_aws/bedrock/_inputs.py @@ -10,6 +10,25 @@ from .. import _utilities __all__ = [ + 'AgentAgentActionGroupActionGroupExecutorArgs', + 'AgentAgentActionGroupApiSchemaArgs', + 'AgentAgentActionGroupApiSchemaS3Args', + 'AgentAgentAliasRoutingConfigurationArgs', + 'AgentAgentAliasTimeoutsArgs', + 'AgentAgentPromptOverrideConfigurationArgs', + 'AgentAgentTimeoutsArgs', + 'AgentKnowledgeBaseKnowledgeBaseConfigurationArgs', + 'AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs', + 'AgentKnowledgeBaseStorageConfigurationArgs', + 'AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs', + 'AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs', + 'AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs', + 'AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs', + 'AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs', + 'AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs', + 'AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs', + 'AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs', + 'AgentKnowledgeBaseTimeoutsArgs', 'CustomModelOutputDataConfigArgs', 'CustomModelTimeoutsArgs', 'CustomModelTrainingDataConfigArgs', @@ -21,6 +40,974 @@ 'ProvisionedModelThroughputTimeoutsArgs', ] +@pulumi.input_type +class AgentAgentActionGroupActionGroupExecutorArgs: + def __init__(__self__, *, + lambda_: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] lambda_: ARN of the Lambda that defines the business logic for the action group. + """ + if lambda_ is not None: + pulumi.set(__self__, "lambda_", lambda_) + + @property + @pulumi.getter(name="lambda") + def lambda_(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the Lambda that defines the business logic for the action group. + """ + return pulumi.get(self, "lambda_") + + @lambda_.setter + def lambda_(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "lambda_", value) + + +@pulumi.input_type +class AgentAgentActionGroupApiSchemaArgs: + def __init__(__self__, *, + payload: Optional[pulumi.Input[str]] = None, + s3: Optional[pulumi.Input['AgentAgentActionGroupApiSchemaS3Args']] = None): + """ + :param pulumi.Input[str] payload: YAML or JSON OpenAPI Schema. + :param pulumi.Input['AgentAgentActionGroupApiSchemaS3Args'] s3: Configuration of S3 schema location + """ + if payload is not None: + pulumi.set(__self__, "payload", payload) + if s3 is not None: + pulumi.set(__self__, "s3", s3) + + @property + @pulumi.getter + def payload(self) -> Optional[pulumi.Input[str]]: + """ + YAML or JSON OpenAPI Schema. + """ + return pulumi.get(self, "payload") + + @payload.setter + def payload(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "payload", value) + + @property + @pulumi.getter + def s3(self) -> Optional[pulumi.Input['AgentAgentActionGroupApiSchemaS3Args']]: + """ + Configuration of S3 schema location + """ + return pulumi.get(self, "s3") + + @s3.setter + def s3(self, value: Optional[pulumi.Input['AgentAgentActionGroupApiSchemaS3Args']]): + pulumi.set(self, "s3", value) + + +@pulumi.input_type +class AgentAgentActionGroupApiSchemaS3Args: + def __init__(__self__, *, + s3_bucket_name: Optional[pulumi.Input[str]] = None, + s3_object_key: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] s3_bucket_name: The S3 bucket name that contains the OpenAPI Schema. + :param pulumi.Input[str] s3_object_key: The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + + The following arguments are optional: + """ + if s3_bucket_name is not None: + pulumi.set(__self__, "s3_bucket_name", s3_bucket_name) + if s3_object_key is not None: + pulumi.set(__self__, "s3_object_key", s3_object_key) + + @property + @pulumi.getter(name="s3BucketName") + def s3_bucket_name(self) -> Optional[pulumi.Input[str]]: + """ + The S3 bucket name that contains the OpenAPI Schema. + """ + return pulumi.get(self, "s3_bucket_name") + + @s3_bucket_name.setter + def s3_bucket_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "s3_bucket_name", value) + + @property + @pulumi.getter(name="s3ObjectKey") + def s3_object_key(self) -> Optional[pulumi.Input[str]]: + """ + The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + + The following arguments are optional: + """ + return pulumi.get(self, "s3_object_key") + + @s3_object_key.setter + def s3_object_key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "s3_object_key", value) + + +@pulumi.input_type +class AgentAgentAliasRoutingConfigurationArgs: + def __init__(__self__, *, + agent_version: pulumi.Input[str]): + """ + :param pulumi.Input[str] agent_version: Version of the agent the alias routes to. + """ + pulumi.set(__self__, "agent_version", agent_version) + + @property + @pulumi.getter(name="agentVersion") + def agent_version(self) -> pulumi.Input[str]: + """ + Version of the agent the alias routes to. + """ + return pulumi.get(self, "agent_version") + + @agent_version.setter + def agent_version(self, value: pulumi.Input[str]): + pulumi.set(self, "agent_version", value) + + +@pulumi.input_type +class AgentAgentAliasTimeoutsArgs: + 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) + + +@pulumi.input_type +class AgentAgentPromptOverrideConfigurationArgs: + def __init__(__self__, *, + override_lambda: pulumi.Input[str], + prompt_configurations: pulumi.Input[Sequence[Any]]): + """ + :param pulumi.Input[str] override_lambda: ARN of Lambda to use when parsing the raw foundation model output. + :param pulumi.Input[Sequence[Any]] prompt_configurations: List of prompt configurations. + + The following arguments are optional: + """ + pulumi.set(__self__, "override_lambda", override_lambda) + pulumi.set(__self__, "prompt_configurations", prompt_configurations) + + @property + @pulumi.getter(name="overrideLambda") + def override_lambda(self) -> pulumi.Input[str]: + """ + ARN of Lambda to use when parsing the raw foundation model output. + """ + return pulumi.get(self, "override_lambda") + + @override_lambda.setter + def override_lambda(self, value: pulumi.Input[str]): + pulumi.set(self, "override_lambda", value) + + @property + @pulumi.getter(name="promptConfigurations") + def prompt_configurations(self) -> pulumi.Input[Sequence[Any]]: + """ + List of prompt configurations. + + The following arguments are optional: + """ + return pulumi.get(self, "prompt_configurations") + + @prompt_configurations.setter + def prompt_configurations(self, value: pulumi.Input[Sequence[Any]]): + pulumi.set(self, "prompt_configurations", value) + + +@pulumi.input_type +class AgentAgentTimeoutsArgs: + 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) + + +@pulumi.input_type +class AgentKnowledgeBaseKnowledgeBaseConfigurationArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + vector_knowledge_base_configuration: Optional[pulumi.Input['AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs']] = None): + """ + :param pulumi.Input[str] type: The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + :param pulumi.Input['AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs'] vector_knowledge_base_configuration: Contains details about the embeddings model that'sused to convert the data source. + """ + pulumi.set(__self__, "type", type) + if vector_knowledge_base_configuration is not None: + pulumi.set(__self__, "vector_knowledge_base_configuration", vector_knowledge_base_configuration) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="vectorKnowledgeBaseConfiguration") + def vector_knowledge_base_configuration(self) -> Optional[pulumi.Input['AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs']]: + """ + Contains details about the embeddings model that'sused to convert the data source. + """ + return pulumi.get(self, "vector_knowledge_base_configuration") + + @vector_knowledge_base_configuration.setter + def vector_knowledge_base_configuration(self, value: Optional[pulumi.Input['AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs']]): + pulumi.set(self, "vector_knowledge_base_configuration", value) + + +@pulumi.input_type +class AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs: + def __init__(__self__, *, + embedding_model_arn: pulumi.Input[str]): + """ + :param pulumi.Input[str] embedding_model_arn: The ARN of the model used to create vector embeddings for the knowledge base. + """ + pulumi.set(__self__, "embedding_model_arn", embedding_model_arn) + + @property + @pulumi.getter(name="embeddingModelArn") + def embedding_model_arn(self) -> pulumi.Input[str]: + """ + The ARN of the model used to create vector embeddings for the knowledge base. + """ + return pulumi.get(self, "embedding_model_arn") + + @embedding_model_arn.setter + def embedding_model_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "embedding_model_arn", value) + + +@pulumi.input_type +class AgentKnowledgeBaseStorageConfigurationArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + opensearch_serverless_configuration: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs']] = None, + pinecone_configuration: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs']] = None, + rds_configuration: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs']] = None, + redis_enterprise_cloud_configuration: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs']] = None): + """ + :param pulumi.Input[str] type: The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + :param pulumi.Input['AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs'] opensearch_serverless_configuration: Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + :param pulumi.Input['AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs'] pinecone_configuration: Contains the storage configuration of the knowledge base in Pinecone. + :param pulumi.Input['AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs'] rds_configuration: Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + :param pulumi.Input['AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs'] redis_enterprise_cloud_configuration: Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + """ + pulumi.set(__self__, "type", type) + if opensearch_serverless_configuration is not None: + pulumi.set(__self__, "opensearch_serverless_configuration", opensearch_serverless_configuration) + if pinecone_configuration is not None: + pulumi.set(__self__, "pinecone_configuration", pinecone_configuration) + if rds_configuration is not None: + pulumi.set(__self__, "rds_configuration", rds_configuration) + if redis_enterprise_cloud_configuration is not None: + pulumi.set(__self__, "redis_enterprise_cloud_configuration", redis_enterprise_cloud_configuration) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter(name="opensearchServerlessConfiguration") + def opensearch_serverless_configuration(self) -> Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs']]: + """ + Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + """ + return pulumi.get(self, "opensearch_serverless_configuration") + + @opensearch_serverless_configuration.setter + def opensearch_serverless_configuration(self, value: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs']]): + pulumi.set(self, "opensearch_serverless_configuration", value) + + @property + @pulumi.getter(name="pineconeConfiguration") + def pinecone_configuration(self) -> Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs']]: + """ + Contains the storage configuration of the knowledge base in Pinecone. + """ + return pulumi.get(self, "pinecone_configuration") + + @pinecone_configuration.setter + def pinecone_configuration(self, value: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs']]): + pulumi.set(self, "pinecone_configuration", value) + + @property + @pulumi.getter(name="rdsConfiguration") + def rds_configuration(self) -> Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs']]: + """ + Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + """ + return pulumi.get(self, "rds_configuration") + + @rds_configuration.setter + def rds_configuration(self, value: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs']]): + pulumi.set(self, "rds_configuration", value) + + @property + @pulumi.getter(name="redisEnterpriseCloudConfiguration") + def redis_enterprise_cloud_configuration(self) -> Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs']]: + """ + Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + """ + return pulumi.get(self, "redis_enterprise_cloud_configuration") + + @redis_enterprise_cloud_configuration.setter + def redis_enterprise_cloud_configuration(self, value: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs']]): + pulumi.set(self, "redis_enterprise_cloud_configuration", value) + + +@pulumi.input_type +class AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs: + def __init__(__self__, *, + collection_arn: pulumi.Input[str], + vector_index_name: pulumi.Input[str], + field_mapping: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs']] = None): + """ + :param pulumi.Input[str] collection_arn: The ARN of the OpenSearch Service vector store. + :param pulumi.Input[str] vector_index_name: The name of the vector store. + :param pulumi.Input['AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs'] field_mapping: Contains the names of the fields to which to map information about the vector store. + """ + pulumi.set(__self__, "collection_arn", collection_arn) + pulumi.set(__self__, "vector_index_name", vector_index_name) + if field_mapping is not None: + pulumi.set(__self__, "field_mapping", field_mapping) + + @property + @pulumi.getter(name="collectionArn") + def collection_arn(self) -> pulumi.Input[str]: + """ + The ARN of the OpenSearch Service vector store. + """ + return pulumi.get(self, "collection_arn") + + @collection_arn.setter + def collection_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "collection_arn", value) + + @property + @pulumi.getter(name="vectorIndexName") + def vector_index_name(self) -> pulumi.Input[str]: + """ + The name of the vector store. + """ + return pulumi.get(self, "vector_index_name") + + @vector_index_name.setter + def vector_index_name(self, value: pulumi.Input[str]): + pulumi.set(self, "vector_index_name", value) + + @property + @pulumi.getter(name="fieldMapping") + def field_mapping(self) -> Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs']]: + """ + Contains the names of the fields to which to map information about the vector store. + """ + return pulumi.get(self, "field_mapping") + + @field_mapping.setter + def field_mapping(self, value: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs']]): + pulumi.set(self, "field_mapping", value) + + +@pulumi.input_type +class AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs: + def __init__(__self__, *, + metadata_field: Optional[pulumi.Input[str]] = None, + text_field: Optional[pulumi.Input[str]] = None, + vector_field: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] metadata_field: The name of the field in which Amazon Bedrock stores metadata about the vector store. + :param pulumi.Input[str] text_field: The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + :param pulumi.Input[str] vector_field: The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + """ + if metadata_field is not None: + pulumi.set(__self__, "metadata_field", metadata_field) + if text_field is not None: + pulumi.set(__self__, "text_field", text_field) + if vector_field is not None: + pulumi.set(__self__, "vector_field", vector_field) + + @property + @pulumi.getter(name="metadataField") + def metadata_field(self) -> Optional[pulumi.Input[str]]: + """ + The name of the field in which Amazon Bedrock stores metadata about the vector store. + """ + return pulumi.get(self, "metadata_field") + + @metadata_field.setter + def metadata_field(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metadata_field", value) + + @property + @pulumi.getter(name="textField") + def text_field(self) -> Optional[pulumi.Input[str]]: + """ + The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + """ + return pulumi.get(self, "text_field") + + @text_field.setter + def text_field(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "text_field", value) + + @property + @pulumi.getter(name="vectorField") + def vector_field(self) -> Optional[pulumi.Input[str]]: + """ + The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + """ + return pulumi.get(self, "vector_field") + + @vector_field.setter + def vector_field(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vector_field", value) + + +@pulumi.input_type +class AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs: + def __init__(__self__, *, + connection_string: pulumi.Input[str], + credentials_secret_arn: pulumi.Input[str], + field_mapping: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs']] = None, + namespace: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] connection_string: The endpoint URL for your index management page. + :param pulumi.Input[str] credentials_secret_arn: The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + :param pulumi.Input['AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs'] field_mapping: Contains the names of the fields to which to map information about the vector store. + :param pulumi.Input[str] namespace: The namespace to be used to write new data to your database. + """ + pulumi.set(__self__, "connection_string", connection_string) + pulumi.set(__self__, "credentials_secret_arn", credentials_secret_arn) + if field_mapping is not None: + pulumi.set(__self__, "field_mapping", field_mapping) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + + @property + @pulumi.getter(name="connectionString") + def connection_string(self) -> pulumi.Input[str]: + """ + The endpoint URL for your index management page. + """ + return pulumi.get(self, "connection_string") + + @connection_string.setter + def connection_string(self, value: pulumi.Input[str]): + pulumi.set(self, "connection_string", value) + + @property + @pulumi.getter(name="credentialsSecretArn") + def credentials_secret_arn(self) -> pulumi.Input[str]: + """ + The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + """ + return pulumi.get(self, "credentials_secret_arn") + + @credentials_secret_arn.setter + def credentials_secret_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "credentials_secret_arn", value) + + @property + @pulumi.getter(name="fieldMapping") + def field_mapping(self) -> Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs']]: + """ + Contains the names of the fields to which to map information about the vector store. + """ + return pulumi.get(self, "field_mapping") + + @field_mapping.setter + def field_mapping(self, value: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs']]): + pulumi.set(self, "field_mapping", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + """ + The namespace to be used to write new data to your database. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + +@pulumi.input_type +class AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs: + def __init__(__self__, *, + metadata_field: Optional[pulumi.Input[str]] = None, + text_field: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] metadata_field: The name of the field in which Amazon Bedrock stores metadata about the vector store. + :param pulumi.Input[str] text_field: The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + """ + if metadata_field is not None: + pulumi.set(__self__, "metadata_field", metadata_field) + if text_field is not None: + pulumi.set(__self__, "text_field", text_field) + + @property + @pulumi.getter(name="metadataField") + def metadata_field(self) -> Optional[pulumi.Input[str]]: + """ + The name of the field in which Amazon Bedrock stores metadata about the vector store. + """ + return pulumi.get(self, "metadata_field") + + @metadata_field.setter + def metadata_field(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metadata_field", value) + + @property + @pulumi.getter(name="textField") + def text_field(self) -> Optional[pulumi.Input[str]]: + """ + The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + """ + return pulumi.get(self, "text_field") + + @text_field.setter + def text_field(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "text_field", value) + + +@pulumi.input_type +class AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs: + def __init__(__self__, *, + credentials_secret_arn: pulumi.Input[str], + database_name: pulumi.Input[str], + resource_arn: pulumi.Input[str], + table_name: pulumi.Input[str], + field_mapping: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs']] = None): + """ + :param pulumi.Input[str] credentials_secret_arn: The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + :param pulumi.Input[str] database_name: The name of your Amazon RDS database. + :param pulumi.Input[str] resource_arn: The namespace to be used to write new data to your database. + :param pulumi.Input[str] table_name: The name of the table in the database. + :param pulumi.Input['AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs'] field_mapping: Contains the names of the fields to which to map information about the vector store. + """ + pulumi.set(__self__, "credentials_secret_arn", credentials_secret_arn) + pulumi.set(__self__, "database_name", database_name) + pulumi.set(__self__, "resource_arn", resource_arn) + pulumi.set(__self__, "table_name", table_name) + if field_mapping is not None: + pulumi.set(__self__, "field_mapping", field_mapping) + + @property + @pulumi.getter(name="credentialsSecretArn") + def credentials_secret_arn(self) -> pulumi.Input[str]: + """ + The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + """ + return pulumi.get(self, "credentials_secret_arn") + + @credentials_secret_arn.setter + def credentials_secret_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "credentials_secret_arn", value) + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> pulumi.Input[str]: + """ + The name of your Amazon RDS database. + """ + return pulumi.get(self, "database_name") + + @database_name.setter + def database_name(self, value: pulumi.Input[str]): + pulumi.set(self, "database_name", value) + + @property + @pulumi.getter(name="resourceArn") + def resource_arn(self) -> pulumi.Input[str]: + """ + The namespace to be used to write new data to your database. + """ + return pulumi.get(self, "resource_arn") + + @resource_arn.setter + def resource_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_arn", value) + + @property + @pulumi.getter(name="tableName") + def table_name(self) -> pulumi.Input[str]: + """ + The name of the table in the database. + """ + return pulumi.get(self, "table_name") + + @table_name.setter + def table_name(self, value: pulumi.Input[str]): + pulumi.set(self, "table_name", value) + + @property + @pulumi.getter(name="fieldMapping") + def field_mapping(self) -> Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs']]: + """ + Contains the names of the fields to which to map information about the vector store. + """ + return pulumi.get(self, "field_mapping") + + @field_mapping.setter + def field_mapping(self, value: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs']]): + pulumi.set(self, "field_mapping", value) + + +@pulumi.input_type +class AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs: + def __init__(__self__, *, + metadata_field: pulumi.Input[str], + primary_key_field: pulumi.Input[str], + text_field: pulumi.Input[str], + vector_field: pulumi.Input[str]): + """ + :param pulumi.Input[str] metadata_field: The name of the field in which Amazon Bedrock stores metadata about the vector store. + :param pulumi.Input[str] primary_key_field: The name of the field in which Amazon Bedrock stores the ID for each entry. + :param pulumi.Input[str] text_field: The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + :param pulumi.Input[str] vector_field: The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + """ + pulumi.set(__self__, "metadata_field", metadata_field) + pulumi.set(__self__, "primary_key_field", primary_key_field) + pulumi.set(__self__, "text_field", text_field) + pulumi.set(__self__, "vector_field", vector_field) + + @property + @pulumi.getter(name="metadataField") + def metadata_field(self) -> pulumi.Input[str]: + """ + The name of the field in which Amazon Bedrock stores metadata about the vector store. + """ + return pulumi.get(self, "metadata_field") + + @metadata_field.setter + def metadata_field(self, value: pulumi.Input[str]): + pulumi.set(self, "metadata_field", value) + + @property + @pulumi.getter(name="primaryKeyField") + def primary_key_field(self) -> pulumi.Input[str]: + """ + The name of the field in which Amazon Bedrock stores the ID for each entry. + """ + return pulumi.get(self, "primary_key_field") + + @primary_key_field.setter + def primary_key_field(self, value: pulumi.Input[str]): + pulumi.set(self, "primary_key_field", value) + + @property + @pulumi.getter(name="textField") + def text_field(self) -> pulumi.Input[str]: + """ + The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + """ + return pulumi.get(self, "text_field") + + @text_field.setter + def text_field(self, value: pulumi.Input[str]): + pulumi.set(self, "text_field", value) + + @property + @pulumi.getter(name="vectorField") + def vector_field(self) -> pulumi.Input[str]: + """ + The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + """ + return pulumi.get(self, "vector_field") + + @vector_field.setter + def vector_field(self, value: pulumi.Input[str]): + pulumi.set(self, "vector_field", value) + + +@pulumi.input_type +class AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs: + def __init__(__self__, *, + credentials_secret_arn: pulumi.Input[str], + endpoint: pulumi.Input[str], + vector_index_name: pulumi.Input[str], + field_mapping: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs']] = None): + """ + :param pulumi.Input[str] credentials_secret_arn: The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + :param pulumi.Input[str] endpoint: The endpoint URL of the Redis Enterprise Cloud database. + :param pulumi.Input[str] vector_index_name: The name of the vector store. + :param pulumi.Input['AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs'] field_mapping: Contains the names of the fields to which to map information about the vector store. + """ + pulumi.set(__self__, "credentials_secret_arn", credentials_secret_arn) + pulumi.set(__self__, "endpoint", endpoint) + pulumi.set(__self__, "vector_index_name", vector_index_name) + if field_mapping is not None: + pulumi.set(__self__, "field_mapping", field_mapping) + + @property + @pulumi.getter(name="credentialsSecretArn") + def credentials_secret_arn(self) -> pulumi.Input[str]: + """ + The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + """ + return pulumi.get(self, "credentials_secret_arn") + + @credentials_secret_arn.setter + def credentials_secret_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "credentials_secret_arn", value) + + @property + @pulumi.getter + def endpoint(self) -> pulumi.Input[str]: + """ + The endpoint URL of the Redis Enterprise Cloud database. + """ + return pulumi.get(self, "endpoint") + + @endpoint.setter + def endpoint(self, value: pulumi.Input[str]): + pulumi.set(self, "endpoint", value) + + @property + @pulumi.getter(name="vectorIndexName") + def vector_index_name(self) -> pulumi.Input[str]: + """ + The name of the vector store. + """ + return pulumi.get(self, "vector_index_name") + + @vector_index_name.setter + def vector_index_name(self, value: pulumi.Input[str]): + pulumi.set(self, "vector_index_name", value) + + @property + @pulumi.getter(name="fieldMapping") + def field_mapping(self) -> Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs']]: + """ + Contains the names of the fields to which to map information about the vector store. + """ + return pulumi.get(self, "field_mapping") + + @field_mapping.setter + def field_mapping(self, value: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs']]): + pulumi.set(self, "field_mapping", value) + + +@pulumi.input_type +class AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs: + def __init__(__self__, *, + metadata_field: Optional[pulumi.Input[str]] = None, + text_field: Optional[pulumi.Input[str]] = None, + vector_field: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] metadata_field: The name of the field in which Amazon Bedrock stores metadata about the vector store. + :param pulumi.Input[str] text_field: The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + :param pulumi.Input[str] vector_field: The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + """ + if metadata_field is not None: + pulumi.set(__self__, "metadata_field", metadata_field) + if text_field is not None: + pulumi.set(__self__, "text_field", text_field) + if vector_field is not None: + pulumi.set(__self__, "vector_field", vector_field) + + @property + @pulumi.getter(name="metadataField") + def metadata_field(self) -> Optional[pulumi.Input[str]]: + """ + The name of the field in which Amazon Bedrock stores metadata about the vector store. + """ + return pulumi.get(self, "metadata_field") + + @metadata_field.setter + def metadata_field(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metadata_field", value) + + @property + @pulumi.getter(name="textField") + def text_field(self) -> Optional[pulumi.Input[str]]: + """ + The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + """ + return pulumi.get(self, "text_field") + + @text_field.setter + def text_field(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "text_field", value) + + @property + @pulumi.getter(name="vectorField") + def vector_field(self) -> Optional[pulumi.Input[str]]: + """ + The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + """ + return pulumi.get(self, "vector_field") + + @vector_field.setter + def vector_field(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "vector_field", value) + + +@pulumi.input_type +class AgentKnowledgeBaseTimeoutsArgs: + 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) + + @pulumi.input_type class CustomModelOutputDataConfigArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/bedrock/agent_agent.py b/sdk/python/pulumi_aws/bedrock/agent_agent.py new file mode 100644 index 00000000000..60bbf22a4a8 --- /dev/null +++ b/sdk/python/pulumi_aws/bedrock/agent_agent.py @@ -0,0 +1,829 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['AgentAgentArgs', 'AgentAgent'] + +@pulumi.input_type +class AgentAgentArgs: + def __init__(__self__, *, + agent_name: pulumi.Input[str], + agent_resource_role_arn: pulumi.Input[str], + foundation_model: pulumi.Input[str], + customer_encryption_key_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + idle_session_ttl_in_seconds: Optional[pulumi.Input[int]] = None, + instruction: Optional[pulumi.Input[str]] = None, + prepare_agent: Optional[pulumi.Input[bool]] = None, + prompt_override_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['AgentAgentPromptOverrideConfigurationArgs']]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input['AgentAgentTimeoutsArgs']] = None): + """ + The set of arguments for constructing a AgentAgent resource. + :param pulumi.Input[str] agent_name: Name for the agent. + :param pulumi.Input[str] agent_resource_role_arn: ARN of the Role for the agent. + :param pulumi.Input[str] foundation_model: Foundation model for the agent to use. + + The following arguments are optional: + :param pulumi.Input[str] customer_encryption_key_arn: ARN of customer manager key to use for encryption. + :param pulumi.Input[str] description: Description of the agent. + :param pulumi.Input[int] idle_session_ttl_in_seconds: TTL in seconds for the agent to idle. + :param pulumi.Input[str] instruction: Instructions to tell agent what it should do. + :param pulumi.Input[Sequence[pulumi.Input['AgentAgentPromptOverrideConfigurationArgs']]] prompt_override_configurations: Prompt Override Configuration + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value tags for the place index. 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__, "agent_name", agent_name) + pulumi.set(__self__, "agent_resource_role_arn", agent_resource_role_arn) + pulumi.set(__self__, "foundation_model", foundation_model) + if customer_encryption_key_arn is not None: + pulumi.set(__self__, "customer_encryption_key_arn", customer_encryption_key_arn) + if description is not None: + pulumi.set(__self__, "description", description) + if idle_session_ttl_in_seconds is not None: + pulumi.set(__self__, "idle_session_ttl_in_seconds", idle_session_ttl_in_seconds) + if instruction is not None: + pulumi.set(__self__, "instruction", instruction) + if prepare_agent is not None: + pulumi.set(__self__, "prepare_agent", prepare_agent) + if prompt_override_configurations is not None: + pulumi.set(__self__, "prompt_override_configurations", prompt_override_configurations) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter(name="agentName") + def agent_name(self) -> pulumi.Input[str]: + """ + Name for the agent. + """ + return pulumi.get(self, "agent_name") + + @agent_name.setter + def agent_name(self, value: pulumi.Input[str]): + pulumi.set(self, "agent_name", value) + + @property + @pulumi.getter(name="agentResourceRoleArn") + def agent_resource_role_arn(self) -> pulumi.Input[str]: + """ + ARN of the Role for the agent. + """ + return pulumi.get(self, "agent_resource_role_arn") + + @agent_resource_role_arn.setter + def agent_resource_role_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "agent_resource_role_arn", value) + + @property + @pulumi.getter(name="foundationModel") + def foundation_model(self) -> pulumi.Input[str]: + """ + Foundation model for the agent to use. + + The following arguments are optional: + """ + return pulumi.get(self, "foundation_model") + + @foundation_model.setter + def foundation_model(self, value: pulumi.Input[str]): + pulumi.set(self, "foundation_model", value) + + @property + @pulumi.getter(name="customerEncryptionKeyArn") + def customer_encryption_key_arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of customer manager key to use for encryption. + """ + return pulumi.get(self, "customer_encryption_key_arn") + + @customer_encryption_key_arn.setter + def customer_encryption_key_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "customer_encryption_key_arn", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of the agent. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="idleSessionTtlInSeconds") + def idle_session_ttl_in_seconds(self) -> Optional[pulumi.Input[int]]: + """ + TTL in seconds for the agent to idle. + """ + return pulumi.get(self, "idle_session_ttl_in_seconds") + + @idle_session_ttl_in_seconds.setter + def idle_session_ttl_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "idle_session_ttl_in_seconds", value) + + @property + @pulumi.getter + def instruction(self) -> Optional[pulumi.Input[str]]: + """ + Instructions to tell agent what it should do. + """ + return pulumi.get(self, "instruction") + + @instruction.setter + def instruction(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instruction", value) + + @property + @pulumi.getter(name="prepareAgent") + def prepare_agent(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "prepare_agent") + + @prepare_agent.setter + def prepare_agent(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "prepare_agent", value) + + @property + @pulumi.getter(name="promptOverrideConfigurations") + def prompt_override_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AgentAgentPromptOverrideConfigurationArgs']]]]: + """ + Prompt Override Configuration + """ + return pulumi.get(self, "prompt_override_configurations") + + @prompt_override_configurations.setter + def prompt_override_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AgentAgentPromptOverrideConfigurationArgs']]]]): + pulumi.set(self, "prompt_override_configurations", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value tags for the place index. 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['AgentAgentTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['AgentAgentTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _AgentAgentState: + def __init__(__self__, *, + agent_arn: Optional[pulumi.Input[str]] = None, + agent_id: Optional[pulumi.Input[str]] = None, + agent_name: Optional[pulumi.Input[str]] = None, + agent_resource_role_arn: Optional[pulumi.Input[str]] = None, + agent_version: Optional[pulumi.Input[str]] = None, + customer_encryption_key_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + foundation_model: Optional[pulumi.Input[str]] = None, + idle_session_ttl_in_seconds: Optional[pulumi.Input[int]] = None, + instruction: Optional[pulumi.Input[str]] = None, + prepare_agent: Optional[pulumi.Input[bool]] = None, + prompt_override_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['AgentAgentPromptOverrideConfigurationArgs']]]] = 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['AgentAgentTimeoutsArgs']] = None): + """ + Input properties used for looking up and filtering AgentAgent resources. + :param pulumi.Input[str] agent_arn: ARN of the Agent. + :param pulumi.Input[str] agent_id: ID of the Agent. + :param pulumi.Input[str] agent_name: Name for the agent. + :param pulumi.Input[str] agent_resource_role_arn: ARN of the Role for the agent. + :param pulumi.Input[str] agent_version: Version of the Agent. + :param pulumi.Input[str] customer_encryption_key_arn: ARN of customer manager key to use for encryption. + :param pulumi.Input[str] description: Description of the agent. + :param pulumi.Input[str] foundation_model: Foundation model for the agent to use. + + The following arguments are optional: + :param pulumi.Input[int] idle_session_ttl_in_seconds: TTL in seconds for the agent to idle. + :param pulumi.Input[str] instruction: Instructions to tell agent what it should do. + :param pulumi.Input[Sequence[pulumi.Input['AgentAgentPromptOverrideConfigurationArgs']]] prompt_override_configurations: Prompt Override Configuration + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if agent_arn is not None: + pulumi.set(__self__, "agent_arn", agent_arn) + if agent_id is not None: + pulumi.set(__self__, "agent_id", agent_id) + if agent_name is not None: + pulumi.set(__self__, "agent_name", agent_name) + if agent_resource_role_arn is not None: + pulumi.set(__self__, "agent_resource_role_arn", agent_resource_role_arn) + if agent_version is not None: + pulumi.set(__self__, "agent_version", agent_version) + if customer_encryption_key_arn is not None: + pulumi.set(__self__, "customer_encryption_key_arn", customer_encryption_key_arn) + if description is not None: + pulumi.set(__self__, "description", description) + if foundation_model is not None: + pulumi.set(__self__, "foundation_model", foundation_model) + if idle_session_ttl_in_seconds is not None: + pulumi.set(__self__, "idle_session_ttl_in_seconds", idle_session_ttl_in_seconds) + if instruction is not None: + pulumi.set(__self__, "instruction", instruction) + if prepare_agent is not None: + pulumi.set(__self__, "prepare_agent", prepare_agent) + if prompt_override_configurations is not None: + pulumi.set(__self__, "prompt_override_configurations", prompt_override_configurations) + 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(name="agentArn") + def agent_arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the Agent. + """ + return pulumi.get(self, "agent_arn") + + @agent_arn.setter + def agent_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "agent_arn", value) + + @property + @pulumi.getter(name="agentId") + def agent_id(self) -> Optional[pulumi.Input[str]]: + """ + ID of the Agent. + """ + return pulumi.get(self, "agent_id") + + @agent_id.setter + def agent_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "agent_id", value) + + @property + @pulumi.getter(name="agentName") + def agent_name(self) -> Optional[pulumi.Input[str]]: + """ + Name for the agent. + """ + return pulumi.get(self, "agent_name") + + @agent_name.setter + def agent_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "agent_name", value) + + @property + @pulumi.getter(name="agentResourceRoleArn") + def agent_resource_role_arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the Role for the agent. + """ + return pulumi.get(self, "agent_resource_role_arn") + + @agent_resource_role_arn.setter + def agent_resource_role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "agent_resource_role_arn", value) + + @property + @pulumi.getter(name="agentVersion") + def agent_version(self) -> Optional[pulumi.Input[str]]: + """ + Version of the Agent. + """ + return pulumi.get(self, "agent_version") + + @agent_version.setter + def agent_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "agent_version", value) + + @property + @pulumi.getter(name="customerEncryptionKeyArn") + def customer_encryption_key_arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of customer manager key to use for encryption. + """ + return pulumi.get(self, "customer_encryption_key_arn") + + @customer_encryption_key_arn.setter + def customer_encryption_key_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "customer_encryption_key_arn", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of the agent. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="foundationModel") + def foundation_model(self) -> Optional[pulumi.Input[str]]: + """ + Foundation model for the agent to use. + + The following arguments are optional: + """ + return pulumi.get(self, "foundation_model") + + @foundation_model.setter + def foundation_model(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "foundation_model", value) + + @property + @pulumi.getter(name="idleSessionTtlInSeconds") + def idle_session_ttl_in_seconds(self) -> Optional[pulumi.Input[int]]: + """ + TTL in seconds for the agent to idle. + """ + return pulumi.get(self, "idle_session_ttl_in_seconds") + + @idle_session_ttl_in_seconds.setter + def idle_session_ttl_in_seconds(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "idle_session_ttl_in_seconds", value) + + @property + @pulumi.getter + def instruction(self) -> Optional[pulumi.Input[str]]: + """ + Instructions to tell agent what it should do. + """ + return pulumi.get(self, "instruction") + + @instruction.setter + def instruction(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "instruction", value) + + @property + @pulumi.getter(name="prepareAgent") + def prepare_agent(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "prepare_agent") + + @prepare_agent.setter + def prepare_agent(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "prepare_agent", value) + + @property + @pulumi.getter(name="promptOverrideConfigurations") + def prompt_override_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AgentAgentPromptOverrideConfigurationArgs']]]]: + """ + Prompt Override Configuration + """ + return pulumi.get(self, "prompt_override_configurations") + + @prompt_override_configurations.setter + def prompt_override_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AgentAgentPromptOverrideConfigurationArgs']]]]): + pulumi.set(self, "prompt_override_configurations", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['AgentAgentTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['AgentAgentTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +class AgentAgent(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + agent_name: Optional[pulumi.Input[str]] = None, + agent_resource_role_arn: Optional[pulumi.Input[str]] = None, + customer_encryption_key_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + foundation_model: Optional[pulumi.Input[str]] = None, + idle_session_ttl_in_seconds: Optional[pulumi.Input[int]] = None, + instruction: Optional[pulumi.Input[str]] = None, + prepare_agent: Optional[pulumi.Input[bool]] = None, + prompt_override_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AgentAgentPromptOverrideConfigurationArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['AgentAgentTimeoutsArgs']]] = None, + __props__=None): + """ + Resource for managing an AWS Agents for Amazon Bedrock Agent. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_caller_identity() + current_get_region = aws.get_region() + example_agent_trust = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + actions=["sts:AssumeRole"], + principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs( + identifiers=["bedrock.amazonaws.com"], + type="Service", + )], + conditions=[ + aws.iam.GetPolicyDocumentStatementConditionArgs( + test="StringEquals", + values=[current.account_id], + variable="aws:SourceAccount", + ), + aws.iam.GetPolicyDocumentStatementConditionArgs( + test="ArnLike", + values=[f"arn:aws:bedrock:{current_get_region.name}:{current.account_id}:agent/*"], + variable="AWS:SourceArn", + ), + ], + )]) + example = aws.iam.Role("example", + assume_role_policy=example_agent_trust.json, + name_prefix="AmazonBedrockExecutionRoleForAgents_") + example_agent_permissions = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + actions=["bedrock:InvokeModel"], + resources=[f"arn:aws:bedrock:{current_get_region.name}::foundation-model/anthropic.claude-v2"], + )]) + example_role_policy = aws.iam.RolePolicy("example", + policy=example_agent_permissions.json, + role=example.id) + test = aws.bedrock.AgentAgent("test", + agent_name="my-agent-name", + agent_resource_role_arn=example.arn, + idle_session_ttl_in_seconds=500, + foundation_model="anthropic.claude-v2") + ``` + + ## Import + + Using `pulumi import`, import Agents for Amazon Bedrock Agent using the `abcdef1234`. For example: + + ```sh + $ pulumi import aws:bedrock/agentAgent:AgentAgent example abcdef1234 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] agent_name: Name for the agent. + :param pulumi.Input[str] agent_resource_role_arn: ARN of the Role for the agent. + :param pulumi.Input[str] customer_encryption_key_arn: ARN of customer manager key to use for encryption. + :param pulumi.Input[str] description: Description of the agent. + :param pulumi.Input[str] foundation_model: Foundation model for the agent to use. + + The following arguments are optional: + :param pulumi.Input[int] idle_session_ttl_in_seconds: TTL in seconds for the agent to idle. + :param pulumi.Input[str] instruction: Instructions to tell agent what it should do. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AgentAgentPromptOverrideConfigurationArgs']]]] prompt_override_configurations: Prompt Override Configuration + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value tags for the place index. 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: AgentAgentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS Agents for Amazon Bedrock Agent. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + current = aws.get_caller_identity() + current_get_region = aws.get_region() + example_agent_trust = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + actions=["sts:AssumeRole"], + principals=[aws.iam.GetPolicyDocumentStatementPrincipalArgs( + identifiers=["bedrock.amazonaws.com"], + type="Service", + )], + conditions=[ + aws.iam.GetPolicyDocumentStatementConditionArgs( + test="StringEquals", + values=[current.account_id], + variable="aws:SourceAccount", + ), + aws.iam.GetPolicyDocumentStatementConditionArgs( + test="ArnLike", + values=[f"arn:aws:bedrock:{current_get_region.name}:{current.account_id}:agent/*"], + variable="AWS:SourceArn", + ), + ], + )]) + example = aws.iam.Role("example", + assume_role_policy=example_agent_trust.json, + name_prefix="AmazonBedrockExecutionRoleForAgents_") + example_agent_permissions = aws.iam.get_policy_document(statements=[aws.iam.GetPolicyDocumentStatementArgs( + actions=["bedrock:InvokeModel"], + resources=[f"arn:aws:bedrock:{current_get_region.name}::foundation-model/anthropic.claude-v2"], + )]) + example_role_policy = aws.iam.RolePolicy("example", + policy=example_agent_permissions.json, + role=example.id) + test = aws.bedrock.AgentAgent("test", + agent_name="my-agent-name", + agent_resource_role_arn=example.arn, + idle_session_ttl_in_seconds=500, + foundation_model="anthropic.claude-v2") + ``` + + ## Import + + Using `pulumi import`, import Agents for Amazon Bedrock Agent using the `abcdef1234`. For example: + + ```sh + $ pulumi import aws:bedrock/agentAgent:AgentAgent example abcdef1234 + ``` + + :param str resource_name: The name of the resource. + :param AgentAgentArgs 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(AgentAgentArgs, 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, + agent_name: Optional[pulumi.Input[str]] = None, + agent_resource_role_arn: Optional[pulumi.Input[str]] = None, + customer_encryption_key_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + foundation_model: Optional[pulumi.Input[str]] = None, + idle_session_ttl_in_seconds: Optional[pulumi.Input[int]] = None, + instruction: Optional[pulumi.Input[str]] = None, + prepare_agent: Optional[pulumi.Input[bool]] = None, + prompt_override_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AgentAgentPromptOverrideConfigurationArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['AgentAgentTimeoutsArgs']]] = 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__ = AgentAgentArgs.__new__(AgentAgentArgs) + + if agent_name is None and not opts.urn: + raise TypeError("Missing required property 'agent_name'") + __props__.__dict__["agent_name"] = agent_name + if agent_resource_role_arn is None and not opts.urn: + raise TypeError("Missing required property 'agent_resource_role_arn'") + __props__.__dict__["agent_resource_role_arn"] = agent_resource_role_arn + __props__.__dict__["customer_encryption_key_arn"] = customer_encryption_key_arn + __props__.__dict__["description"] = description + if foundation_model is None and not opts.urn: + raise TypeError("Missing required property 'foundation_model'") + __props__.__dict__["foundation_model"] = foundation_model + __props__.__dict__["idle_session_ttl_in_seconds"] = idle_session_ttl_in_seconds + __props__.__dict__["instruction"] = instruction + __props__.__dict__["prepare_agent"] = prepare_agent + __props__.__dict__["prompt_override_configurations"] = prompt_override_configurations + __props__.__dict__["tags"] = tags + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["agent_arn"] = None + __props__.__dict__["agent_id"] = None + __props__.__dict__["agent_version"] = None + __props__.__dict__["tags_all"] = None + super(AgentAgent, __self__).__init__( + 'aws:bedrock/agentAgent:AgentAgent', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + agent_arn: Optional[pulumi.Input[str]] = None, + agent_id: Optional[pulumi.Input[str]] = None, + agent_name: Optional[pulumi.Input[str]] = None, + agent_resource_role_arn: Optional[pulumi.Input[str]] = None, + agent_version: Optional[pulumi.Input[str]] = None, + customer_encryption_key_arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + foundation_model: Optional[pulumi.Input[str]] = None, + idle_session_ttl_in_seconds: Optional[pulumi.Input[int]] = None, + instruction: Optional[pulumi.Input[str]] = None, + prepare_agent: Optional[pulumi.Input[bool]] = None, + prompt_override_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AgentAgentPromptOverrideConfigurationArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['AgentAgentTimeoutsArgs']]] = None) -> 'AgentAgent': + """ + Get an existing AgentAgent 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] agent_arn: ARN of the Agent. + :param pulumi.Input[str] agent_id: ID of the Agent. + :param pulumi.Input[str] agent_name: Name for the agent. + :param pulumi.Input[str] agent_resource_role_arn: ARN of the Role for the agent. + :param pulumi.Input[str] agent_version: Version of the Agent. + :param pulumi.Input[str] customer_encryption_key_arn: ARN of customer manager key to use for encryption. + :param pulumi.Input[str] description: Description of the agent. + :param pulumi.Input[str] foundation_model: Foundation model for the agent to use. + + The following arguments are optional: + :param pulumi.Input[int] idle_session_ttl_in_seconds: TTL in seconds for the agent to idle. + :param pulumi.Input[str] instruction: Instructions to tell agent what it should do. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AgentAgentPromptOverrideConfigurationArgs']]]] prompt_override_configurations: Prompt Override Configuration + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AgentAgentState.__new__(_AgentAgentState) + + __props__.__dict__["agent_arn"] = agent_arn + __props__.__dict__["agent_id"] = agent_id + __props__.__dict__["agent_name"] = agent_name + __props__.__dict__["agent_resource_role_arn"] = agent_resource_role_arn + __props__.__dict__["agent_version"] = agent_version + __props__.__dict__["customer_encryption_key_arn"] = customer_encryption_key_arn + __props__.__dict__["description"] = description + __props__.__dict__["foundation_model"] = foundation_model + __props__.__dict__["idle_session_ttl_in_seconds"] = idle_session_ttl_in_seconds + __props__.__dict__["instruction"] = instruction + __props__.__dict__["prepare_agent"] = prepare_agent + __props__.__dict__["prompt_override_configurations"] = prompt_override_configurations + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["timeouts"] = timeouts + return AgentAgent(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="agentArn") + def agent_arn(self) -> pulumi.Output[str]: + """ + ARN of the Agent. + """ + return pulumi.get(self, "agent_arn") + + @property + @pulumi.getter(name="agentId") + def agent_id(self) -> pulumi.Output[str]: + """ + ID of the Agent. + """ + return pulumi.get(self, "agent_id") + + @property + @pulumi.getter(name="agentName") + def agent_name(self) -> pulumi.Output[str]: + """ + Name for the agent. + """ + return pulumi.get(self, "agent_name") + + @property + @pulumi.getter(name="agentResourceRoleArn") + def agent_resource_role_arn(self) -> pulumi.Output[str]: + """ + ARN of the Role for the agent. + """ + return pulumi.get(self, "agent_resource_role_arn") + + @property + @pulumi.getter(name="agentVersion") + def agent_version(self) -> pulumi.Output[str]: + """ + Version of the Agent. + """ + return pulumi.get(self, "agent_version") + + @property + @pulumi.getter(name="customerEncryptionKeyArn") + def customer_encryption_key_arn(self) -> pulumi.Output[Optional[str]]: + """ + ARN of customer manager key to use for encryption. + """ + return pulumi.get(self, "customer_encryption_key_arn") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Description of the agent. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="foundationModel") + def foundation_model(self) -> pulumi.Output[str]: + """ + Foundation model for the agent to use. + + The following arguments are optional: + """ + return pulumi.get(self, "foundation_model") + + @property + @pulumi.getter(name="idleSessionTtlInSeconds") + def idle_session_ttl_in_seconds(self) -> pulumi.Output[int]: + """ + TTL in seconds for the agent to idle. + """ + return pulumi.get(self, "idle_session_ttl_in_seconds") + + @property + @pulumi.getter + def instruction(self) -> pulumi.Output[str]: + """ + Instructions to tell agent what it should do. + """ + return pulumi.get(self, "instruction") + + @property + @pulumi.getter(name="prepareAgent") + def prepare_agent(self) -> pulumi.Output[bool]: + return pulumi.get(self, "prepare_agent") + + @property + @pulumi.getter(name="promptOverrideConfigurations") + def prompt_override_configurations(self) -> pulumi.Output[Sequence['outputs.AgentAgentPromptOverrideConfiguration']]: + """ + Prompt Override Configuration + """ + return pulumi.get(self, "prompt_override_configurations") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.AgentAgentTimeouts']]: + return pulumi.get(self, "timeouts") + diff --git a/sdk/python/pulumi_aws/bedrock/agent_agent_action_group.py b/sdk/python/pulumi_aws/bedrock/agent_agent_action_group.py new file mode 100644 index 00000000000..77b80f8408c --- /dev/null +++ b/sdk/python/pulumi_aws/bedrock/agent_agent_action_group.py @@ -0,0 +1,558 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['AgentAgentActionGroupArgs', 'AgentAgentActionGroup'] + +@pulumi.input_type +class AgentAgentActionGroupArgs: + def __init__(__self__, *, + action_group_name: pulumi.Input[str], + agent_id: pulumi.Input[str], + agent_version: pulumi.Input[str], + action_group_executor: Optional[pulumi.Input['AgentAgentActionGroupActionGroupExecutorArgs']] = None, + action_group_state: Optional[pulumi.Input[str]] = None, + api_schema: Optional[pulumi.Input['AgentAgentActionGroupApiSchemaArgs']] = None, + description: Optional[pulumi.Input[str]] = None, + parent_action_group_signature: Optional[pulumi.Input[str]] = None, + skip_resource_in_use_check: Optional[pulumi.Input[bool]] = None): + """ + The set of arguments for constructing a AgentAgentActionGroup resource. + :param pulumi.Input[str] action_group_name: Name of the Agent Action Group. + :param pulumi.Input[str] agent_id: Id of the Agent for the Action Group. + :param pulumi.Input[str] agent_version: Version of the Agent to attach the Action Group to. + :param pulumi.Input['AgentAgentActionGroupActionGroupExecutorArgs'] action_group_executor: Configuration of the executor for the Action Group. + :param pulumi.Input['AgentAgentActionGroupApiSchemaArgs'] api_schema: Configuration of the API Schema for the Action Group. + """ + pulumi.set(__self__, "action_group_name", action_group_name) + pulumi.set(__self__, "agent_id", agent_id) + pulumi.set(__self__, "agent_version", agent_version) + if action_group_executor is not None: + pulumi.set(__self__, "action_group_executor", action_group_executor) + if action_group_state is not None: + pulumi.set(__self__, "action_group_state", action_group_state) + if api_schema is not None: + pulumi.set(__self__, "api_schema", api_schema) + if description is not None: + pulumi.set(__self__, "description", description) + if parent_action_group_signature is not None: + pulumi.set(__self__, "parent_action_group_signature", parent_action_group_signature) + if skip_resource_in_use_check is not None: + pulumi.set(__self__, "skip_resource_in_use_check", skip_resource_in_use_check) + + @property + @pulumi.getter(name="actionGroupName") + def action_group_name(self) -> pulumi.Input[str]: + """ + Name of the Agent Action Group. + """ + return pulumi.get(self, "action_group_name") + + @action_group_name.setter + def action_group_name(self, value: pulumi.Input[str]): + pulumi.set(self, "action_group_name", value) + + @property + @pulumi.getter(name="agentId") + def agent_id(self) -> pulumi.Input[str]: + """ + Id of the Agent for the Action Group. + """ + return pulumi.get(self, "agent_id") + + @agent_id.setter + def agent_id(self, value: pulumi.Input[str]): + pulumi.set(self, "agent_id", value) + + @property + @pulumi.getter(name="agentVersion") + def agent_version(self) -> pulumi.Input[str]: + """ + Version of the Agent to attach the Action Group to. + """ + return pulumi.get(self, "agent_version") + + @agent_version.setter + def agent_version(self, value: pulumi.Input[str]): + pulumi.set(self, "agent_version", value) + + @property + @pulumi.getter(name="actionGroupExecutor") + def action_group_executor(self) -> Optional[pulumi.Input['AgentAgentActionGroupActionGroupExecutorArgs']]: + """ + Configuration of the executor for the Action Group. + """ + return pulumi.get(self, "action_group_executor") + + @action_group_executor.setter + def action_group_executor(self, value: Optional[pulumi.Input['AgentAgentActionGroupActionGroupExecutorArgs']]): + pulumi.set(self, "action_group_executor", value) + + @property + @pulumi.getter(name="actionGroupState") + def action_group_state(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "action_group_state") + + @action_group_state.setter + def action_group_state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "action_group_state", value) + + @property + @pulumi.getter(name="apiSchema") + def api_schema(self) -> Optional[pulumi.Input['AgentAgentActionGroupApiSchemaArgs']]: + """ + Configuration of the API Schema for the Action Group. + """ + return pulumi.get(self, "api_schema") + + @api_schema.setter + def api_schema(self, value: Optional[pulumi.Input['AgentAgentActionGroupApiSchemaArgs']]): + pulumi.set(self, "api_schema", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="parentActionGroupSignature") + def parent_action_group_signature(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "parent_action_group_signature") + + @parent_action_group_signature.setter + def parent_action_group_signature(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "parent_action_group_signature", value) + + @property + @pulumi.getter(name="skipResourceInUseCheck") + def skip_resource_in_use_check(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "skip_resource_in_use_check") + + @skip_resource_in_use_check.setter + def skip_resource_in_use_check(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "skip_resource_in_use_check", value) + + +@pulumi.input_type +class _AgentAgentActionGroupState: + def __init__(__self__, *, + action_group_executor: Optional[pulumi.Input['AgentAgentActionGroupActionGroupExecutorArgs']] = None, + action_group_id: Optional[pulumi.Input[str]] = None, + action_group_name: Optional[pulumi.Input[str]] = None, + action_group_state: Optional[pulumi.Input[str]] = None, + agent_id: Optional[pulumi.Input[str]] = None, + agent_version: Optional[pulumi.Input[str]] = None, + api_schema: Optional[pulumi.Input['AgentAgentActionGroupApiSchemaArgs']] = None, + description: Optional[pulumi.Input[str]] = None, + parent_action_group_signature: Optional[pulumi.Input[str]] = None, + skip_resource_in_use_check: Optional[pulumi.Input[bool]] = None): + """ + Input properties used for looking up and filtering AgentAgentActionGroup resources. + :param pulumi.Input['AgentAgentActionGroupActionGroupExecutorArgs'] action_group_executor: Configuration of the executor for the Action Group. + :param pulumi.Input[str] action_group_name: Name of the Agent Action Group. + :param pulumi.Input[str] agent_id: Id of the Agent for the Action Group. + :param pulumi.Input[str] agent_version: Version of the Agent to attach the Action Group to. + :param pulumi.Input['AgentAgentActionGroupApiSchemaArgs'] api_schema: Configuration of the API Schema for the Action Group. + """ + if action_group_executor is not None: + pulumi.set(__self__, "action_group_executor", action_group_executor) + if action_group_id is not None: + pulumi.set(__self__, "action_group_id", action_group_id) + if action_group_name is not None: + pulumi.set(__self__, "action_group_name", action_group_name) + if action_group_state is not None: + pulumi.set(__self__, "action_group_state", action_group_state) + if agent_id is not None: + pulumi.set(__self__, "agent_id", agent_id) + if agent_version is not None: + pulumi.set(__self__, "agent_version", agent_version) + if api_schema is not None: + pulumi.set(__self__, "api_schema", api_schema) + if description is not None: + pulumi.set(__self__, "description", description) + if parent_action_group_signature is not None: + pulumi.set(__self__, "parent_action_group_signature", parent_action_group_signature) + if skip_resource_in_use_check is not None: + pulumi.set(__self__, "skip_resource_in_use_check", skip_resource_in_use_check) + + @property + @pulumi.getter(name="actionGroupExecutor") + def action_group_executor(self) -> Optional[pulumi.Input['AgentAgentActionGroupActionGroupExecutorArgs']]: + """ + Configuration of the executor for the Action Group. + """ + return pulumi.get(self, "action_group_executor") + + @action_group_executor.setter + def action_group_executor(self, value: Optional[pulumi.Input['AgentAgentActionGroupActionGroupExecutorArgs']]): + pulumi.set(self, "action_group_executor", value) + + @property + @pulumi.getter(name="actionGroupId") + def action_group_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "action_group_id") + + @action_group_id.setter + def action_group_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "action_group_id", value) + + @property + @pulumi.getter(name="actionGroupName") + def action_group_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Agent Action Group. + """ + return pulumi.get(self, "action_group_name") + + @action_group_name.setter + def action_group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "action_group_name", value) + + @property + @pulumi.getter(name="actionGroupState") + def action_group_state(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "action_group_state") + + @action_group_state.setter + def action_group_state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "action_group_state", value) + + @property + @pulumi.getter(name="agentId") + def agent_id(self) -> Optional[pulumi.Input[str]]: + """ + Id of the Agent for the Action Group. + """ + return pulumi.get(self, "agent_id") + + @agent_id.setter + def agent_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "agent_id", value) + + @property + @pulumi.getter(name="agentVersion") + def agent_version(self) -> Optional[pulumi.Input[str]]: + """ + Version of the Agent to attach the Action Group to. + """ + return pulumi.get(self, "agent_version") + + @agent_version.setter + def agent_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "agent_version", value) + + @property + @pulumi.getter(name="apiSchema") + def api_schema(self) -> Optional[pulumi.Input['AgentAgentActionGroupApiSchemaArgs']]: + """ + Configuration of the API Schema for the Action Group. + """ + return pulumi.get(self, "api_schema") + + @api_schema.setter + def api_schema(self, value: Optional[pulumi.Input['AgentAgentActionGroupApiSchemaArgs']]): + pulumi.set(self, "api_schema", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="parentActionGroupSignature") + def parent_action_group_signature(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "parent_action_group_signature") + + @parent_action_group_signature.setter + def parent_action_group_signature(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "parent_action_group_signature", value) + + @property + @pulumi.getter(name="skipResourceInUseCheck") + def skip_resource_in_use_check(self) -> Optional[pulumi.Input[bool]]: + return pulumi.get(self, "skip_resource_in_use_check") + + @skip_resource_in_use_check.setter + def skip_resource_in_use_check(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "skip_resource_in_use_check", value) + + +class AgentAgentActionGroup(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + action_group_executor: Optional[pulumi.Input[pulumi.InputType['AgentAgentActionGroupActionGroupExecutorArgs']]] = None, + action_group_name: Optional[pulumi.Input[str]] = None, + action_group_state: Optional[pulumi.Input[str]] = None, + agent_id: Optional[pulumi.Input[str]] = None, + agent_version: Optional[pulumi.Input[str]] = None, + api_schema: Optional[pulumi.Input[pulumi.InputType['AgentAgentActionGroupApiSchemaArgs']]] = None, + description: Optional[pulumi.Input[str]] = None, + parent_action_group_signature: Optional[pulumi.Input[str]] = None, + skip_resource_in_use_check: Optional[pulumi.Input[bool]] = None, + __props__=None): + """ + Resource for managing an AWS Agents for Amazon Bedrock Agent Action Group. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.bedrock.AgentAgentActionGroup("example", + action_group_name="example", + agent_id="ABDJFOWER1", + agent_version="DRAFT", + skip_resource_in_use_check=True, + action_group_executor=aws.bedrock.AgentAgentActionGroupActionGroupExecutorArgs( + lambda_="arn:aws:lambda:us-east-1:123456789012:function:example-function", + ), + api_schema=aws.bedrock.AgentAgentActionGroupApiSchemaArgs( + s3=aws.bedrock.AgentAgentActionGroupApiSchemaS3Args( + s3_bucket_name="example-bucket", + s3_object_key="path/to/schema.json", + ), + )) + ``` + + ## Import + + Using `pulumi import`, import Agents for Amazon Bedrock Agent Action Group using the `example_id_arg`. For example: + + ```sh + $ pulumi import aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup example ABDJFOWER1,HSKTNKANI4,DRAFT + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['AgentAgentActionGroupActionGroupExecutorArgs']] action_group_executor: Configuration of the executor for the Action Group. + :param pulumi.Input[str] action_group_name: Name of the Agent Action Group. + :param pulumi.Input[str] agent_id: Id of the Agent for the Action Group. + :param pulumi.Input[str] agent_version: Version of the Agent to attach the Action Group to. + :param pulumi.Input[pulumi.InputType['AgentAgentActionGroupApiSchemaArgs']] api_schema: Configuration of the API Schema for the Action Group. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AgentAgentActionGroupArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS Agents for Amazon Bedrock Agent Action Group. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.bedrock.AgentAgentActionGroup("example", + action_group_name="example", + agent_id="ABDJFOWER1", + agent_version="DRAFT", + skip_resource_in_use_check=True, + action_group_executor=aws.bedrock.AgentAgentActionGroupActionGroupExecutorArgs( + lambda_="arn:aws:lambda:us-east-1:123456789012:function:example-function", + ), + api_schema=aws.bedrock.AgentAgentActionGroupApiSchemaArgs( + s3=aws.bedrock.AgentAgentActionGroupApiSchemaS3Args( + s3_bucket_name="example-bucket", + s3_object_key="path/to/schema.json", + ), + )) + ``` + + ## Import + + Using `pulumi import`, import Agents for Amazon Bedrock Agent Action Group using the `example_id_arg`. For example: + + ```sh + $ pulumi import aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup example ABDJFOWER1,HSKTNKANI4,DRAFT + ``` + + :param str resource_name: The name of the resource. + :param AgentAgentActionGroupArgs 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(AgentAgentActionGroupArgs, 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, + action_group_executor: Optional[pulumi.Input[pulumi.InputType['AgentAgentActionGroupActionGroupExecutorArgs']]] = None, + action_group_name: Optional[pulumi.Input[str]] = None, + action_group_state: Optional[pulumi.Input[str]] = None, + agent_id: Optional[pulumi.Input[str]] = None, + agent_version: Optional[pulumi.Input[str]] = None, + api_schema: Optional[pulumi.Input[pulumi.InputType['AgentAgentActionGroupApiSchemaArgs']]] = None, + description: Optional[pulumi.Input[str]] = None, + parent_action_group_signature: Optional[pulumi.Input[str]] = None, + skip_resource_in_use_check: Optional[pulumi.Input[bool]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AgentAgentActionGroupArgs.__new__(AgentAgentActionGroupArgs) + + __props__.__dict__["action_group_executor"] = action_group_executor + if action_group_name is None and not opts.urn: + raise TypeError("Missing required property 'action_group_name'") + __props__.__dict__["action_group_name"] = action_group_name + __props__.__dict__["action_group_state"] = action_group_state + if agent_id is None and not opts.urn: + raise TypeError("Missing required property 'agent_id'") + __props__.__dict__["agent_id"] = agent_id + if agent_version is None and not opts.urn: + raise TypeError("Missing required property 'agent_version'") + __props__.__dict__["agent_version"] = agent_version + __props__.__dict__["api_schema"] = api_schema + __props__.__dict__["description"] = description + __props__.__dict__["parent_action_group_signature"] = parent_action_group_signature + __props__.__dict__["skip_resource_in_use_check"] = skip_resource_in_use_check + __props__.__dict__["action_group_id"] = None + super(AgentAgentActionGroup, __self__).__init__( + 'aws:bedrock/agentAgentActionGroup:AgentAgentActionGroup', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + action_group_executor: Optional[pulumi.Input[pulumi.InputType['AgentAgentActionGroupActionGroupExecutorArgs']]] = None, + action_group_id: Optional[pulumi.Input[str]] = None, + action_group_name: Optional[pulumi.Input[str]] = None, + action_group_state: Optional[pulumi.Input[str]] = None, + agent_id: Optional[pulumi.Input[str]] = None, + agent_version: Optional[pulumi.Input[str]] = None, + api_schema: Optional[pulumi.Input[pulumi.InputType['AgentAgentActionGroupApiSchemaArgs']]] = None, + description: Optional[pulumi.Input[str]] = None, + parent_action_group_signature: Optional[pulumi.Input[str]] = None, + skip_resource_in_use_check: Optional[pulumi.Input[bool]] = None) -> 'AgentAgentActionGroup': + """ + Get an existing AgentAgentActionGroup 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[pulumi.InputType['AgentAgentActionGroupActionGroupExecutorArgs']] action_group_executor: Configuration of the executor for the Action Group. + :param pulumi.Input[str] action_group_name: Name of the Agent Action Group. + :param pulumi.Input[str] agent_id: Id of the Agent for the Action Group. + :param pulumi.Input[str] agent_version: Version of the Agent to attach the Action Group to. + :param pulumi.Input[pulumi.InputType['AgentAgentActionGroupApiSchemaArgs']] api_schema: Configuration of the API Schema for the Action Group. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AgentAgentActionGroupState.__new__(_AgentAgentActionGroupState) + + __props__.__dict__["action_group_executor"] = action_group_executor + __props__.__dict__["action_group_id"] = action_group_id + __props__.__dict__["action_group_name"] = action_group_name + __props__.__dict__["action_group_state"] = action_group_state + __props__.__dict__["agent_id"] = agent_id + __props__.__dict__["agent_version"] = agent_version + __props__.__dict__["api_schema"] = api_schema + __props__.__dict__["description"] = description + __props__.__dict__["parent_action_group_signature"] = parent_action_group_signature + __props__.__dict__["skip_resource_in_use_check"] = skip_resource_in_use_check + return AgentAgentActionGroup(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="actionGroupExecutor") + def action_group_executor(self) -> pulumi.Output[Optional['outputs.AgentAgentActionGroupActionGroupExecutor']]: + """ + Configuration of the executor for the Action Group. + """ + return pulumi.get(self, "action_group_executor") + + @property + @pulumi.getter(name="actionGroupId") + def action_group_id(self) -> pulumi.Output[str]: + return pulumi.get(self, "action_group_id") + + @property + @pulumi.getter(name="actionGroupName") + def action_group_name(self) -> pulumi.Output[str]: + """ + Name of the Agent Action Group. + """ + return pulumi.get(self, "action_group_name") + + @property + @pulumi.getter(name="actionGroupState") + def action_group_state(self) -> pulumi.Output[str]: + return pulumi.get(self, "action_group_state") + + @property + @pulumi.getter(name="agentId") + def agent_id(self) -> pulumi.Output[str]: + """ + Id of the Agent for the Action Group. + """ + return pulumi.get(self, "agent_id") + + @property + @pulumi.getter(name="agentVersion") + def agent_version(self) -> pulumi.Output[str]: + """ + Version of the Agent to attach the Action Group to. + """ + return pulumi.get(self, "agent_version") + + @property + @pulumi.getter(name="apiSchema") + def api_schema(self) -> pulumi.Output[Optional['outputs.AgentAgentActionGroupApiSchema']]: + """ + Configuration of the API Schema for the Action Group. + """ + return pulumi.get(self, "api_schema") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="parentActionGroupSignature") + def parent_action_group_signature(self) -> pulumi.Output[Optional[str]]: + return pulumi.get(self, "parent_action_group_signature") + + @property + @pulumi.getter(name="skipResourceInUseCheck") + def skip_resource_in_use_check(self) -> pulumi.Output[bool]: + return pulumi.get(self, "skip_resource_in_use_check") + diff --git a/sdk/python/pulumi_aws/bedrock/agent_agent_alias.py b/sdk/python/pulumi_aws/bedrock/agent_agent_alias.py new file mode 100644 index 00000000000..1cc806e8c8f --- /dev/null +++ b/sdk/python/pulumi_aws/bedrock/agent_agent_alias.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 pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['AgentAgentAliasArgs', 'AgentAgentAlias'] + +@pulumi.input_type +class AgentAgentAliasArgs: + def __init__(__self__, *, + agent_alias_name: pulumi.Input[str], + agent_id: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + routing_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['AgentAgentAliasRoutingConfigurationArgs']]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input['AgentAgentAliasTimeoutsArgs']] = None): + """ + The set of arguments for constructing a AgentAgentAlias resource. + :param pulumi.Input[str] agent_alias_name: Name of the alias. + :param pulumi.Input[str] agent_id: Identifier of the agent to create an alias for. + :param pulumi.Input[str] description: Description of the alias of the agent. + :param pulumi.Input[Sequence[pulumi.Input['AgentAgentAliasRoutingConfigurationArgs']]] routing_configurations: Routing configuration of the alias + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + The following arguments are optional: + """ + pulumi.set(__self__, "agent_alias_name", agent_alias_name) + pulumi.set(__self__, "agent_id", agent_id) + if description is not None: + pulumi.set(__self__, "description", description) + if routing_configurations is not None: + pulumi.set(__self__, "routing_configurations", routing_configurations) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter(name="agentAliasName") + def agent_alias_name(self) -> pulumi.Input[str]: + """ + Name of the alias. + """ + return pulumi.get(self, "agent_alias_name") + + @agent_alias_name.setter + def agent_alias_name(self, value: pulumi.Input[str]): + pulumi.set(self, "agent_alias_name", value) + + @property + @pulumi.getter(name="agentId") + def agent_id(self) -> pulumi.Input[str]: + """ + Identifier of the agent to create an alias for. + """ + return pulumi.get(self, "agent_id") + + @agent_id.setter + def agent_id(self, value: pulumi.Input[str]): + pulumi.set(self, "agent_id", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of the alias of the agent. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="routingConfigurations") + def routing_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AgentAgentAliasRoutingConfigurationArgs']]]]: + """ + Routing configuration of the alias + """ + return pulumi.get(self, "routing_configurations") + + @routing_configurations.setter + def routing_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AgentAgentAliasRoutingConfigurationArgs']]]]): + pulumi.set(self, "routing_configurations", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + The following arguments are optional: + """ + 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['AgentAgentAliasTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['AgentAgentAliasTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _AgentAgentAliasState: + def __init__(__self__, *, + agent_alias_arn: Optional[pulumi.Input[str]] = None, + agent_alias_id: Optional[pulumi.Input[str]] = None, + agent_alias_name: Optional[pulumi.Input[str]] = None, + agent_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + routing_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['AgentAgentAliasRoutingConfigurationArgs']]]] = 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['AgentAgentAliasTimeoutsArgs']] = None): + """ + Input properties used for looking up and filtering AgentAgentAlias resources. + :param pulumi.Input[str] agent_alias_arn: ARN of the Agent Alias. + :param pulumi.Input[str] agent_alias_name: Name of the alias. + :param pulumi.Input[str] agent_id: Identifier of the agent to create an alias for. + :param pulumi.Input[str] description: Description of the alias of the agent. + :param pulumi.Input[Sequence[pulumi.Input['AgentAgentAliasRoutingConfigurationArgs']]] routing_configurations: Routing configuration of the alias + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + The following arguments are optional: + """ + if agent_alias_arn is not None: + pulumi.set(__self__, "agent_alias_arn", agent_alias_arn) + if agent_alias_id is not None: + pulumi.set(__self__, "agent_alias_id", agent_alias_id) + if agent_alias_name is not None: + pulumi.set(__self__, "agent_alias_name", agent_alias_name) + if agent_id is not None: + pulumi.set(__self__, "agent_id", agent_id) + if description is not None: + pulumi.set(__self__, "description", description) + if routing_configurations is not None: + pulumi.set(__self__, "routing_configurations", routing_configurations) + 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(name="agentAliasArn") + def agent_alias_arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the Agent Alias. + """ + return pulumi.get(self, "agent_alias_arn") + + @agent_alias_arn.setter + def agent_alias_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "agent_alias_arn", value) + + @property + @pulumi.getter(name="agentAliasId") + def agent_alias_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "agent_alias_id") + + @agent_alias_id.setter + def agent_alias_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "agent_alias_id", value) + + @property + @pulumi.getter(name="agentAliasName") + def agent_alias_name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the alias. + """ + return pulumi.get(self, "agent_alias_name") + + @agent_alias_name.setter + def agent_alias_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "agent_alias_name", value) + + @property + @pulumi.getter(name="agentId") + def agent_id(self) -> Optional[pulumi.Input[str]]: + """ + Identifier of the agent to create an alias for. + """ + return pulumi.get(self, "agent_id") + + @agent_id.setter + def agent_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "agent_id", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + Description of the alias of the agent. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="routingConfigurations") + def routing_configurations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AgentAgentAliasRoutingConfigurationArgs']]]]: + """ + Routing configuration of the alias + """ + return pulumi.get(self, "routing_configurations") + + @routing_configurations.setter + def routing_configurations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AgentAgentAliasRoutingConfigurationArgs']]]]): + pulumi.set(self, "routing_configurations", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + The following arguments are optional: + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['AgentAgentAliasTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['AgentAgentAliasTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +class AgentAgentAlias(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + agent_alias_name: Optional[pulumi.Input[str]] = None, + agent_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + routing_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AgentAgentAliasRoutingConfigurationArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['AgentAgentAliasTimeoutsArgs']]] = None, + __props__=None): + """ + Resource for managing an AWS Agents for Amazon Bedrock Agent Alias. + + ## Example Usage + + ## Import + + Using `pulumi import`, import Agents for Amazon Bedrock Agent Alias using the `AGENT_ID,ALIAS_ID`. For example: + + ```sh + $ pulumi import aws:bedrock/agentAgentAlias:AgentAgentAlias example AGENT_ID,ALIAS_ID + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] agent_alias_name: Name of the alias. + :param pulumi.Input[str] agent_id: Identifier of the agent to create an alias for. + :param pulumi.Input[str] description: Description of the alias of the agent. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AgentAgentAliasRoutingConfigurationArgs']]]] routing_configurations: Routing configuration of the alias + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + The following arguments are optional: + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AgentAgentAliasArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS Agents for Amazon Bedrock Agent Alias. + + ## Example Usage + + ## Import + + Using `pulumi import`, import Agents for Amazon Bedrock Agent Alias using the `AGENT_ID,ALIAS_ID`. For example: + + ```sh + $ pulumi import aws:bedrock/agentAgentAlias:AgentAgentAlias example AGENT_ID,ALIAS_ID + ``` + + :param str resource_name: The name of the resource. + :param AgentAgentAliasArgs 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(AgentAgentAliasArgs, 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, + agent_alias_name: Optional[pulumi.Input[str]] = None, + agent_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + routing_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AgentAgentAliasRoutingConfigurationArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['AgentAgentAliasTimeoutsArgs']]] = 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__ = AgentAgentAliasArgs.__new__(AgentAgentAliasArgs) + + if agent_alias_name is None and not opts.urn: + raise TypeError("Missing required property 'agent_alias_name'") + __props__.__dict__["agent_alias_name"] = agent_alias_name + if agent_id is None and not opts.urn: + raise TypeError("Missing required property 'agent_id'") + __props__.__dict__["agent_id"] = agent_id + __props__.__dict__["description"] = description + __props__.__dict__["routing_configurations"] = routing_configurations + __props__.__dict__["tags"] = tags + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["agent_alias_arn"] = None + __props__.__dict__["agent_alias_id"] = None + __props__.__dict__["tags_all"] = None + super(AgentAgentAlias, __self__).__init__( + 'aws:bedrock/agentAgentAlias:AgentAgentAlias', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + agent_alias_arn: Optional[pulumi.Input[str]] = None, + agent_alias_id: Optional[pulumi.Input[str]] = None, + agent_alias_name: Optional[pulumi.Input[str]] = None, + agent_id: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + routing_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AgentAgentAliasRoutingConfigurationArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['AgentAgentAliasTimeoutsArgs']]] = None) -> 'AgentAgentAlias': + """ + Get an existing AgentAgentAlias 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] agent_alias_arn: ARN of the Agent Alias. + :param pulumi.Input[str] agent_alias_name: Name of the alias. + :param pulumi.Input[str] agent_id: Identifier of the agent to create an alias for. + :param pulumi.Input[str] description: Description of the alias of the agent. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AgentAgentAliasRoutingConfigurationArgs']]]] routing_configurations: Routing configuration of the alias + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + The following arguments are optional: + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AgentAgentAliasState.__new__(_AgentAgentAliasState) + + __props__.__dict__["agent_alias_arn"] = agent_alias_arn + __props__.__dict__["agent_alias_id"] = agent_alias_id + __props__.__dict__["agent_alias_name"] = agent_alias_name + __props__.__dict__["agent_id"] = agent_id + __props__.__dict__["description"] = description + __props__.__dict__["routing_configurations"] = routing_configurations + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["timeouts"] = timeouts + return AgentAgentAlias(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="agentAliasArn") + def agent_alias_arn(self) -> pulumi.Output[str]: + """ + ARN of the Agent Alias. + """ + return pulumi.get(self, "agent_alias_arn") + + @property + @pulumi.getter(name="agentAliasId") + def agent_alias_id(self) -> pulumi.Output[str]: + return pulumi.get(self, "agent_alias_id") + + @property + @pulumi.getter(name="agentAliasName") + def agent_alias_name(self) -> pulumi.Output[str]: + """ + Name of the alias. + """ + return pulumi.get(self, "agent_alias_name") + + @property + @pulumi.getter(name="agentId") + def agent_id(self) -> pulumi.Output[str]: + """ + Identifier of the agent to create an alias for. + """ + return pulumi.get(self, "agent_id") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + Description of the alias of the agent. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="routingConfigurations") + def routing_configurations(self) -> pulumi.Output[Sequence['outputs.AgentAgentAliasRoutingConfiguration']]: + """ + Routing configuration of the alias + """ + return pulumi.get(self, "routing_configurations") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Key-value tags for the place index. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + + The following arguments are optional: + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.AgentAgentAliasTimeouts']]: + return pulumi.get(self, "timeouts") + diff --git a/sdk/python/pulumi_aws/bedrock/agent_knowledge_base.py b/sdk/python/pulumi_aws/bedrock/agent_knowledge_base.py new file mode 100644 index 00000000000..47f11e04f2d --- /dev/null +++ b/sdk/python/pulumi_aws/bedrock/agent_knowledge_base.py @@ -0,0 +1,608 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['AgentKnowledgeBaseArgs', 'AgentKnowledgeBase'] + +@pulumi.input_type +class AgentKnowledgeBaseArgs: + def __init__(__self__, *, + role_arn: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None, + knowledge_base_configuration: Optional[pulumi.Input['AgentKnowledgeBaseKnowledgeBaseConfigurationArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + storage_configuration: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationArgs']] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input['AgentKnowledgeBaseTimeoutsArgs']] = None): + """ + The set of arguments for constructing a AgentKnowledgeBase resource. + :param pulumi.Input[str] role_arn: The ARN of the IAM role with permissions to create the knowledge base. + :param pulumi.Input[str] description: A description of the knowledge base. + :param pulumi.Input['AgentKnowledgeBaseKnowledgeBaseConfigurationArgs'] knowledge_base_configuration: Contains details about the embeddings model used for the knowledge base. + :param pulumi.Input[str] name: A name for the knowledge base. + :param pulumi.Input['AgentKnowledgeBaseStorageConfigurationArgs'] storage_configuration: Contains details about the configuration of the vector database used for the knowledge base. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + pulumi.set(__self__, "role_arn", role_arn) + if description is not None: + pulumi.set(__self__, "description", description) + if knowledge_base_configuration is not None: + pulumi.set(__self__, "knowledge_base_configuration", knowledge_base_configuration) + if name is not None: + pulumi.set(__self__, "name", name) + if storage_configuration is not None: + pulumi.set(__self__, "storage_configuration", storage_configuration) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> pulumi.Input[str]: + """ + The ARN of the IAM role with permissions to create the knowledge base. + """ + return pulumi.get(self, "role_arn") + + @role_arn.setter + def role_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "role_arn", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A description of the knowledge base. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="knowledgeBaseConfiguration") + def knowledge_base_configuration(self) -> Optional[pulumi.Input['AgentKnowledgeBaseKnowledgeBaseConfigurationArgs']]: + """ + Contains details about the embeddings model used for the knowledge base. + """ + return pulumi.get(self, "knowledge_base_configuration") + + @knowledge_base_configuration.setter + def knowledge_base_configuration(self, value: Optional[pulumi.Input['AgentKnowledgeBaseKnowledgeBaseConfigurationArgs']]): + pulumi.set(self, "knowledge_base_configuration", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A name for the knowledge base. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="storageConfiguration") + def storage_configuration(self) -> Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationArgs']]: + """ + Contains details about the configuration of the vector database used for the knowledge base. + """ + return pulumi.get(self, "storage_configuration") + + @storage_configuration.setter + def storage_configuration(self, value: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationArgs']]): + pulumi.set(self, "storage_configuration", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['AgentKnowledgeBaseTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['AgentKnowledgeBaseTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _AgentKnowledgeBaseState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + created_at: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + failure_reasons: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + knowledge_base_configuration: Optional[pulumi.Input['AgentKnowledgeBaseKnowledgeBaseConfigurationArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + role_arn: Optional[pulumi.Input[str]] = None, + storage_configuration: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationArgs']] = 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['AgentKnowledgeBaseTimeoutsArgs']] = None, + updated_at: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering AgentKnowledgeBase resources. + :param pulumi.Input[str] arn: ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + :param pulumi.Input[str] description: A description of the knowledge base. + :param pulumi.Input['AgentKnowledgeBaseKnowledgeBaseConfigurationArgs'] knowledge_base_configuration: Contains details about the embeddings model used for the knowledge base. + :param pulumi.Input[str] name: A name for the knowledge base. + :param pulumi.Input[str] role_arn: The ARN of the IAM role with permissions to create the knowledge base. + :param pulumi.Input['AgentKnowledgeBaseStorageConfigurationArgs'] storage_configuration: Contains details about the configuration of the vector database used for the knowledge base. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if created_at is not None: + pulumi.set(__self__, "created_at", created_at) + if description is not None: + pulumi.set(__self__, "description", description) + if failure_reasons is not None: + pulumi.set(__self__, "failure_reasons", failure_reasons) + if knowledge_base_configuration is not None: + pulumi.set(__self__, "knowledge_base_configuration", knowledge_base_configuration) + if name is not None: + pulumi.set(__self__, "name", name) + if role_arn is not None: + pulumi.set(__self__, "role_arn", role_arn) + if storage_configuration is not None: + pulumi.set(__self__, "storage_configuration", storage_configuration) + 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 updated_at is not None: + pulumi.set(__self__, "updated_at", updated_at) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "created_at") + + @created_at.setter + def created_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_at", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + A description of the knowledge base. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="failureReasons") + def failure_reasons(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + return pulumi.get(self, "failure_reasons") + + @failure_reasons.setter + def failure_reasons(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "failure_reasons", value) + + @property + @pulumi.getter(name="knowledgeBaseConfiguration") + def knowledge_base_configuration(self) -> Optional[pulumi.Input['AgentKnowledgeBaseKnowledgeBaseConfigurationArgs']]: + """ + Contains details about the embeddings model used for the knowledge base. + """ + return pulumi.get(self, "knowledge_base_configuration") + + @knowledge_base_configuration.setter + def knowledge_base_configuration(self, value: Optional[pulumi.Input['AgentKnowledgeBaseKnowledgeBaseConfigurationArgs']]): + pulumi.set(self, "knowledge_base_configuration", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + A name for the knowledge base. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the IAM role with permissions to create the knowledge base. + """ + return pulumi.get(self, "role_arn") + + @role_arn.setter + def role_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "role_arn", value) + + @property + @pulumi.getter(name="storageConfiguration") + def storage_configuration(self) -> Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationArgs']]: + """ + Contains details about the configuration of the vector database used for the knowledge base. + """ + return pulumi.get(self, "storage_configuration") + + @storage_configuration.setter + def storage_configuration(self, value: Optional[pulumi.Input['AgentKnowledgeBaseStorageConfigurationArgs']]): + pulumi.set(self, "storage_configuration", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + @property + @pulumi.getter + def timeouts(self) -> Optional[pulumi.Input['AgentKnowledgeBaseTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: Optional[pulumi.Input['AgentKnowledgeBaseTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "updated_at") + + @updated_at.setter + def updated_at(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "updated_at", value) + + +class AgentKnowledgeBase(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + knowledge_base_configuration: Optional[pulumi.Input[pulumi.InputType['AgentKnowledgeBaseKnowledgeBaseConfigurationArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + role_arn: Optional[pulumi.Input[str]] = None, + storage_configuration: Optional[pulumi.Input[pulumi.InputType['AgentKnowledgeBaseStorageConfigurationArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['AgentKnowledgeBaseTimeoutsArgs']]] = None, + __props__=None): + """ + Resource for managing an AWS Agents for Amazon Bedrock Knowledge Base. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.bedrock.AgentKnowledgeBase("test", + name="example", + role_arn=example["arn"], + knowledge_base_configuration=aws.bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs( + vector_knowledge_base_configuration=aws.bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs( + embedding_model_arn="arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1", + ), + type="VECTOR", + ), + storage_configuration=aws.bedrock.AgentKnowledgeBaseStorageConfigurationArgs( + type="OPENSEARCH_SERVERLESS", + opensearch_serverless_configuration=aws.bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs( + collection_arn="arn:aws:aoss:us-west-2:1234567890:collection/142bezjddq707i5stcrf", + vector_index_name="bedrock-knowledge-base-default-index", + field_mapping=aws.bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs( + vector_field="bedrock-knowledge-base-default-vector", + text_field="AMAZON_BEDROCK_TEXT_CHUNK", + metadata_field="AMAZON_BEDROCK_METADATA", + ), + ), + )) + ``` + + ## Import + + Using `pulumi import`, import Agents for Amazon Bedrock Knowledge Base using the `Q1IYMH6GQG`. For example: + + ```sh + $ pulumi import aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase example Q1IYMH6GQG + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: A description of the knowledge base. + :param pulumi.Input[pulumi.InputType['AgentKnowledgeBaseKnowledgeBaseConfigurationArgs']] knowledge_base_configuration: Contains details about the embeddings model used for the knowledge base. + :param pulumi.Input[str] name: A name for the knowledge base. + :param pulumi.Input[str] role_arn: The ARN of the IAM role with permissions to create the knowledge base. + :param pulumi.Input[pulumi.InputType['AgentKnowledgeBaseStorageConfigurationArgs']] storage_configuration: Contains details about the configuration of the vector database used for the knowledge base. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AgentKnowledgeBaseArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS Agents for Amazon Bedrock Knowledge Base. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.bedrock.AgentKnowledgeBase("test", + name="example", + role_arn=example["arn"], + knowledge_base_configuration=aws.bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationArgs( + vector_knowledge_base_configuration=aws.bedrock.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs( + embedding_model_arn="arn:aws:bedrock:us-west-2::foundation-model/amazon.titan-embed-text-v1", + ), + type="VECTOR", + ), + storage_configuration=aws.bedrock.AgentKnowledgeBaseStorageConfigurationArgs( + type="OPENSEARCH_SERVERLESS", + opensearch_serverless_configuration=aws.bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs( + collection_arn="arn:aws:aoss:us-west-2:1234567890:collection/142bezjddq707i5stcrf", + vector_index_name="bedrock-knowledge-base-default-index", + field_mapping=aws.bedrock.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs( + vector_field="bedrock-knowledge-base-default-vector", + text_field="AMAZON_BEDROCK_TEXT_CHUNK", + metadata_field="AMAZON_BEDROCK_METADATA", + ), + ), + )) + ``` + + ## Import + + Using `pulumi import`, import Agents for Amazon Bedrock Knowledge Base using the `Q1IYMH6GQG`. For example: + + ```sh + $ pulumi import aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase example Q1IYMH6GQG + ``` + + :param str resource_name: The name of the resource. + :param AgentKnowledgeBaseArgs 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(AgentKnowledgeBaseArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + knowledge_base_configuration: Optional[pulumi.Input[pulumi.InputType['AgentKnowledgeBaseKnowledgeBaseConfigurationArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + role_arn: Optional[pulumi.Input[str]] = None, + storage_configuration: Optional[pulumi.Input[pulumi.InputType['AgentKnowledgeBaseStorageConfigurationArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['AgentKnowledgeBaseTimeoutsArgs']]] = 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__ = AgentKnowledgeBaseArgs.__new__(AgentKnowledgeBaseArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["knowledge_base_configuration"] = knowledge_base_configuration + __props__.__dict__["name"] = name + if role_arn is None and not opts.urn: + raise TypeError("Missing required property 'role_arn'") + __props__.__dict__["role_arn"] = role_arn + __props__.__dict__["storage_configuration"] = storage_configuration + __props__.__dict__["tags"] = tags + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["arn"] = None + __props__.__dict__["created_at"] = None + __props__.__dict__["failure_reasons"] = None + __props__.__dict__["tags_all"] = None + __props__.__dict__["updated_at"] = None + super(AgentKnowledgeBase, __self__).__init__( + 'aws:bedrock/agentKnowledgeBase:AgentKnowledgeBase', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + created_at: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + failure_reasons: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + knowledge_base_configuration: Optional[pulumi.Input[pulumi.InputType['AgentKnowledgeBaseKnowledgeBaseConfigurationArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + role_arn: Optional[pulumi.Input[str]] = None, + storage_configuration: Optional[pulumi.Input[pulumi.InputType['AgentKnowledgeBaseStorageConfigurationArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + timeouts: Optional[pulumi.Input[pulumi.InputType['AgentKnowledgeBaseTimeoutsArgs']]] = None, + updated_at: Optional[pulumi.Input[str]] = None) -> 'AgentKnowledgeBase': + """ + Get an existing AgentKnowledgeBase 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 Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + :param pulumi.Input[str] description: A description of the knowledge base. + :param pulumi.Input[pulumi.InputType['AgentKnowledgeBaseKnowledgeBaseConfigurationArgs']] knowledge_base_configuration: Contains details about the embeddings model used for the knowledge base. + :param pulumi.Input[str] name: A name for the knowledge base. + :param pulumi.Input[str] role_arn: The ARN of the IAM role with permissions to create the knowledge base. + :param pulumi.Input[pulumi.InputType['AgentKnowledgeBaseStorageConfigurationArgs']] storage_configuration: Contains details about the configuration of the vector database used for the knowledge base. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AgentKnowledgeBaseState.__new__(_AgentKnowledgeBaseState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["created_at"] = created_at + __props__.__dict__["description"] = description + __props__.__dict__["failure_reasons"] = failure_reasons + __props__.__dict__["knowledge_base_configuration"] = knowledge_base_configuration + __props__.__dict__["name"] = name + __props__.__dict__["role_arn"] = role_arn + __props__.__dict__["storage_configuration"] = storage_configuration + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["updated_at"] = updated_at + return AgentKnowledgeBase(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN of the Knowledge Base. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="createdAt") + def created_at(self) -> pulumi.Output[str]: + return pulumi.get(self, "created_at") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + A description of the knowledge base. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="failureReasons") + def failure_reasons(self) -> pulumi.Output[Sequence[str]]: + return pulumi.get(self, "failure_reasons") + + @property + @pulumi.getter(name="knowledgeBaseConfiguration") + def knowledge_base_configuration(self) -> pulumi.Output[Optional['outputs.AgentKnowledgeBaseKnowledgeBaseConfiguration']]: + """ + Contains details about the embeddings model used for the knowledge base. + """ + return pulumi.get(self, "knowledge_base_configuration") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + A name for the knowledge base. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> pulumi.Output[str]: + """ + The ARN of the IAM role with permissions to create the knowledge base. + """ + return pulumi.get(self, "role_arn") + + @property + @pulumi.getter(name="storageConfiguration") + def storage_configuration(self) -> pulumi.Output[Optional['outputs.AgentKnowledgeBaseStorageConfiguration']]: + """ + Contains details about the configuration of the vector database used for the knowledge base. + """ + return pulumi.get(self, "storage_configuration") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + return pulumi.get(self, "tags_all") + + @property + @pulumi.getter + def timeouts(self) -> pulumi.Output[Optional['outputs.AgentKnowledgeBaseTimeouts']]: + return pulumi.get(self, "timeouts") + + @property + @pulumi.getter(name="updatedAt") + def updated_at(self) -> pulumi.Output[str]: + return pulumi.get(self, "updated_at") + diff --git a/sdk/python/pulumi_aws/bedrock/outputs.py b/sdk/python/pulumi_aws/bedrock/outputs.py index 246948532e6..0f0e6c110ac 100644 --- a/sdk/python/pulumi_aws/bedrock/outputs.py +++ b/sdk/python/pulumi_aws/bedrock/outputs.py @@ -11,6 +11,25 @@ from . import outputs __all__ = [ + 'AgentAgentActionGroupActionGroupExecutor', + 'AgentAgentActionGroupApiSchema', + 'AgentAgentActionGroupApiSchemaS3', + 'AgentAgentAliasRoutingConfiguration', + 'AgentAgentAliasTimeouts', + 'AgentAgentPromptOverrideConfiguration', + 'AgentAgentTimeouts', + 'AgentKnowledgeBaseKnowledgeBaseConfiguration', + 'AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration', + 'AgentKnowledgeBaseStorageConfiguration', + 'AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration', + 'AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping', + 'AgentKnowledgeBaseStorageConfigurationPineconeConfiguration', + 'AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping', + 'AgentKnowledgeBaseStorageConfigurationRdsConfiguration', + 'AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping', + 'AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration', + 'AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping', + 'AgentKnowledgeBaseTimeouts', 'CustomModelOutputDataConfig', 'CustomModelTimeouts', 'CustomModelTrainingDataConfig', @@ -28,6 +47,1063 @@ 'GetCustomModelsModelSummaryResult', ] +@pulumi.output_type +class AgentAgentActionGroupActionGroupExecutor(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "lambda": + suggest = "lambda_" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentAgentActionGroupActionGroupExecutor. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentAgentActionGroupActionGroupExecutor.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentAgentActionGroupActionGroupExecutor.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + lambda_: Optional[str] = None): + """ + :param str lambda_: ARN of the Lambda that defines the business logic for the action group. + """ + if lambda_ is not None: + pulumi.set(__self__, "lambda_", lambda_) + + @property + @pulumi.getter(name="lambda") + def lambda_(self) -> Optional[str]: + """ + ARN of the Lambda that defines the business logic for the action group. + """ + return pulumi.get(self, "lambda_") + + +@pulumi.output_type +class AgentAgentActionGroupApiSchema(dict): + def __init__(__self__, *, + payload: Optional[str] = None, + s3: Optional['outputs.AgentAgentActionGroupApiSchemaS3'] = None): + """ + :param str payload: YAML or JSON OpenAPI Schema. + :param 'AgentAgentActionGroupApiSchemaS3Args' s3: Configuration of S3 schema location + """ + if payload is not None: + pulumi.set(__self__, "payload", payload) + if s3 is not None: + pulumi.set(__self__, "s3", s3) + + @property + @pulumi.getter + def payload(self) -> Optional[str]: + """ + YAML or JSON OpenAPI Schema. + """ + return pulumi.get(self, "payload") + + @property + @pulumi.getter + def s3(self) -> Optional['outputs.AgentAgentActionGroupApiSchemaS3']: + """ + Configuration of S3 schema location + """ + return pulumi.get(self, "s3") + + +@pulumi.output_type +class AgentAgentActionGroupApiSchemaS3(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "s3BucketName": + suggest = "s3_bucket_name" + elif key == "s3ObjectKey": + suggest = "s3_object_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentAgentActionGroupApiSchemaS3. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentAgentActionGroupApiSchemaS3.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentAgentActionGroupApiSchemaS3.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + s3_bucket_name: Optional[str] = None, + s3_object_key: Optional[str] = None): + """ + :param str s3_bucket_name: The S3 bucket name that contains the OpenAPI Schema. + :param str s3_object_key: The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + + The following arguments are optional: + """ + if s3_bucket_name is not None: + pulumi.set(__self__, "s3_bucket_name", s3_bucket_name) + if s3_object_key is not None: + pulumi.set(__self__, "s3_object_key", s3_object_key) + + @property + @pulumi.getter(name="s3BucketName") + def s3_bucket_name(self) -> Optional[str]: + """ + The S3 bucket name that contains the OpenAPI Schema. + """ + return pulumi.get(self, "s3_bucket_name") + + @property + @pulumi.getter(name="s3ObjectKey") + def s3_object_key(self) -> Optional[str]: + """ + The S3 Object Key for the OpenAPI Schema in the S3 Bucket. + + The following arguments are optional: + """ + return pulumi.get(self, "s3_object_key") + + +@pulumi.output_type +class AgentAgentAliasRoutingConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "agentVersion": + suggest = "agent_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentAgentAliasRoutingConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentAgentAliasRoutingConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentAgentAliasRoutingConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + agent_version: str): + """ + :param str agent_version: Version of the agent the alias routes to. + """ + pulumi.set(__self__, "agent_version", agent_version) + + @property + @pulumi.getter(name="agentVersion") + def agent_version(self) -> str: + """ + Version of the agent the alias routes to. + """ + return pulumi.get(self, "agent_version") + + +@pulumi.output_type +class AgentAgentAliasTimeouts(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 AgentAgentPromptOverrideConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "overrideLambda": + suggest = "override_lambda" + elif key == "promptConfigurations": + suggest = "prompt_configurations" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentAgentPromptOverrideConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentAgentPromptOverrideConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentAgentPromptOverrideConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + override_lambda: str, + prompt_configurations: Sequence[Any]): + """ + :param str override_lambda: ARN of Lambda to use when parsing the raw foundation model output. + :param Sequence[Any] prompt_configurations: List of prompt configurations. + + The following arguments are optional: + """ + pulumi.set(__self__, "override_lambda", override_lambda) + pulumi.set(__self__, "prompt_configurations", prompt_configurations) + + @property + @pulumi.getter(name="overrideLambda") + def override_lambda(self) -> str: + """ + ARN of Lambda to use when parsing the raw foundation model output. + """ + return pulumi.get(self, "override_lambda") + + @property + @pulumi.getter(name="promptConfigurations") + def prompt_configurations(self) -> Sequence[Any]: + """ + List of prompt configurations. + + The following arguments are optional: + """ + return pulumi.get(self, "prompt_configurations") + + +@pulumi.output_type +class AgentAgentTimeouts(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 AgentKnowledgeBaseKnowledgeBaseConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "vectorKnowledgeBaseConfiguration": + suggest = "vector_knowledge_base_configuration" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentKnowledgeBaseKnowledgeBaseConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentKnowledgeBaseKnowledgeBaseConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentKnowledgeBaseKnowledgeBaseConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type: str, + vector_knowledge_base_configuration: Optional['outputs.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration'] = None): + """ + :param str type: The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + :param 'AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfigurationArgs' vector_knowledge_base_configuration: Contains details about the embeddings model that'sused to convert the data source. + """ + pulumi.set(__self__, "type", type) + if vector_knowledge_base_configuration is not None: + pulumi.set(__self__, "vector_knowledge_base_configuration", vector_knowledge_base_configuration) + + @property + @pulumi.getter + def type(self) -> str: + """ + The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="vectorKnowledgeBaseConfiguration") + def vector_knowledge_base_configuration(self) -> Optional['outputs.AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration']: + """ + Contains details about the embeddings model that'sused to convert the data source. + """ + return pulumi.get(self, "vector_knowledge_base_configuration") + + +@pulumi.output_type +class AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "embeddingModelArn": + suggest = "embedding_model_arn" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentKnowledgeBaseKnowledgeBaseConfigurationVectorKnowledgeBaseConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + embedding_model_arn: str): + """ + :param str embedding_model_arn: The ARN of the model used to create vector embeddings for the knowledge base. + """ + pulumi.set(__self__, "embedding_model_arn", embedding_model_arn) + + @property + @pulumi.getter(name="embeddingModelArn") + def embedding_model_arn(self) -> str: + """ + The ARN of the model used to create vector embeddings for the knowledge base. + """ + return pulumi.get(self, "embedding_model_arn") + + +@pulumi.output_type +class AgentKnowledgeBaseStorageConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "opensearchServerlessConfiguration": + suggest = "opensearch_serverless_configuration" + elif key == "pineconeConfiguration": + suggest = "pinecone_configuration" + elif key == "rdsConfiguration": + suggest = "rds_configuration" + elif key == "redisEnterpriseCloudConfiguration": + suggest = "redis_enterprise_cloud_configuration" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentKnowledgeBaseStorageConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentKnowledgeBaseStorageConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentKnowledgeBaseStorageConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + type: str, + opensearch_serverless_configuration: Optional['outputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration'] = None, + pinecone_configuration: Optional['outputs.AgentKnowledgeBaseStorageConfigurationPineconeConfiguration'] = None, + rds_configuration: Optional['outputs.AgentKnowledgeBaseStorageConfigurationRdsConfiguration'] = None, + redis_enterprise_cloud_configuration: Optional['outputs.AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration'] = None): + """ + :param str type: The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + :param 'AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationArgs' opensearch_serverless_configuration: Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + :param 'AgentKnowledgeBaseStorageConfigurationPineconeConfigurationArgs' pinecone_configuration: Contains the storage configuration of the knowledge base in Pinecone. + :param 'AgentKnowledgeBaseStorageConfigurationRdsConfigurationArgs' rds_configuration: Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + :param 'AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationArgs' redis_enterprise_cloud_configuration: Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + """ + pulumi.set(__self__, "type", type) + if opensearch_serverless_configuration is not None: + pulumi.set(__self__, "opensearch_serverless_configuration", opensearch_serverless_configuration) + if pinecone_configuration is not None: + pulumi.set(__self__, "pinecone_configuration", pinecone_configuration) + if rds_configuration is not None: + pulumi.set(__self__, "rds_configuration", rds_configuration) + if redis_enterprise_cloud_configuration is not None: + pulumi.set(__self__, "redis_enterprise_cloud_configuration", redis_enterprise_cloud_configuration) + + @property + @pulumi.getter + def type(self) -> str: + """ + The vector store service in which the knowledge base is stored.Valid Values: OPENSEARCH_SERVERLESS | PINECONE | REDIS_ENTERPRISE_CLOUD | RDS + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter(name="opensearchServerlessConfiguration") + def opensearch_serverless_configuration(self) -> Optional['outputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration']: + """ + Contains the storage configuration of the knowledge base in Amazon OpenSearch Service. + """ + return pulumi.get(self, "opensearch_serverless_configuration") + + @property + @pulumi.getter(name="pineconeConfiguration") + def pinecone_configuration(self) -> Optional['outputs.AgentKnowledgeBaseStorageConfigurationPineconeConfiguration']: + """ + Contains the storage configuration of the knowledge base in Pinecone. + """ + return pulumi.get(self, "pinecone_configuration") + + @property + @pulumi.getter(name="rdsConfiguration") + def rds_configuration(self) -> Optional['outputs.AgentKnowledgeBaseStorageConfigurationRdsConfiguration']: + """ + Contains details about the storage configuration of the knowledge base in Amazon RDS. For more information, see Create a vector index in Amazon RDS. + """ + return pulumi.get(self, "rds_configuration") + + @property + @pulumi.getter(name="redisEnterpriseCloudConfiguration") + def redis_enterprise_cloud_configuration(self) -> Optional['outputs.AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration']: + """ + Contains the storage configuration of the knowledge base in Redis Enterprise Cloud. + """ + return pulumi.get(self, "redis_enterprise_cloud_configuration") + + +@pulumi.output_type +class AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "collectionArn": + suggest = "collection_arn" + elif key == "vectorIndexName": + suggest = "vector_index_name" + elif key == "fieldMapping": + suggest = "field_mapping" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + collection_arn: str, + vector_index_name: str, + field_mapping: Optional['outputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping'] = None): + """ + :param str collection_arn: The ARN of the OpenSearch Service vector store. + :param str vector_index_name: The name of the vector store. + :param 'AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMappingArgs' field_mapping: Contains the names of the fields to which to map information about the vector store. + """ + pulumi.set(__self__, "collection_arn", collection_arn) + pulumi.set(__self__, "vector_index_name", vector_index_name) + if field_mapping is not None: + pulumi.set(__self__, "field_mapping", field_mapping) + + @property + @pulumi.getter(name="collectionArn") + def collection_arn(self) -> str: + """ + The ARN of the OpenSearch Service vector store. + """ + return pulumi.get(self, "collection_arn") + + @property + @pulumi.getter(name="vectorIndexName") + def vector_index_name(self) -> str: + """ + The name of the vector store. + """ + return pulumi.get(self, "vector_index_name") + + @property + @pulumi.getter(name="fieldMapping") + def field_mapping(self) -> Optional['outputs.AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping']: + """ + Contains the names of the fields to which to map information about the vector store. + """ + return pulumi.get(self, "field_mapping") + + +@pulumi.output_type +class AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metadataField": + suggest = "metadata_field" + elif key == "textField": + suggest = "text_field" + elif key == "vectorField": + suggest = "vector_field" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentKnowledgeBaseStorageConfigurationOpensearchServerlessConfigurationFieldMapping.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metadata_field: Optional[str] = None, + text_field: Optional[str] = None, + vector_field: Optional[str] = None): + """ + :param str metadata_field: The name of the field in which Amazon Bedrock stores metadata about the vector store. + :param str text_field: The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + :param str vector_field: The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + """ + if metadata_field is not None: + pulumi.set(__self__, "metadata_field", metadata_field) + if text_field is not None: + pulumi.set(__self__, "text_field", text_field) + if vector_field is not None: + pulumi.set(__self__, "vector_field", vector_field) + + @property + @pulumi.getter(name="metadataField") + def metadata_field(self) -> Optional[str]: + """ + The name of the field in which Amazon Bedrock stores metadata about the vector store. + """ + return pulumi.get(self, "metadata_field") + + @property + @pulumi.getter(name="textField") + def text_field(self) -> Optional[str]: + """ + The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + """ + return pulumi.get(self, "text_field") + + @property + @pulumi.getter(name="vectorField") + def vector_field(self) -> Optional[str]: + """ + The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + """ + return pulumi.get(self, "vector_field") + + +@pulumi.output_type +class AgentKnowledgeBaseStorageConfigurationPineconeConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "connectionString": + suggest = "connection_string" + elif key == "credentialsSecretArn": + suggest = "credentials_secret_arn" + elif key == "fieldMapping": + suggest = "field_mapping" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentKnowledgeBaseStorageConfigurationPineconeConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentKnowledgeBaseStorageConfigurationPineconeConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentKnowledgeBaseStorageConfigurationPineconeConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + connection_string: str, + credentials_secret_arn: str, + field_mapping: Optional['outputs.AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping'] = None, + namespace: Optional[str] = None): + """ + :param str connection_string: The endpoint URL for your index management page. + :param str credentials_secret_arn: The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + :param 'AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMappingArgs' field_mapping: Contains the names of the fields to which to map information about the vector store. + :param str namespace: The namespace to be used to write new data to your database. + """ + pulumi.set(__self__, "connection_string", connection_string) + pulumi.set(__self__, "credentials_secret_arn", credentials_secret_arn) + if field_mapping is not None: + pulumi.set(__self__, "field_mapping", field_mapping) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + + @property + @pulumi.getter(name="connectionString") + def connection_string(self) -> str: + """ + The endpoint URL for your index management page. + """ + return pulumi.get(self, "connection_string") + + @property + @pulumi.getter(name="credentialsSecretArn") + def credentials_secret_arn(self) -> str: + """ + The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + """ + return pulumi.get(self, "credentials_secret_arn") + + @property + @pulumi.getter(name="fieldMapping") + def field_mapping(self) -> Optional['outputs.AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping']: + """ + Contains the names of the fields to which to map information about the vector store. + """ + return pulumi.get(self, "field_mapping") + + @property + @pulumi.getter + def namespace(self) -> Optional[str]: + """ + The namespace to be used to write new data to your database. + """ + return pulumi.get(self, "namespace") + + +@pulumi.output_type +class AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metadataField": + suggest = "metadata_field" + elif key == "textField": + suggest = "text_field" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentKnowledgeBaseStorageConfigurationPineconeConfigurationFieldMapping.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metadata_field: Optional[str] = None, + text_field: Optional[str] = None): + """ + :param str metadata_field: The name of the field in which Amazon Bedrock stores metadata about the vector store. + :param str text_field: The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + """ + if metadata_field is not None: + pulumi.set(__self__, "metadata_field", metadata_field) + if text_field is not None: + pulumi.set(__self__, "text_field", text_field) + + @property + @pulumi.getter(name="metadataField") + def metadata_field(self) -> Optional[str]: + """ + The name of the field in which Amazon Bedrock stores metadata about the vector store. + """ + return pulumi.get(self, "metadata_field") + + @property + @pulumi.getter(name="textField") + def text_field(self) -> Optional[str]: + """ + The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + """ + return pulumi.get(self, "text_field") + + +@pulumi.output_type +class AgentKnowledgeBaseStorageConfigurationRdsConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "credentialsSecretArn": + suggest = "credentials_secret_arn" + elif key == "databaseName": + suggest = "database_name" + elif key == "resourceArn": + suggest = "resource_arn" + elif key == "tableName": + suggest = "table_name" + elif key == "fieldMapping": + suggest = "field_mapping" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentKnowledgeBaseStorageConfigurationRdsConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentKnowledgeBaseStorageConfigurationRdsConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentKnowledgeBaseStorageConfigurationRdsConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + credentials_secret_arn: str, + database_name: str, + resource_arn: str, + table_name: str, + field_mapping: Optional['outputs.AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping'] = None): + """ + :param str credentials_secret_arn: The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + :param str database_name: The name of your Amazon RDS database. + :param str resource_arn: The namespace to be used to write new data to your database. + :param str table_name: The name of the table in the database. + :param 'AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMappingArgs' field_mapping: Contains the names of the fields to which to map information about the vector store. + """ + pulumi.set(__self__, "credentials_secret_arn", credentials_secret_arn) + pulumi.set(__self__, "database_name", database_name) + pulumi.set(__self__, "resource_arn", resource_arn) + pulumi.set(__self__, "table_name", table_name) + if field_mapping is not None: + pulumi.set(__self__, "field_mapping", field_mapping) + + @property + @pulumi.getter(name="credentialsSecretArn") + def credentials_secret_arn(self) -> str: + """ + The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + """ + return pulumi.get(self, "credentials_secret_arn") + + @property + @pulumi.getter(name="databaseName") + def database_name(self) -> str: + """ + The name of your Amazon RDS database. + """ + return pulumi.get(self, "database_name") + + @property + @pulumi.getter(name="resourceArn") + def resource_arn(self) -> str: + """ + The namespace to be used to write new data to your database. + """ + return pulumi.get(self, "resource_arn") + + @property + @pulumi.getter(name="tableName") + def table_name(self) -> str: + """ + The name of the table in the database. + """ + return pulumi.get(self, "table_name") + + @property + @pulumi.getter(name="fieldMapping") + def field_mapping(self) -> Optional['outputs.AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping']: + """ + Contains the names of the fields to which to map information about the vector store. + """ + return pulumi.get(self, "field_mapping") + + +@pulumi.output_type +class AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metadataField": + suggest = "metadata_field" + elif key == "primaryKeyField": + suggest = "primary_key_field" + elif key == "textField": + suggest = "text_field" + elif key == "vectorField": + suggest = "vector_field" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentKnowledgeBaseStorageConfigurationRdsConfigurationFieldMapping.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metadata_field: str, + primary_key_field: str, + text_field: str, + vector_field: str): + """ + :param str metadata_field: The name of the field in which Amazon Bedrock stores metadata about the vector store. + :param str primary_key_field: The name of the field in which Amazon Bedrock stores the ID for each entry. + :param str text_field: The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + :param str vector_field: The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + """ + pulumi.set(__self__, "metadata_field", metadata_field) + pulumi.set(__self__, "primary_key_field", primary_key_field) + pulumi.set(__self__, "text_field", text_field) + pulumi.set(__self__, "vector_field", vector_field) + + @property + @pulumi.getter(name="metadataField") + def metadata_field(self) -> str: + """ + The name of the field in which Amazon Bedrock stores metadata about the vector store. + """ + return pulumi.get(self, "metadata_field") + + @property + @pulumi.getter(name="primaryKeyField") + def primary_key_field(self) -> str: + """ + The name of the field in which Amazon Bedrock stores the ID for each entry. + """ + return pulumi.get(self, "primary_key_field") + + @property + @pulumi.getter(name="textField") + def text_field(self) -> str: + """ + The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + """ + return pulumi.get(self, "text_field") + + @property + @pulumi.getter(name="vectorField") + def vector_field(self) -> str: + """ + The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + """ + return pulumi.get(self, "vector_field") + + +@pulumi.output_type +class AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "credentialsSecretArn": + suggest = "credentials_secret_arn" + elif key == "vectorIndexName": + suggest = "vector_index_name" + elif key == "fieldMapping": + suggest = "field_mapping" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + credentials_secret_arn: str, + endpoint: str, + vector_index_name: str, + field_mapping: Optional['outputs.AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping'] = None): + """ + :param str credentials_secret_arn: The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + :param str endpoint: The endpoint URL of the Redis Enterprise Cloud database. + :param str vector_index_name: The name of the vector store. + :param 'AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMappingArgs' field_mapping: Contains the names of the fields to which to map information about the vector store. + """ + pulumi.set(__self__, "credentials_secret_arn", credentials_secret_arn) + pulumi.set(__self__, "endpoint", endpoint) + pulumi.set(__self__, "vector_index_name", vector_index_name) + if field_mapping is not None: + pulumi.set(__self__, "field_mapping", field_mapping) + + @property + @pulumi.getter(name="credentialsSecretArn") + def credentials_secret_arn(self) -> str: + """ + The ARN of the secret that you created in AWS Secrets Manager that is linked to your Redis Enterprise Cloud database. + """ + return pulumi.get(self, "credentials_secret_arn") + + @property + @pulumi.getter + def endpoint(self) -> str: + """ + The endpoint URL of the Redis Enterprise Cloud database. + """ + return pulumi.get(self, "endpoint") + + @property + @pulumi.getter(name="vectorIndexName") + def vector_index_name(self) -> str: + """ + The name of the vector store. + """ + return pulumi.get(self, "vector_index_name") + + @property + @pulumi.getter(name="fieldMapping") + def field_mapping(self) -> Optional['outputs.AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping']: + """ + Contains the names of the fields to which to map information about the vector store. + """ + return pulumi.get(self, "field_mapping") + + +@pulumi.output_type +class AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "metadataField": + suggest = "metadata_field" + elif key == "textField": + suggest = "text_field" + elif key == "vectorField": + suggest = "vector_field" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AgentKnowledgeBaseStorageConfigurationRedisEnterpriseCloudConfigurationFieldMapping.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + metadata_field: Optional[str] = None, + text_field: Optional[str] = None, + vector_field: Optional[str] = None): + """ + :param str metadata_field: The name of the field in which Amazon Bedrock stores metadata about the vector store. + :param str text_field: The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + :param str vector_field: The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + """ + if metadata_field is not None: + pulumi.set(__self__, "metadata_field", metadata_field) + if text_field is not None: + pulumi.set(__self__, "text_field", text_field) + if vector_field is not None: + pulumi.set(__self__, "vector_field", vector_field) + + @property + @pulumi.getter(name="metadataField") + def metadata_field(self) -> Optional[str]: + """ + The name of the field in which Amazon Bedrock stores metadata about the vector store. + """ + return pulumi.get(self, "metadata_field") + + @property + @pulumi.getter(name="textField") + def text_field(self) -> Optional[str]: + """ + The name of the field in which Amazon Bedrock stores the raw text from your data. The text is split according to the chunking strategy you choose. + """ + return pulumi.get(self, "text_field") + + @property + @pulumi.getter(name="vectorField") + def vector_field(self) -> Optional[str]: + """ + The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources. + """ + return pulumi.get(self, "vector_field") + + +@pulumi.output_type +class AgentKnowledgeBaseTimeouts(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 CustomModelOutputDataConfig(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/cloudformation/stack_set.py b/sdk/python/pulumi_aws/cloudformation/stack_set.py index ba61c0344b1..ee31666c568 100644 --- a/sdk/python/pulumi_aws/cloudformation/stack_set.py +++ b/sdk/python/pulumi_aws/cloudformation/stack_set.py @@ -558,6 +558,8 @@ def __init__(__self__, > **NOTE:** All `NoEcho` template parameters must be ignored with the `lifecycle` configuration block `ignore_changes` argument. + > **NOTE:** When using a delegated administrator account, ensure that your IAM User or Role has the `organizations:ListDelegatedAdministrators` permission. Otherwise, you may get an error like `ValidationError: Account used is not a delegated administrator`. + ## Example Usage ```python @@ -661,6 +663,8 @@ def __init__(__self__, > **NOTE:** All `NoEcho` template parameters must be ignored with the `lifecycle` configuration block `ignore_changes` argument. + > **NOTE:** When using a delegated administrator account, ensure that your IAM User or Role has the `organizations:ListDelegatedAdministrators` permission. Otherwise, you may get an error like `ValidationError: Account used is not a delegated administrator`. + ## Example Usage ```python diff --git a/sdk/python/pulumi_aws/codecommit/repository.py b/sdk/python/pulumi_aws/codecommit/repository.py index 021de6b42f5..ad343d38358 100644 --- a/sdk/python/pulumi_aws/codecommit/repository.py +++ b/sdk/python/pulumi_aws/codecommit/repository.py @@ -24,7 +24,7 @@ def __init__(__self__, *, :param pulumi.Input[str] repository_name: The name for the repository. This needs to be less than 100 characters. :param pulumi.Input[str] default_branch: The default branch of the repository. The branch specified here needs to exist. :param pulumi.Input[str] description: The description of the repository. This needs to be less than 1000 characters - :param pulumi.Input[str] kms_key_id: The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + :param pulumi.Input[str] kms_key_id: The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ pulumi.set(__self__, "repository_name", repository_name) @@ -77,7 +77,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="kmsKeyId") def kms_key_id(self) -> Optional[pulumi.Input[str]]: """ - The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. """ return pulumi.get(self, "kms_key_id") @@ -118,7 +118,7 @@ def __init__(__self__, *, :param pulumi.Input[str] clone_url_ssh: The URL to use for cloning the repository over SSH. :param pulumi.Input[str] default_branch: The default branch of the repository. The branch specified here needs to exist. :param pulumi.Input[str] description: The description of the repository. This needs to be less than 1000 characters - :param pulumi.Input[str] kms_key_id: The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + :param pulumi.Input[str] kms_key_id: The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. :param pulumi.Input[str] repository_id: The ID of the repository :param pulumi.Input[str] repository_name: The name for the repository. This needs to be less than 100 characters. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -212,7 +212,7 @@ def description(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="kmsKeyId") def kms_key_id(self) -> Optional[pulumi.Input[str]]: """ - The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. """ return pulumi.get(self, "kms_key_id") @@ -324,7 +324,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] default_branch: The default branch of the repository. The branch specified here needs to exist. :param pulumi.Input[str] description: The description of the repository. This needs to be less than 1000 characters - :param pulumi.Input[str] kms_key_id: The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + :param pulumi.Input[str] kms_key_id: The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. :param pulumi.Input[str] repository_name: The name for the repository. This needs to be less than 100 characters. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ @@ -444,7 +444,7 @@ def get(resource_name: str, :param pulumi.Input[str] clone_url_ssh: The URL to use for cloning the repository over SSH. :param pulumi.Input[str] default_branch: The default branch of the repository. The branch specified here needs to exist. :param pulumi.Input[str] description: The description of the repository. This needs to be less than 1000 characters - :param pulumi.Input[str] kms_key_id: The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + :param pulumi.Input[str] kms_key_id: The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. :param pulumi.Input[str] repository_id: The ID of the repository :param pulumi.Input[str] repository_name: The name for the repository. This needs to be less than 100 characters. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. @@ -510,7 +510,7 @@ def description(self) -> pulumi.Output[Optional[str]]: @pulumi.getter(name="kmsKeyId") def kms_key_id(self) -> pulumi.Output[str]: """ - The ARN of the encryption key. If no key is specified, the default `aws/codecommit`` Amazon Web Services managed key is used. + The ARN of the encryption key. If no key is specified, the default `aws/codecommit` Amazon Web Services managed key is used. """ return pulumi.get(self, "kms_key_id") diff --git a/sdk/python/pulumi_aws/config/outputs.py b/sdk/python/pulumi_aws/config/outputs.py index 0522f5543d7..6a06d2f31d1 100644 --- a/sdk/python/pulumi_aws/config/outputs.py +++ b/sdk/python/pulumi_aws/config/outputs.py @@ -461,6 +461,7 @@ def __init__(__self__, *, rolesanywhere: Optional[str] = None, route53: Optional[str] = None, route53domains: Optional[str] = None, + route53profiles: Optional[str] = None, route53recoverycontrolconfig: Optional[str] = None, route53recoveryreadiness: Optional[str] = None, route53resolver: Optional[str] = None, @@ -740,6 +741,7 @@ def __init__(__self__, *, :param str rolesanywhere: Use this to override the default service endpoint URL :param str route53: Use this to override the default service endpoint URL :param str route53domains: Use this to override the default service endpoint URL + :param str route53profiles: Use this to override the default service endpoint URL :param str route53recoverycontrolconfig: Use this to override the default service endpoint URL :param str route53recoveryreadiness: Use this to override the default service endpoint URL :param str route53resolver: Use this to override the default service endpoint URL @@ -1243,6 +1245,8 @@ def __init__(__self__, *, pulumi.set(__self__, "route53", route53) if route53domains is not None: pulumi.set(__self__, "route53domains", route53domains) + if route53profiles is not None: + pulumi.set(__self__, "route53profiles", route53profiles) if route53recoverycontrolconfig is not None: pulumi.set(__self__, "route53recoverycontrolconfig", route53recoverycontrolconfig) if route53recoveryreadiness is not None: @@ -3144,6 +3148,14 @@ def route53domains(self) -> Optional[str]: """ return pulumi.get(self, "route53domains") + @property + @pulumi.getter + def route53profiles(self) -> Optional[str]: + """ + Use this to override the default service endpoint URL + """ + return pulumi.get(self, "route53profiles") + @property @pulumi.getter def route53recoverycontrolconfig(self) -> Optional[str]: diff --git a/sdk/python/pulumi_aws/costexplorer/_inputs.py b/sdk/python/pulumi_aws/costexplorer/_inputs.py index 82332f219ac..d89a5e16f78 100644 --- a/sdk/python/pulumi_aws/costexplorer/_inputs.py +++ b/sdk/python/pulumi_aws/costexplorer/_inputs.py @@ -31,18 +31,54 @@ 'CostCategoryRuleInheritedValueArgs', 'CostCategoryRuleRuleArgs', 'CostCategoryRuleRuleAndArgs', + 'CostCategoryRuleRuleAndAndArgs', + 'CostCategoryRuleRuleAndAndCostCategoryArgs', + 'CostCategoryRuleRuleAndAndDimensionArgs', + 'CostCategoryRuleRuleAndAndTagsArgs', 'CostCategoryRuleRuleAndCostCategoryArgs', 'CostCategoryRuleRuleAndDimensionArgs', + 'CostCategoryRuleRuleAndNotArgs', + 'CostCategoryRuleRuleAndNotCostCategoryArgs', + 'CostCategoryRuleRuleAndNotDimensionArgs', + 'CostCategoryRuleRuleAndNotTagsArgs', + 'CostCategoryRuleRuleAndOrArgs', + 'CostCategoryRuleRuleAndOrCostCategoryArgs', + 'CostCategoryRuleRuleAndOrDimensionArgs', + 'CostCategoryRuleRuleAndOrTagsArgs', 'CostCategoryRuleRuleAndTagsArgs', 'CostCategoryRuleRuleCostCategoryArgs', 'CostCategoryRuleRuleDimensionArgs', 'CostCategoryRuleRuleNotArgs', + 'CostCategoryRuleRuleNotAndArgs', + 'CostCategoryRuleRuleNotAndCostCategoryArgs', + 'CostCategoryRuleRuleNotAndDimensionArgs', + 'CostCategoryRuleRuleNotAndTagsArgs', 'CostCategoryRuleRuleNotCostCategoryArgs', 'CostCategoryRuleRuleNotDimensionArgs', + 'CostCategoryRuleRuleNotNotArgs', + 'CostCategoryRuleRuleNotNotCostCategoryArgs', + 'CostCategoryRuleRuleNotNotDimensionArgs', + 'CostCategoryRuleRuleNotNotTagsArgs', + 'CostCategoryRuleRuleNotOrArgs', + 'CostCategoryRuleRuleNotOrCostCategoryArgs', + 'CostCategoryRuleRuleNotOrDimensionArgs', + 'CostCategoryRuleRuleNotOrTagsArgs', 'CostCategoryRuleRuleNotTagsArgs', 'CostCategoryRuleRuleOrArgs', + 'CostCategoryRuleRuleOrAndArgs', + 'CostCategoryRuleRuleOrAndCostCategoryArgs', + 'CostCategoryRuleRuleOrAndDimensionArgs', + 'CostCategoryRuleRuleOrAndTagsArgs', 'CostCategoryRuleRuleOrCostCategoryArgs', 'CostCategoryRuleRuleOrDimensionArgs', + 'CostCategoryRuleRuleOrNotArgs', + 'CostCategoryRuleRuleOrNotCostCategoryArgs', + 'CostCategoryRuleRuleOrNotDimensionArgs', + 'CostCategoryRuleRuleOrNotTagsArgs', + 'CostCategoryRuleRuleOrOrArgs', + 'CostCategoryRuleRuleOrOrCostCategoryArgs', + 'CostCategoryRuleRuleOrOrDimensionArgs', + 'CostCategoryRuleRuleOrOrTagsArgs', 'CostCategoryRuleRuleOrTagsArgs', 'CostCategoryRuleRuleTagsArgs', 'CostCategorySplitChargeRuleArgs', @@ -1224,19 +1260,37 @@ def tags(self, value: Optional[pulumi.Input['CostCategoryRuleRuleTagsArgs']]): @pulumi.input_type class CostCategoryRuleRuleAndArgs: def __init__(__self__, *, + ands: Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleAndAndArgs']]]] = None, cost_category: Optional[pulumi.Input['CostCategoryRuleRuleAndCostCategoryArgs']] = None, dimension: Optional[pulumi.Input['CostCategoryRuleRuleAndDimensionArgs']] = None, + not_: Optional[pulumi.Input['CostCategoryRuleRuleAndNotArgs']] = None, + ors: Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleAndOrArgs']]]] = None, tags: Optional[pulumi.Input['CostCategoryRuleRuleAndTagsArgs']] = None): """ :param pulumi.Input['CostCategoryRuleRuleAndTagsArgs'] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ + if ands is not None: + pulumi.set(__self__, "ands", ands) if cost_category is not None: pulumi.set(__self__, "cost_category", cost_category) if dimension is not None: pulumi.set(__self__, "dimension", dimension) + if not_ is not None: + pulumi.set(__self__, "not_", not_) + if ors is not None: + pulumi.set(__self__, "ors", ors) if tags is not None: pulumi.set(__self__, "tags", tags) + @property + @pulumi.getter + def ands(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleAndAndArgs']]]]: + return pulumi.get(self, "ands") + + @ands.setter + def ands(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleAndAndArgs']]]]): + pulumi.set(self, "ands", value) + @property @pulumi.getter(name="costCategory") def cost_category(self) -> Optional[pulumi.Input['CostCategoryRuleRuleAndCostCategoryArgs']]: @@ -1255,6 +1309,24 @@ def dimension(self) -> Optional[pulumi.Input['CostCategoryRuleRuleAndDimensionAr def dimension(self, value: Optional[pulumi.Input['CostCategoryRuleRuleAndDimensionArgs']]): pulumi.set(self, "dimension", value) + @property + @pulumi.getter(name="not") + def not_(self) -> Optional[pulumi.Input['CostCategoryRuleRuleAndNotArgs']]: + return pulumi.get(self, "not_") + + @not_.setter + def not_(self, value: Optional[pulumi.Input['CostCategoryRuleRuleAndNotArgs']]): + pulumi.set(self, "not_", value) + + @property + @pulumi.getter + def ors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleAndOrArgs']]]]: + return pulumi.get(self, "ors") + + @ors.setter + def ors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleAndOrArgs']]]]): + pulumi.set(self, "ors", value) + @property @pulumi.getter def tags(self) -> Optional[pulumi.Input['CostCategoryRuleRuleAndTagsArgs']]: @@ -1269,7 +1341,54 @@ def tags(self, value: Optional[pulumi.Input['CostCategoryRuleRuleAndTagsArgs']]) @pulumi.input_type -class CostCategoryRuleRuleAndCostCategoryArgs: +class CostCategoryRuleRuleAndAndArgs: + def __init__(__self__, *, + cost_category: Optional[pulumi.Input['CostCategoryRuleRuleAndAndCostCategoryArgs']] = None, + dimension: Optional[pulumi.Input['CostCategoryRuleRuleAndAndDimensionArgs']] = None, + tags: Optional[pulumi.Input['CostCategoryRuleRuleAndAndTagsArgs']] = None): + """ + :param pulumi.Input['CostCategoryRuleRuleAndAndTagsArgs'] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional[pulumi.Input['CostCategoryRuleRuleAndAndCostCategoryArgs']]: + return pulumi.get(self, "cost_category") + + @cost_category.setter + def cost_category(self, value: Optional[pulumi.Input['CostCategoryRuleRuleAndAndCostCategoryArgs']]): + pulumi.set(self, "cost_category", value) + + @property + @pulumi.getter + def dimension(self) -> Optional[pulumi.Input['CostCategoryRuleRuleAndAndDimensionArgs']]: + return pulumi.get(self, "dimension") + + @dimension.setter + def dimension(self, value: Optional[pulumi.Input['CostCategoryRuleRuleAndAndDimensionArgs']]): + pulumi.set(self, "dimension", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input['CostCategoryRuleRuleAndAndTagsArgs']]: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input['CostCategoryRuleRuleAndAndTagsArgs']]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class CostCategoryRuleRuleAndAndCostCategoryArgs: def __init__(__self__, *, key: Optional[pulumi.Input[str]] = None, match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1324,7 +1443,7 @@ def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.input_type -class CostCategoryRuleRuleAndDimensionArgs: +class CostCategoryRuleRuleAndAndDimensionArgs: def __init__(__self__, *, key: Optional[pulumi.Input[str]] = None, match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1379,7 +1498,7 @@ def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.input_type -class CostCategoryRuleRuleAndTagsArgs: +class CostCategoryRuleRuleAndAndTagsArgs: def __init__(__self__, *, key: Optional[pulumi.Input[str]] = None, match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1434,7 +1553,7 @@ def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.input_type -class CostCategoryRuleRuleCostCategoryArgs: +class CostCategoryRuleRuleAndCostCategoryArgs: def __init__(__self__, *, key: Optional[pulumi.Input[str]] = None, match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1489,7 +1608,7 @@ def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.input_type -class CostCategoryRuleRuleDimensionArgs: +class CostCategoryRuleRuleAndDimensionArgs: def __init__(__self__, *, key: Optional[pulumi.Input[str]] = None, match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1544,13 +1663,13 @@ def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.input_type -class CostCategoryRuleRuleNotArgs: +class CostCategoryRuleRuleAndNotArgs: def __init__(__self__, *, - cost_category: Optional[pulumi.Input['CostCategoryRuleRuleNotCostCategoryArgs']] = None, - dimension: Optional[pulumi.Input['CostCategoryRuleRuleNotDimensionArgs']] = None, - tags: Optional[pulumi.Input['CostCategoryRuleRuleNotTagsArgs']] = None): + cost_category: Optional[pulumi.Input['CostCategoryRuleRuleAndNotCostCategoryArgs']] = None, + dimension: Optional[pulumi.Input['CostCategoryRuleRuleAndNotDimensionArgs']] = None, + tags: Optional[pulumi.Input['CostCategoryRuleRuleAndNotTagsArgs']] = None): """ - :param pulumi.Input['CostCategoryRuleRuleNotTagsArgs'] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input['CostCategoryRuleRuleAndNotTagsArgs'] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ if cost_category is not None: pulumi.set(__self__, "cost_category", cost_category) @@ -1561,37 +1680,37 @@ def __init__(__self__, *, @property @pulumi.getter(name="costCategory") - def cost_category(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotCostCategoryArgs']]: + def cost_category(self) -> Optional[pulumi.Input['CostCategoryRuleRuleAndNotCostCategoryArgs']]: return pulumi.get(self, "cost_category") @cost_category.setter - def cost_category(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotCostCategoryArgs']]): + def cost_category(self, value: Optional[pulumi.Input['CostCategoryRuleRuleAndNotCostCategoryArgs']]): pulumi.set(self, "cost_category", value) @property @pulumi.getter - def dimension(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotDimensionArgs']]: + def dimension(self) -> Optional[pulumi.Input['CostCategoryRuleRuleAndNotDimensionArgs']]: return pulumi.get(self, "dimension") @dimension.setter - def dimension(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotDimensionArgs']]): + def dimension(self, value: Optional[pulumi.Input['CostCategoryRuleRuleAndNotDimensionArgs']]): pulumi.set(self, "dimension", value) @property @pulumi.getter - def tags(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotTagsArgs']]: + def tags(self) -> Optional[pulumi.Input['CostCategoryRuleRuleAndNotTagsArgs']]: """ Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @tags.setter - def tags(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotTagsArgs']]): + def tags(self, value: Optional[pulumi.Input['CostCategoryRuleRuleAndNotTagsArgs']]): pulumi.set(self, "tags", value) @pulumi.input_type -class CostCategoryRuleRuleNotCostCategoryArgs: +class CostCategoryRuleRuleAndNotCostCategoryArgs: def __init__(__self__, *, key: Optional[pulumi.Input[str]] = None, match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1646,7 +1765,7 @@ def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.input_type -class CostCategoryRuleRuleNotDimensionArgs: +class CostCategoryRuleRuleAndNotDimensionArgs: def __init__(__self__, *, key: Optional[pulumi.Input[str]] = None, match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1701,7 +1820,7 @@ def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.input_type -class CostCategoryRuleRuleNotTagsArgs: +class CostCategoryRuleRuleAndNotTagsArgs: def __init__(__self__, *, key: Optional[pulumi.Input[str]] = None, match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1756,13 +1875,13 @@ def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.input_type -class CostCategoryRuleRuleOrArgs: +class CostCategoryRuleRuleAndOrArgs: def __init__(__self__, *, - cost_category: Optional[pulumi.Input['CostCategoryRuleRuleOrCostCategoryArgs']] = None, - dimension: Optional[pulumi.Input['CostCategoryRuleRuleOrDimensionArgs']] = None, - tags: Optional[pulumi.Input['CostCategoryRuleRuleOrTagsArgs']] = None): + cost_category: Optional[pulumi.Input['CostCategoryRuleRuleAndOrCostCategoryArgs']] = None, + dimension: Optional[pulumi.Input['CostCategoryRuleRuleAndOrDimensionArgs']] = None, + tags: Optional[pulumi.Input['CostCategoryRuleRuleAndOrTagsArgs']] = None): """ - :param pulumi.Input['CostCategoryRuleRuleOrTagsArgs'] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input['CostCategoryRuleRuleAndOrTagsArgs'] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ if cost_category is not None: pulumi.set(__self__, "cost_category", cost_category) @@ -1773,37 +1892,37 @@ def __init__(__self__, *, @property @pulumi.getter(name="costCategory") - def cost_category(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrCostCategoryArgs']]: + def cost_category(self) -> Optional[pulumi.Input['CostCategoryRuleRuleAndOrCostCategoryArgs']]: return pulumi.get(self, "cost_category") @cost_category.setter - def cost_category(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrCostCategoryArgs']]): + def cost_category(self, value: Optional[pulumi.Input['CostCategoryRuleRuleAndOrCostCategoryArgs']]): pulumi.set(self, "cost_category", value) @property @pulumi.getter - def dimension(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrDimensionArgs']]: + def dimension(self) -> Optional[pulumi.Input['CostCategoryRuleRuleAndOrDimensionArgs']]: return pulumi.get(self, "dimension") @dimension.setter - def dimension(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrDimensionArgs']]): + def dimension(self, value: Optional[pulumi.Input['CostCategoryRuleRuleAndOrDimensionArgs']]): pulumi.set(self, "dimension", value) @property @pulumi.getter - def tags(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrTagsArgs']]: + def tags(self) -> Optional[pulumi.Input['CostCategoryRuleRuleAndOrTagsArgs']]: """ Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ return pulumi.get(self, "tags") @tags.setter - def tags(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrTagsArgs']]): + def tags(self, value: Optional[pulumi.Input['CostCategoryRuleRuleAndOrTagsArgs']]): pulumi.set(self, "tags", value) @pulumi.input_type -class CostCategoryRuleRuleOrCostCategoryArgs: +class CostCategoryRuleRuleAndOrCostCategoryArgs: def __init__(__self__, *, key: Optional[pulumi.Input[str]] = None, match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1858,7 +1977,7 @@ def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): @pulumi.input_type -class CostCategoryRuleRuleOrDimensionArgs: +class CostCategoryRuleRuleAndOrDimensionArgs: def __init__(__self__, *, key: Optional[pulumi.Input[str]] = None, match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1912,6 +2031,1939 @@ def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): pulumi.set(self, "values", value) +@pulumi.input_type +class CostCategoryRuleRuleAndOrTagsArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Key for the tag. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleAndTagsArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Key for the tag. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleCostCategoryArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleDimensionArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotArgs: + def __init__(__self__, *, + ands: Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleNotAndArgs']]]] = None, + cost_category: Optional[pulumi.Input['CostCategoryRuleRuleNotCostCategoryArgs']] = None, + dimension: Optional[pulumi.Input['CostCategoryRuleRuleNotDimensionArgs']] = None, + not_: Optional[pulumi.Input['CostCategoryRuleRuleNotNotArgs']] = None, + ors: Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleNotOrArgs']]]] = None, + tags: Optional[pulumi.Input['CostCategoryRuleRuleNotTagsArgs']] = None): + """ + :param pulumi.Input['CostCategoryRuleRuleNotTagsArgs'] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if ands is not None: + pulumi.set(__self__, "ands", ands) + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if not_ is not None: + pulumi.set(__self__, "not_", not_) + if ors is not None: + pulumi.set(__self__, "ors", ors) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def ands(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleNotAndArgs']]]]: + return pulumi.get(self, "ands") + + @ands.setter + def ands(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleNotAndArgs']]]]): + pulumi.set(self, "ands", value) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotCostCategoryArgs']]: + return pulumi.get(self, "cost_category") + + @cost_category.setter + def cost_category(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotCostCategoryArgs']]): + pulumi.set(self, "cost_category", value) + + @property + @pulumi.getter + def dimension(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotDimensionArgs']]: + return pulumi.get(self, "dimension") + + @dimension.setter + def dimension(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotDimensionArgs']]): + pulumi.set(self, "dimension", value) + + @property + @pulumi.getter(name="not") + def not_(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotNotArgs']]: + return pulumi.get(self, "not_") + + @not_.setter + def not_(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotNotArgs']]): + pulumi.set(self, "not_", value) + + @property + @pulumi.getter + def ors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleNotOrArgs']]]]: + return pulumi.get(self, "ors") + + @ors.setter + def ors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleNotOrArgs']]]]): + pulumi.set(self, "ors", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotTagsArgs']]: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotTagsArgs']]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotAndArgs: + def __init__(__self__, *, + cost_category: Optional[pulumi.Input['CostCategoryRuleRuleNotAndCostCategoryArgs']] = None, + dimension: Optional[pulumi.Input['CostCategoryRuleRuleNotAndDimensionArgs']] = None, + tags: Optional[pulumi.Input['CostCategoryRuleRuleNotAndTagsArgs']] = None): + """ + :param pulumi.Input['CostCategoryRuleRuleNotAndTagsArgs'] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotAndCostCategoryArgs']]: + return pulumi.get(self, "cost_category") + + @cost_category.setter + def cost_category(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotAndCostCategoryArgs']]): + pulumi.set(self, "cost_category", value) + + @property + @pulumi.getter + def dimension(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotAndDimensionArgs']]: + return pulumi.get(self, "dimension") + + @dimension.setter + def dimension(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotAndDimensionArgs']]): + pulumi.set(self, "dimension", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotAndTagsArgs']]: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotAndTagsArgs']]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotAndCostCategoryArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotAndDimensionArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotAndTagsArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Key for the tag. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotCostCategoryArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotDimensionArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotNotArgs: + def __init__(__self__, *, + cost_category: Optional[pulumi.Input['CostCategoryRuleRuleNotNotCostCategoryArgs']] = None, + dimension: Optional[pulumi.Input['CostCategoryRuleRuleNotNotDimensionArgs']] = None, + tags: Optional[pulumi.Input['CostCategoryRuleRuleNotNotTagsArgs']] = None): + """ + :param pulumi.Input['CostCategoryRuleRuleNotNotTagsArgs'] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotNotCostCategoryArgs']]: + return pulumi.get(self, "cost_category") + + @cost_category.setter + def cost_category(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotNotCostCategoryArgs']]): + pulumi.set(self, "cost_category", value) + + @property + @pulumi.getter + def dimension(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotNotDimensionArgs']]: + return pulumi.get(self, "dimension") + + @dimension.setter + def dimension(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotNotDimensionArgs']]): + pulumi.set(self, "dimension", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotNotTagsArgs']]: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotNotTagsArgs']]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotNotCostCategoryArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotNotDimensionArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotNotTagsArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Key for the tag. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotOrArgs: + def __init__(__self__, *, + cost_category: Optional[pulumi.Input['CostCategoryRuleRuleNotOrCostCategoryArgs']] = None, + dimension: Optional[pulumi.Input['CostCategoryRuleRuleNotOrDimensionArgs']] = None, + tags: Optional[pulumi.Input['CostCategoryRuleRuleNotOrTagsArgs']] = None): + """ + :param pulumi.Input['CostCategoryRuleRuleNotOrTagsArgs'] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotOrCostCategoryArgs']]: + return pulumi.get(self, "cost_category") + + @cost_category.setter + def cost_category(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotOrCostCategoryArgs']]): + pulumi.set(self, "cost_category", value) + + @property + @pulumi.getter + def dimension(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotOrDimensionArgs']]: + return pulumi.get(self, "dimension") + + @dimension.setter + def dimension(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotOrDimensionArgs']]): + pulumi.set(self, "dimension", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input['CostCategoryRuleRuleNotOrTagsArgs']]: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input['CostCategoryRuleRuleNotOrTagsArgs']]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotOrCostCategoryArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotOrDimensionArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotOrTagsArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Key for the tag. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleNotTagsArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Key for the tag. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleOrArgs: + def __init__(__self__, *, + ands: Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleOrAndArgs']]]] = None, + cost_category: Optional[pulumi.Input['CostCategoryRuleRuleOrCostCategoryArgs']] = None, + dimension: Optional[pulumi.Input['CostCategoryRuleRuleOrDimensionArgs']] = None, + not_: Optional[pulumi.Input['CostCategoryRuleRuleOrNotArgs']] = None, + ors: Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleOrOrArgs']]]] = None, + tags: Optional[pulumi.Input['CostCategoryRuleRuleOrTagsArgs']] = None): + """ + :param pulumi.Input['CostCategoryRuleRuleOrTagsArgs'] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if ands is not None: + pulumi.set(__self__, "ands", ands) + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if not_ is not None: + pulumi.set(__self__, "not_", not_) + if ors is not None: + pulumi.set(__self__, "ors", ors) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def ands(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleOrAndArgs']]]]: + return pulumi.get(self, "ands") + + @ands.setter + def ands(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleOrAndArgs']]]]): + pulumi.set(self, "ands", value) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrCostCategoryArgs']]: + return pulumi.get(self, "cost_category") + + @cost_category.setter + def cost_category(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrCostCategoryArgs']]): + pulumi.set(self, "cost_category", value) + + @property + @pulumi.getter + def dimension(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrDimensionArgs']]: + return pulumi.get(self, "dimension") + + @dimension.setter + def dimension(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrDimensionArgs']]): + pulumi.set(self, "dimension", value) + + @property + @pulumi.getter(name="not") + def not_(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrNotArgs']]: + return pulumi.get(self, "not_") + + @not_.setter + def not_(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrNotArgs']]): + pulumi.set(self, "not_", value) + + @property + @pulumi.getter + def ors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleOrOrArgs']]]]: + return pulumi.get(self, "ors") + + @ors.setter + def ors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CostCategoryRuleRuleOrOrArgs']]]]): + pulumi.set(self, "ors", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrTagsArgs']]: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrTagsArgs']]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class CostCategoryRuleRuleOrAndArgs: + def __init__(__self__, *, + cost_category: Optional[pulumi.Input['CostCategoryRuleRuleOrAndCostCategoryArgs']] = None, + dimension: Optional[pulumi.Input['CostCategoryRuleRuleOrAndDimensionArgs']] = None, + tags: Optional[pulumi.Input['CostCategoryRuleRuleOrAndTagsArgs']] = None): + """ + :param pulumi.Input['CostCategoryRuleRuleOrAndTagsArgs'] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrAndCostCategoryArgs']]: + return pulumi.get(self, "cost_category") + + @cost_category.setter + def cost_category(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrAndCostCategoryArgs']]): + pulumi.set(self, "cost_category", value) + + @property + @pulumi.getter + def dimension(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrAndDimensionArgs']]: + return pulumi.get(self, "dimension") + + @dimension.setter + def dimension(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrAndDimensionArgs']]): + pulumi.set(self, "dimension", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrAndTagsArgs']]: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrAndTagsArgs']]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class CostCategoryRuleRuleOrAndCostCategoryArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleOrAndDimensionArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleOrAndTagsArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Key for the tag. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleOrCostCategoryArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleOrDimensionArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleOrNotArgs: + def __init__(__self__, *, + cost_category: Optional[pulumi.Input['CostCategoryRuleRuleOrNotCostCategoryArgs']] = None, + dimension: Optional[pulumi.Input['CostCategoryRuleRuleOrNotDimensionArgs']] = None, + tags: Optional[pulumi.Input['CostCategoryRuleRuleOrNotTagsArgs']] = None): + """ + :param pulumi.Input['CostCategoryRuleRuleOrNotTagsArgs'] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrNotCostCategoryArgs']]: + return pulumi.get(self, "cost_category") + + @cost_category.setter + def cost_category(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrNotCostCategoryArgs']]): + pulumi.set(self, "cost_category", value) + + @property + @pulumi.getter + def dimension(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrNotDimensionArgs']]: + return pulumi.get(self, "dimension") + + @dimension.setter + def dimension(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrNotDimensionArgs']]): + pulumi.set(self, "dimension", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrNotTagsArgs']]: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrNotTagsArgs']]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class CostCategoryRuleRuleOrNotCostCategoryArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleOrNotDimensionArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleOrNotTagsArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Key for the tag. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleOrOrArgs: + def __init__(__self__, *, + cost_category: Optional[pulumi.Input['CostCategoryRuleRuleOrOrCostCategoryArgs']] = None, + dimension: Optional[pulumi.Input['CostCategoryRuleRuleOrOrDimensionArgs']] = None, + tags: Optional[pulumi.Input['CostCategoryRuleRuleOrOrTagsArgs']] = None): + """ + :param pulumi.Input['CostCategoryRuleRuleOrOrTagsArgs'] tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrOrCostCategoryArgs']]: + return pulumi.get(self, "cost_category") + + @cost_category.setter + def cost_category(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrOrCostCategoryArgs']]): + pulumi.set(self, "cost_category", value) + + @property + @pulumi.getter + def dimension(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrOrDimensionArgs']]: + return pulumi.get(self, "dimension") + + @dimension.setter + def dimension(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrOrDimensionArgs']]): + pulumi.set(self, "dimension", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input['CostCategoryRuleRuleOrOrTagsArgs']]: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input['CostCategoryRuleRuleOrOrTagsArgs']]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class CostCategoryRuleRuleOrOrCostCategoryArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleOrOrDimensionArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Unique name of the Cost Category. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + +@pulumi.input_type +class CostCategoryRuleRuleOrOrTagsArgs: + def __init__(__self__, *, + key: Optional[pulumi.Input[str]] = None, + match_options: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + values: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] key: Key for the tag. + :param pulumi.Input[Sequence[pulumi.Input[str]]] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[pulumi.Input[str]]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @key.setter + def key(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key", value) + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @match_options.setter + def match_options(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "match_options", value) + + @property + @pulumi.getter + def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + @values.setter + def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "values", value) + + @pulumi.input_type class CostCategoryRuleRuleOrTagsArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/costexplorer/outputs.py b/sdk/python/pulumi_aws/costexplorer/outputs.py index 4f7387234b2..678d84c24d0 100644 --- a/sdk/python/pulumi_aws/costexplorer/outputs.py +++ b/sdk/python/pulumi_aws/costexplorer/outputs.py @@ -32,18 +32,54 @@ 'CostCategoryRuleInheritedValue', 'CostCategoryRuleRule', 'CostCategoryRuleRuleAnd', + 'CostCategoryRuleRuleAndAnd', + 'CostCategoryRuleRuleAndAndCostCategory', + 'CostCategoryRuleRuleAndAndDimension', + 'CostCategoryRuleRuleAndAndTags', 'CostCategoryRuleRuleAndCostCategory', 'CostCategoryRuleRuleAndDimension', + 'CostCategoryRuleRuleAndNot', + 'CostCategoryRuleRuleAndNotCostCategory', + 'CostCategoryRuleRuleAndNotDimension', + 'CostCategoryRuleRuleAndNotTags', + 'CostCategoryRuleRuleAndOr', + 'CostCategoryRuleRuleAndOrCostCategory', + 'CostCategoryRuleRuleAndOrDimension', + 'CostCategoryRuleRuleAndOrTags', 'CostCategoryRuleRuleAndTags', 'CostCategoryRuleRuleCostCategory', 'CostCategoryRuleRuleDimension', 'CostCategoryRuleRuleNot', + 'CostCategoryRuleRuleNotAnd', + 'CostCategoryRuleRuleNotAndCostCategory', + 'CostCategoryRuleRuleNotAndDimension', + 'CostCategoryRuleRuleNotAndTags', 'CostCategoryRuleRuleNotCostCategory', 'CostCategoryRuleRuleNotDimension', + 'CostCategoryRuleRuleNotNot', + 'CostCategoryRuleRuleNotNotCostCategory', + 'CostCategoryRuleRuleNotNotDimension', + 'CostCategoryRuleRuleNotNotTags', + 'CostCategoryRuleRuleNotOr', + 'CostCategoryRuleRuleNotOrCostCategory', + 'CostCategoryRuleRuleNotOrDimension', + 'CostCategoryRuleRuleNotOrTags', 'CostCategoryRuleRuleNotTags', 'CostCategoryRuleRuleOr', + 'CostCategoryRuleRuleOrAnd', + 'CostCategoryRuleRuleOrAndCostCategory', + 'CostCategoryRuleRuleOrAndDimension', + 'CostCategoryRuleRuleOrAndTags', 'CostCategoryRuleRuleOrCostCategory', 'CostCategoryRuleRuleOrDimension', + 'CostCategoryRuleRuleOrNot', + 'CostCategoryRuleRuleOrNotCostCategory', + 'CostCategoryRuleRuleOrNotDimension', + 'CostCategoryRuleRuleOrNotTags', + 'CostCategoryRuleRuleOrOr', + 'CostCategoryRuleRuleOrOrCostCategory', + 'CostCategoryRuleRuleOrOrDimension', + 'CostCategoryRuleRuleOrOrTags', 'CostCategoryRuleRuleOrTags', 'CostCategoryRuleRuleTags', 'CostCategorySplitChargeRule', @@ -52,18 +88,54 @@ 'GetCostCategoryRuleInheritedValueResult', 'GetCostCategoryRuleRuleResult', 'GetCostCategoryRuleRuleAndResult', + 'GetCostCategoryRuleRuleAndAndResult', + 'GetCostCategoryRuleRuleAndAndCostCategoryResult', + 'GetCostCategoryRuleRuleAndAndDimensionResult', + 'GetCostCategoryRuleRuleAndAndTagResult', 'GetCostCategoryRuleRuleAndCostCategoryResult', 'GetCostCategoryRuleRuleAndDimensionResult', + 'GetCostCategoryRuleRuleAndNotResult', + 'GetCostCategoryRuleRuleAndNotCostCategoryResult', + 'GetCostCategoryRuleRuleAndNotDimensionResult', + 'GetCostCategoryRuleRuleAndNotTagResult', + 'GetCostCategoryRuleRuleAndOrResult', + 'GetCostCategoryRuleRuleAndOrCostCategoryResult', + 'GetCostCategoryRuleRuleAndOrDimensionResult', + 'GetCostCategoryRuleRuleAndOrTagResult', 'GetCostCategoryRuleRuleAndTagResult', 'GetCostCategoryRuleRuleCostCategoryResult', 'GetCostCategoryRuleRuleDimensionResult', 'GetCostCategoryRuleRuleNotResult', + 'GetCostCategoryRuleRuleNotAndResult', + 'GetCostCategoryRuleRuleNotAndCostCategoryResult', + 'GetCostCategoryRuleRuleNotAndDimensionResult', + 'GetCostCategoryRuleRuleNotAndTagResult', 'GetCostCategoryRuleRuleNotCostCategoryResult', 'GetCostCategoryRuleRuleNotDimensionResult', + 'GetCostCategoryRuleRuleNotNotResult', + 'GetCostCategoryRuleRuleNotNotCostCategoryResult', + 'GetCostCategoryRuleRuleNotNotDimensionResult', + 'GetCostCategoryRuleRuleNotNotTagResult', + 'GetCostCategoryRuleRuleNotOrResult', + 'GetCostCategoryRuleRuleNotOrCostCategoryResult', + 'GetCostCategoryRuleRuleNotOrDimensionResult', + 'GetCostCategoryRuleRuleNotOrTagResult', 'GetCostCategoryRuleRuleNotTagResult', 'GetCostCategoryRuleRuleOrResult', + 'GetCostCategoryRuleRuleOrAndResult', + 'GetCostCategoryRuleRuleOrAndCostCategoryResult', + 'GetCostCategoryRuleRuleOrAndDimensionResult', + 'GetCostCategoryRuleRuleOrAndTagResult', 'GetCostCategoryRuleRuleOrCostCategoryResult', 'GetCostCategoryRuleRuleOrDimensionResult', + 'GetCostCategoryRuleRuleOrNotResult', + 'GetCostCategoryRuleRuleOrNotCostCategoryResult', + 'GetCostCategoryRuleRuleOrNotDimensionResult', + 'GetCostCategoryRuleRuleOrNotTagResult', + 'GetCostCategoryRuleRuleOrOrResult', + 'GetCostCategoryRuleRuleOrOrCostCategoryResult', + 'GetCostCategoryRuleRuleOrOrDimensionResult', + 'GetCostCategoryRuleRuleOrOrTagResult', 'GetCostCategoryRuleRuleOrTagResult', 'GetCostCategoryRuleRuleTagResult', 'GetCostCategorySplitChargeRuleResult', @@ -1318,6 +1390,8 @@ def __key_warning(key: str): suggest = None if key == "costCategory": suggest = "cost_category" + elif key == "not": + suggest = "not_" if suggest: pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAnd. Access the value via the '{suggest}' property getter instead.") @@ -1331,19 +1405,33 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, + ands: Optional[Sequence['outputs.CostCategoryRuleRuleAndAnd']] = None, cost_category: Optional['outputs.CostCategoryRuleRuleAndCostCategory'] = None, dimension: Optional['outputs.CostCategoryRuleRuleAndDimension'] = None, + not_: Optional['outputs.CostCategoryRuleRuleAndNot'] = None, + ors: Optional[Sequence['outputs.CostCategoryRuleRuleAndOr']] = None, tags: Optional['outputs.CostCategoryRuleRuleAndTags'] = None): """ :param 'CostCategoryRuleRuleAndTagsArgs' tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ + if ands is not None: + pulumi.set(__self__, "ands", ands) if cost_category is not None: pulumi.set(__self__, "cost_category", cost_category) if dimension is not None: pulumi.set(__self__, "dimension", dimension) + if not_ is not None: + pulumi.set(__self__, "not_", not_) + if ors is not None: + pulumi.set(__self__, "ors", ors) if tags is not None: pulumi.set(__self__, "tags", tags) + @property + @pulumi.getter + def ands(self) -> Optional[Sequence['outputs.CostCategoryRuleRuleAndAnd']]: + return pulumi.get(self, "ands") + @property @pulumi.getter(name="costCategory") def cost_category(self) -> Optional['outputs.CostCategoryRuleRuleAndCostCategory']: @@ -1354,6 +1442,16 @@ def cost_category(self) -> Optional['outputs.CostCategoryRuleRuleAndCostCategory def dimension(self) -> Optional['outputs.CostCategoryRuleRuleAndDimension']: return pulumi.get(self, "dimension") + @property + @pulumi.getter(name="not") + def not_(self) -> Optional['outputs.CostCategoryRuleRuleAndNot']: + return pulumi.get(self, "not_") + + @property + @pulumi.getter + def ors(self) -> Optional[Sequence['outputs.CostCategoryRuleRuleAndOr']]: + return pulumi.get(self, "ors") + @property @pulumi.getter def tags(self) -> Optional['outputs.CostCategoryRuleRuleAndTags']: @@ -1364,7 +1462,59 @@ def tags(self) -> Optional['outputs.CostCategoryRuleRuleAndTags']: @pulumi.output_type -class CostCategoryRuleRuleAndCostCategory(dict): +class CostCategoryRuleRuleAndAnd(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "costCategory": + suggest = "cost_category" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndAnd. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleAndAnd.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleAndAnd.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cost_category: Optional['outputs.CostCategoryRuleRuleAndAndCostCategory'] = None, + dimension: Optional['outputs.CostCategoryRuleRuleAndAndDimension'] = None, + tags: Optional['outputs.CostCategoryRuleRuleAndAndTags'] = None): + """ + :param 'CostCategoryRuleRuleAndAndTagsArgs' tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional['outputs.CostCategoryRuleRuleAndAndCostCategory']: + return pulumi.get(self, "cost_category") + + @property + @pulumi.getter + def dimension(self) -> Optional['outputs.CostCategoryRuleRuleAndAndDimension']: + return pulumi.get(self, "dimension") + + @property + @pulumi.getter + def tags(self) -> Optional['outputs.CostCategoryRuleRuleAndAndTags']: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class CostCategoryRuleRuleAndAndCostCategory(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1372,14 +1522,14 @@ def __key_warning(key: str): suggest = "match_options" if suggest: - pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndCostCategory. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndAndCostCategory. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - CostCategoryRuleRuleAndCostCategory.__key_warning(key) + CostCategoryRuleRuleAndAndCostCategory.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - CostCategoryRuleRuleAndCostCategory.__key_warning(key) + CostCategoryRuleRuleAndAndCostCategory.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -1424,7 +1574,7 @@ def values(self) -> Optional[Sequence[str]]: @pulumi.output_type -class CostCategoryRuleRuleAndDimension(dict): +class CostCategoryRuleRuleAndAndDimension(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1432,14 +1582,14 @@ def __key_warning(key: str): suggest = "match_options" if suggest: - pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndDimension. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndAndDimension. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - CostCategoryRuleRuleAndDimension.__key_warning(key) + CostCategoryRuleRuleAndAndDimension.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - CostCategoryRuleRuleAndDimension.__key_warning(key) + CostCategoryRuleRuleAndAndDimension.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -1484,7 +1634,7 @@ def values(self) -> Optional[Sequence[str]]: @pulumi.output_type -class CostCategoryRuleRuleAndTags(dict): +class CostCategoryRuleRuleAndAndTags(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1492,14 +1642,14 @@ def __key_warning(key: str): suggest = "match_options" if suggest: - pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndTags. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndAndTags. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - CostCategoryRuleRuleAndTags.__key_warning(key) + CostCategoryRuleRuleAndAndTags.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - CostCategoryRuleRuleAndTags.__key_warning(key) + CostCategoryRuleRuleAndAndTags.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -1544,7 +1694,7 @@ def values(self) -> Optional[Sequence[str]]: @pulumi.output_type -class CostCategoryRuleRuleCostCategory(dict): +class CostCategoryRuleRuleAndCostCategory(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1552,14 +1702,14 @@ def __key_warning(key: str): suggest = "match_options" if suggest: - pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleCostCategory. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndCostCategory. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - CostCategoryRuleRuleCostCategory.__key_warning(key) + CostCategoryRuleRuleAndCostCategory.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - CostCategoryRuleRuleCostCategory.__key_warning(key) + CostCategoryRuleRuleAndCostCategory.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -1604,7 +1754,7 @@ def values(self) -> Optional[Sequence[str]]: @pulumi.output_type -class CostCategoryRuleRuleDimension(dict): +class CostCategoryRuleRuleAndDimension(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1612,14 +1762,14 @@ def __key_warning(key: str): suggest = "match_options" if suggest: - pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleDimension. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndDimension. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - CostCategoryRuleRuleDimension.__key_warning(key) + CostCategoryRuleRuleAndDimension.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - CostCategoryRuleRuleDimension.__key_warning(key) + CostCategoryRuleRuleAndDimension.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -1664,7 +1814,7 @@ def values(self) -> Optional[Sequence[str]]: @pulumi.output_type -class CostCategoryRuleRuleNot(dict): +class CostCategoryRuleRuleAndNot(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1672,22 +1822,22 @@ def __key_warning(key: str): suggest = "cost_category" if suggest: - pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNot. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndNot. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - CostCategoryRuleRuleNot.__key_warning(key) + CostCategoryRuleRuleAndNot.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - CostCategoryRuleRuleNot.__key_warning(key) + CostCategoryRuleRuleAndNot.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - cost_category: Optional['outputs.CostCategoryRuleRuleNotCostCategory'] = None, - dimension: Optional['outputs.CostCategoryRuleRuleNotDimension'] = None, - tags: Optional['outputs.CostCategoryRuleRuleNotTags'] = None): + cost_category: Optional['outputs.CostCategoryRuleRuleAndNotCostCategory'] = None, + dimension: Optional['outputs.CostCategoryRuleRuleAndNotDimension'] = None, + tags: Optional['outputs.CostCategoryRuleRuleAndNotTags'] = None): """ - :param 'CostCategoryRuleRuleNotTagsArgs' tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param 'CostCategoryRuleRuleAndNotTagsArgs' tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ if cost_category is not None: pulumi.set(__self__, "cost_category", cost_category) @@ -1698,17 +1848,17 @@ def __init__(__self__, *, @property @pulumi.getter(name="costCategory") - def cost_category(self) -> Optional['outputs.CostCategoryRuleRuleNotCostCategory']: + def cost_category(self) -> Optional['outputs.CostCategoryRuleRuleAndNotCostCategory']: return pulumi.get(self, "cost_category") @property @pulumi.getter - def dimension(self) -> Optional['outputs.CostCategoryRuleRuleNotDimension']: + def dimension(self) -> Optional['outputs.CostCategoryRuleRuleAndNotDimension']: return pulumi.get(self, "dimension") @property @pulumi.getter - def tags(self) -> Optional['outputs.CostCategoryRuleRuleNotTags']: + def tags(self) -> Optional['outputs.CostCategoryRuleRuleAndNotTags']: """ Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ @@ -1716,7 +1866,7 @@ def tags(self) -> Optional['outputs.CostCategoryRuleRuleNotTags']: @pulumi.output_type -class CostCategoryRuleRuleNotCostCategory(dict): +class CostCategoryRuleRuleAndNotCostCategory(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1724,14 +1874,14 @@ def __key_warning(key: str): suggest = "match_options" if suggest: - pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotCostCategory. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndNotCostCategory. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - CostCategoryRuleRuleNotCostCategory.__key_warning(key) + CostCategoryRuleRuleAndNotCostCategory.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - CostCategoryRuleRuleNotCostCategory.__key_warning(key) + CostCategoryRuleRuleAndNotCostCategory.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -1776,7 +1926,7 @@ def values(self) -> Optional[Sequence[str]]: @pulumi.output_type -class CostCategoryRuleRuleNotDimension(dict): +class CostCategoryRuleRuleAndNotDimension(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1784,14 +1934,14 @@ def __key_warning(key: str): suggest = "match_options" if suggest: - pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotDimension. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndNotDimension. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - CostCategoryRuleRuleNotDimension.__key_warning(key) + CostCategoryRuleRuleAndNotDimension.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - CostCategoryRuleRuleNotDimension.__key_warning(key) + CostCategoryRuleRuleAndNotDimension.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -1836,7 +1986,7 @@ def values(self) -> Optional[Sequence[str]]: @pulumi.output_type -class CostCategoryRuleRuleNotTags(dict): +class CostCategoryRuleRuleAndNotTags(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1844,14 +1994,14 @@ def __key_warning(key: str): suggest = "match_options" if suggest: - pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotTags. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndNotTags. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - CostCategoryRuleRuleNotTags.__key_warning(key) + CostCategoryRuleRuleAndNotTags.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - CostCategoryRuleRuleNotTags.__key_warning(key) + CostCategoryRuleRuleAndNotTags.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -1896,7 +2046,7 @@ def values(self) -> Optional[Sequence[str]]: @pulumi.output_type -class CostCategoryRuleRuleOr(dict): +class CostCategoryRuleRuleAndOr(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1904,22 +2054,22 @@ def __key_warning(key: str): suggest = "cost_category" if suggest: - pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOr. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndOr. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - CostCategoryRuleRuleOr.__key_warning(key) + CostCategoryRuleRuleAndOr.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - CostCategoryRuleRuleOr.__key_warning(key) + CostCategoryRuleRuleAndOr.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - cost_category: Optional['outputs.CostCategoryRuleRuleOrCostCategory'] = None, - dimension: Optional['outputs.CostCategoryRuleRuleOrDimension'] = None, - tags: Optional['outputs.CostCategoryRuleRuleOrTags'] = None): + cost_category: Optional['outputs.CostCategoryRuleRuleAndOrCostCategory'] = None, + dimension: Optional['outputs.CostCategoryRuleRuleAndOrDimension'] = None, + tags: Optional['outputs.CostCategoryRuleRuleAndOrTags'] = None): """ - :param 'CostCategoryRuleRuleOrTagsArgs' tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param 'CostCategoryRuleRuleAndOrTagsArgs' tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ if cost_category is not None: pulumi.set(__self__, "cost_category", cost_category) @@ -1930,17 +2080,17 @@ def __init__(__self__, *, @property @pulumi.getter(name="costCategory") - def cost_category(self) -> Optional['outputs.CostCategoryRuleRuleOrCostCategory']: + def cost_category(self) -> Optional['outputs.CostCategoryRuleRuleAndOrCostCategory']: return pulumi.get(self, "cost_category") @property @pulumi.getter - def dimension(self) -> Optional['outputs.CostCategoryRuleRuleOrDimension']: + def dimension(self) -> Optional['outputs.CostCategoryRuleRuleAndOrDimension']: return pulumi.get(self, "dimension") @property @pulumi.getter - def tags(self) -> Optional['outputs.CostCategoryRuleRuleOrTags']: + def tags(self) -> Optional['outputs.CostCategoryRuleRuleAndOrTags']: """ Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ @@ -1948,7 +2098,7 @@ def tags(self) -> Optional['outputs.CostCategoryRuleRuleOrTags']: @pulumi.output_type -class CostCategoryRuleRuleOrCostCategory(dict): +class CostCategoryRuleRuleAndOrCostCategory(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -1956,14 +2106,14 @@ def __key_warning(key: str): suggest = "match_options" if suggest: - pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrCostCategory. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndOrCostCategory. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - CostCategoryRuleRuleOrCostCategory.__key_warning(key) + CostCategoryRuleRuleAndOrCostCategory.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - CostCategoryRuleRuleOrCostCategory.__key_warning(key) + CostCategoryRuleRuleAndOrCostCategory.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -2008,7 +2158,7 @@ def values(self) -> Optional[Sequence[str]]: @pulumi.output_type -class CostCategoryRuleRuleOrDimension(dict): +class CostCategoryRuleRuleAndOrDimension(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -2016,14 +2166,14 @@ def __key_warning(key: str): suggest = "match_options" if suggest: - pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrDimension. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndOrDimension. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - CostCategoryRuleRuleOrDimension.__key_warning(key) + CostCategoryRuleRuleAndOrDimension.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - CostCategoryRuleRuleOrDimension.__key_warning(key) + CostCategoryRuleRuleAndOrDimension.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -2068,7 +2218,7 @@ def values(self) -> Optional[Sequence[str]]: @pulumi.output_type -class CostCategoryRuleRuleOrTags(dict): +class CostCategoryRuleRuleAndOrTags(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -2076,14 +2226,14 @@ def __key_warning(key: str): suggest = "match_options" if suggest: - pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrTags. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndOrTags. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - CostCategoryRuleRuleOrTags.__key_warning(key) + CostCategoryRuleRuleAndOrTags.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - CostCategoryRuleRuleOrTags.__key_warning(key) + CostCategoryRuleRuleAndOrTags.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -2128,7 +2278,7 @@ def values(self) -> Optional[Sequence[str]]: @pulumi.output_type -class CostCategoryRuleRuleTags(dict): +class CostCategoryRuleRuleAndTags(dict): @staticmethod def __key_warning(key: str): suggest = None @@ -2136,14 +2286,14 @@ def __key_warning(key: str): suggest = "match_options" if suggest: - pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleTags. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleAndTags. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - CostCategoryRuleRuleTags.__key_warning(key) + CostCategoryRuleRuleAndTags.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - CostCategoryRuleRuleTags.__key_warning(key) + CostCategoryRuleRuleAndTags.__key_warning(key) return super().get(key, default) def __init__(__self__, *, @@ -2188,82 +2338,3629 @@ def values(self) -> Optional[Sequence[str]]: @pulumi.output_type -class CostCategorySplitChargeRule(dict): - def __init__(__self__, *, - method: str, - source: str, - targets: Sequence[str], - parameters: Optional[Sequence['outputs.CostCategorySplitChargeRuleParameter']] = None): - """ - :param str method: Method that's used to define how to split your source costs across your targets. Valid values are `FIXED`, `PROPORTIONAL`, `EVEN` - :param str source: Cost Category value that you want to split. - :param Sequence[str] targets: Cost Category values that you want to split costs across. These values can't be used as a source in other split charge rules. - :param Sequence['CostCategorySplitChargeRuleParameterArgs'] parameters: Configuration block for the parameters for a split charge method. This is only required for the `FIXED` method. See below. - """ - pulumi.set(__self__, "method", method) - pulumi.set(__self__, "source", source) - pulumi.set(__self__, "targets", targets) - if parameters is not None: - pulumi.set(__self__, "parameters", parameters) +class CostCategoryRuleRuleCostCategory(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" - @property - @pulumi.getter - def method(self) -> str: + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleCostCategory. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleCostCategory.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleCostCategory.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): """ - Method that's used to define how to split your source costs across your targets. Valid values are `FIXED`, `PROPORTIONAL`, `EVEN` + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. """ - return pulumi.get(self, "method") + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) @property @pulumi.getter - def source(self) -> str: + def key(self) -> Optional[str]: """ - Cost Category value that you want to split. + Unique name of the Cost Category. """ - return pulumi.get(self, "source") + return pulumi.get(self, "key") @property - @pulumi.getter - def targets(self) -> Sequence[str]: + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: """ - Cost Category values that you want to split costs across. These values can't be used as a source in other split charge rules. + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. """ - return pulumi.get(self, "targets") + return pulumi.get(self, "match_options") @property @pulumi.getter - def parameters(self) -> Optional[Sequence['outputs.CostCategorySplitChargeRuleParameter']]: + def values(self) -> Optional[Sequence[str]]: """ - Configuration block for the parameters for a split charge method. This is only required for the `FIXED` method. See below. + Specific value of the Cost Category. """ - return pulumi.get(self, "parameters") + return pulumi.get(self, "values") @pulumi.output_type -class CostCategorySplitChargeRuleParameter(dict): +class CostCategoryRuleRuleDimension(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleDimension.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, - type: Optional[str] = None, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, values: Optional[Sequence[str]] = None): """ - :param str type: Parameter type. - :param Sequence[str] values: Parameter values. + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. """ - if type is not None: - pulumi.set(__self__, "type", type) + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) if values is not None: pulumi.set(__self__, "values", values) @property @pulumi.getter - def type(self) -> Optional[str]: + def key(self) -> Optional[str]: """ - Parameter type. + Unique name of the Cost Category. """ - return pulumi.get(self, "type") + return pulumi.get(self, "key") @property - @pulumi.getter - def values(self) -> Optional[Sequence[str]]: + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleNot(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "costCategory": + suggest = "cost_category" + elif key == "not": + suggest = "not_" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNot. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNot.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNot.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ands: Optional[Sequence['outputs.CostCategoryRuleRuleNotAnd']] = None, + cost_category: Optional['outputs.CostCategoryRuleRuleNotCostCategory'] = None, + dimension: Optional['outputs.CostCategoryRuleRuleNotDimension'] = None, + not_: Optional['outputs.CostCategoryRuleRuleNotNot'] = None, + ors: Optional[Sequence['outputs.CostCategoryRuleRuleNotOr']] = None, + tags: Optional['outputs.CostCategoryRuleRuleNotTags'] = None): + """ + :param 'CostCategoryRuleRuleNotTagsArgs' tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if ands is not None: + pulumi.set(__self__, "ands", ands) + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if not_ is not None: + pulumi.set(__self__, "not_", not_) + if ors is not None: + pulumi.set(__self__, "ors", ors) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def ands(self) -> Optional[Sequence['outputs.CostCategoryRuleRuleNotAnd']]: + return pulumi.get(self, "ands") + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional['outputs.CostCategoryRuleRuleNotCostCategory']: + return pulumi.get(self, "cost_category") + + @property + @pulumi.getter + def dimension(self) -> Optional['outputs.CostCategoryRuleRuleNotDimension']: + return pulumi.get(self, "dimension") + + @property + @pulumi.getter(name="not") + def not_(self) -> Optional['outputs.CostCategoryRuleRuleNotNot']: + return pulumi.get(self, "not_") + + @property + @pulumi.getter + def ors(self) -> Optional[Sequence['outputs.CostCategoryRuleRuleNotOr']]: + return pulumi.get(self, "ors") + + @property + @pulumi.getter + def tags(self) -> Optional['outputs.CostCategoryRuleRuleNotTags']: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class CostCategoryRuleRuleNotAnd(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "costCategory": + suggest = "cost_category" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotAnd. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNotAnd.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNotAnd.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cost_category: Optional['outputs.CostCategoryRuleRuleNotAndCostCategory'] = None, + dimension: Optional['outputs.CostCategoryRuleRuleNotAndDimension'] = None, + tags: Optional['outputs.CostCategoryRuleRuleNotAndTags'] = None): + """ + :param 'CostCategoryRuleRuleNotAndTagsArgs' tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional['outputs.CostCategoryRuleRuleNotAndCostCategory']: + return pulumi.get(self, "cost_category") + + @property + @pulumi.getter + def dimension(self) -> Optional['outputs.CostCategoryRuleRuleNotAndDimension']: + return pulumi.get(self, "dimension") + + @property + @pulumi.getter + def tags(self) -> Optional['outputs.CostCategoryRuleRuleNotAndTags']: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class CostCategoryRuleRuleNotAndCostCategory(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotAndCostCategory. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNotAndCostCategory.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNotAndCostCategory.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleNotAndDimension(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotAndDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNotAndDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNotAndDimension.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleNotAndTags(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotAndTags. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNotAndTags.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNotAndTags.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleNotCostCategory(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotCostCategory. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNotCostCategory.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNotCostCategory.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleNotDimension(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNotDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNotDimension.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleNotNot(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "costCategory": + suggest = "cost_category" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotNot. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNotNot.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNotNot.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cost_category: Optional['outputs.CostCategoryRuleRuleNotNotCostCategory'] = None, + dimension: Optional['outputs.CostCategoryRuleRuleNotNotDimension'] = None, + tags: Optional['outputs.CostCategoryRuleRuleNotNotTags'] = None): + """ + :param 'CostCategoryRuleRuleNotNotTagsArgs' tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional['outputs.CostCategoryRuleRuleNotNotCostCategory']: + return pulumi.get(self, "cost_category") + + @property + @pulumi.getter + def dimension(self) -> Optional['outputs.CostCategoryRuleRuleNotNotDimension']: + return pulumi.get(self, "dimension") + + @property + @pulumi.getter + def tags(self) -> Optional['outputs.CostCategoryRuleRuleNotNotTags']: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class CostCategoryRuleRuleNotNotCostCategory(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotNotCostCategory. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNotNotCostCategory.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNotNotCostCategory.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleNotNotDimension(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotNotDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNotNotDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNotNotDimension.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleNotNotTags(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotNotTags. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNotNotTags.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNotNotTags.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleNotOr(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "costCategory": + suggest = "cost_category" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotOr. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNotOr.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNotOr.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cost_category: Optional['outputs.CostCategoryRuleRuleNotOrCostCategory'] = None, + dimension: Optional['outputs.CostCategoryRuleRuleNotOrDimension'] = None, + tags: Optional['outputs.CostCategoryRuleRuleNotOrTags'] = None): + """ + :param 'CostCategoryRuleRuleNotOrTagsArgs' tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional['outputs.CostCategoryRuleRuleNotOrCostCategory']: + return pulumi.get(self, "cost_category") + + @property + @pulumi.getter + def dimension(self) -> Optional['outputs.CostCategoryRuleRuleNotOrDimension']: + return pulumi.get(self, "dimension") + + @property + @pulumi.getter + def tags(self) -> Optional['outputs.CostCategoryRuleRuleNotOrTags']: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class CostCategoryRuleRuleNotOrCostCategory(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotOrCostCategory. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNotOrCostCategory.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNotOrCostCategory.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleNotOrDimension(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotOrDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNotOrDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNotOrDimension.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleNotOrTags(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotOrTags. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNotOrTags.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNotOrTags.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleNotTags(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleNotTags. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleNotTags.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleNotTags.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleOr(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "costCategory": + suggest = "cost_category" + elif key == "not": + suggest = "not_" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOr. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOr.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOr.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ands: Optional[Sequence['outputs.CostCategoryRuleRuleOrAnd']] = None, + cost_category: Optional['outputs.CostCategoryRuleRuleOrCostCategory'] = None, + dimension: Optional['outputs.CostCategoryRuleRuleOrDimension'] = None, + not_: Optional['outputs.CostCategoryRuleRuleOrNot'] = None, + ors: Optional[Sequence['outputs.CostCategoryRuleRuleOrOr']] = None, + tags: Optional['outputs.CostCategoryRuleRuleOrTags'] = None): + """ + :param 'CostCategoryRuleRuleOrTagsArgs' tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if ands is not None: + pulumi.set(__self__, "ands", ands) + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if not_ is not None: + pulumi.set(__self__, "not_", not_) + if ors is not None: + pulumi.set(__self__, "ors", ors) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def ands(self) -> Optional[Sequence['outputs.CostCategoryRuleRuleOrAnd']]: + return pulumi.get(self, "ands") + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional['outputs.CostCategoryRuleRuleOrCostCategory']: + return pulumi.get(self, "cost_category") + + @property + @pulumi.getter + def dimension(self) -> Optional['outputs.CostCategoryRuleRuleOrDimension']: + return pulumi.get(self, "dimension") + + @property + @pulumi.getter(name="not") + def not_(self) -> Optional['outputs.CostCategoryRuleRuleOrNot']: + return pulumi.get(self, "not_") + + @property + @pulumi.getter + def ors(self) -> Optional[Sequence['outputs.CostCategoryRuleRuleOrOr']]: + return pulumi.get(self, "ors") + + @property + @pulumi.getter + def tags(self) -> Optional['outputs.CostCategoryRuleRuleOrTags']: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class CostCategoryRuleRuleOrAnd(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "costCategory": + suggest = "cost_category" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrAnd. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOrAnd.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOrAnd.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cost_category: Optional['outputs.CostCategoryRuleRuleOrAndCostCategory'] = None, + dimension: Optional['outputs.CostCategoryRuleRuleOrAndDimension'] = None, + tags: Optional['outputs.CostCategoryRuleRuleOrAndTags'] = None): + """ + :param 'CostCategoryRuleRuleOrAndTagsArgs' tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional['outputs.CostCategoryRuleRuleOrAndCostCategory']: + return pulumi.get(self, "cost_category") + + @property + @pulumi.getter + def dimension(self) -> Optional['outputs.CostCategoryRuleRuleOrAndDimension']: + return pulumi.get(self, "dimension") + + @property + @pulumi.getter + def tags(self) -> Optional['outputs.CostCategoryRuleRuleOrAndTags']: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class CostCategoryRuleRuleOrAndCostCategory(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrAndCostCategory. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOrAndCostCategory.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOrAndCostCategory.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleOrAndDimension(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrAndDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOrAndDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOrAndDimension.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleOrAndTags(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrAndTags. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOrAndTags.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOrAndTags.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleOrCostCategory(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrCostCategory. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOrCostCategory.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOrCostCategory.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleOrDimension(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOrDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOrDimension.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleOrNot(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "costCategory": + suggest = "cost_category" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrNot. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOrNot.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOrNot.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cost_category: Optional['outputs.CostCategoryRuleRuleOrNotCostCategory'] = None, + dimension: Optional['outputs.CostCategoryRuleRuleOrNotDimension'] = None, + tags: Optional['outputs.CostCategoryRuleRuleOrNotTags'] = None): + """ + :param 'CostCategoryRuleRuleOrNotTagsArgs' tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional['outputs.CostCategoryRuleRuleOrNotCostCategory']: + return pulumi.get(self, "cost_category") + + @property + @pulumi.getter + def dimension(self) -> Optional['outputs.CostCategoryRuleRuleOrNotDimension']: + return pulumi.get(self, "dimension") + + @property + @pulumi.getter + def tags(self) -> Optional['outputs.CostCategoryRuleRuleOrNotTags']: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class CostCategoryRuleRuleOrNotCostCategory(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrNotCostCategory. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOrNotCostCategory.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOrNotCostCategory.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleOrNotDimension(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrNotDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOrNotDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOrNotDimension.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleOrNotTags(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrNotTags. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOrNotTags.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOrNotTags.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleOrOr(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "costCategory": + suggest = "cost_category" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrOr. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOrOr.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOrOr.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + cost_category: Optional['outputs.CostCategoryRuleRuleOrOrCostCategory'] = None, + dimension: Optional['outputs.CostCategoryRuleRuleOrOrDimension'] = None, + tags: Optional['outputs.CostCategoryRuleRuleOrOrTags'] = None): + """ + :param 'CostCategoryRuleRuleOrOrTagsArgs' tags: Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if cost_category is not None: + pulumi.set(__self__, "cost_category", cost_category) + if dimension is not None: + pulumi.set(__self__, "dimension", dimension) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategory") + def cost_category(self) -> Optional['outputs.CostCategoryRuleRuleOrOrCostCategory']: + return pulumi.get(self, "cost_category") + + @property + @pulumi.getter + def dimension(self) -> Optional['outputs.CostCategoryRuleRuleOrOrDimension']: + return pulumi.get(self, "dimension") + + @property + @pulumi.getter + def tags(self) -> Optional['outputs.CostCategoryRuleRuleOrOrTags']: + """ + Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class CostCategoryRuleRuleOrOrCostCategory(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrOrCostCategory. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOrOrCostCategory.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOrOrCostCategory.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleOrOrDimension(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrOrDimension. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOrOrDimension.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOrOrDimension.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Unique name of the Cost Category. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Unique name of the Cost Category. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleOrOrTags(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrOrTags. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOrOrTags.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOrOrTags.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleOrTags(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleOrTags. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleOrTags.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleOrTags.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategoryRuleRuleTags(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "matchOptions": + suggest = "match_options" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CostCategoryRuleRuleTags. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CostCategoryRuleRuleTags.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CostCategoryRuleRuleTags.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + key: Optional[str] = None, + match_options: Optional[Sequence[str]] = None, + values: Optional[Sequence[str]] = None): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Specific value of the Cost Category. + """ + if key is not None: + pulumi.set(__self__, "key", key) + if match_options is not None: + pulumi.set(__self__, "match_options", match_options) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> Optional[str]: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Optional[Sequence[str]]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Specific value of the Cost Category. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class CostCategorySplitChargeRule(dict): + def __init__(__self__, *, + method: str, + source: str, + targets: Sequence[str], + parameters: Optional[Sequence['outputs.CostCategorySplitChargeRuleParameter']] = None): + """ + :param str method: Method that's used to define how to split your source costs across your targets. Valid values are `FIXED`, `PROPORTIONAL`, `EVEN` + :param str source: Cost Category value that you want to split. + :param Sequence[str] targets: Cost Category values that you want to split costs across. These values can't be used as a source in other split charge rules. + :param Sequence['CostCategorySplitChargeRuleParameterArgs'] parameters: Configuration block for the parameters for a split charge method. This is only required for the `FIXED` method. See below. + """ + pulumi.set(__self__, "method", method) + pulumi.set(__self__, "source", source) + pulumi.set(__self__, "targets", targets) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + + @property + @pulumi.getter + def method(self) -> str: + """ + Method that's used to define how to split your source costs across your targets. Valid values are `FIXED`, `PROPORTIONAL`, `EVEN` + """ + return pulumi.get(self, "method") + + @property + @pulumi.getter + def source(self) -> str: + """ + Cost Category value that you want to split. + """ + return pulumi.get(self, "source") + + @property + @pulumi.getter + def targets(self) -> Sequence[str]: + """ + Cost Category values that you want to split costs across. These values can't be used as a source in other split charge rules. + """ + return pulumi.get(self, "targets") + + @property + @pulumi.getter + def parameters(self) -> Optional[Sequence['outputs.CostCategorySplitChargeRuleParameter']]: + """ + Configuration block for the parameters for a split charge method. This is only required for the `FIXED` method. See below. + """ + return pulumi.get(self, "parameters") + + +@pulumi.output_type +class CostCategorySplitChargeRuleParameter(dict): + def __init__(__self__, *, + type: Optional[str] = None, + values: Optional[Sequence[str]] = None): + """ + :param str type: Parameter type. + :param Sequence[str] values: Parameter values. + """ + if type is not None: + pulumi.set(__self__, "type", type) + if values is not None: + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def type(self) -> Optional[str]: + """ + Parameter type. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def values(self) -> Optional[Sequence[str]]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleResult(dict): + def __init__(__self__, *, + inherited_values: Sequence['outputs.GetCostCategoryRuleInheritedValueResult'], + rules: Sequence['outputs.GetCostCategoryRuleRuleResult'], + type: str, + value: str): + """ + :param Sequence['GetCostCategoryRuleInheritedValueArgs'] inherited_values: Configuration block for the value the line item is categorized as if the line item contains the matched dimension. See below. + :param Sequence['GetCostCategoryRuleRuleArgs'] rules: Configuration block for the `Expression` object used to categorize costs. See below. + :param str type: Parameter type. + :param str value: Default value for the cost category. + """ + pulumi.set(__self__, "inherited_values", inherited_values) + pulumi.set(__self__, "rules", rules) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter(name="inheritedValues") + def inherited_values(self) -> Sequence['outputs.GetCostCategoryRuleInheritedValueResult']: + """ + Configuration block for the value the line item is categorized as if the line item contains the matched dimension. See below. + """ + return pulumi.get(self, "inherited_values") + + @property + @pulumi.getter + def rules(self) -> Sequence['outputs.GetCostCategoryRuleRuleResult']: + """ + Configuration block for the `Expression` object used to categorize costs. See below. + """ + return pulumi.get(self, "rules") + + @property + @pulumi.getter + def type(self) -> str: + """ + Parameter type. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def value(self) -> str: + """ + Default value for the cost category. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetCostCategoryRuleInheritedValueResult(dict): + def __init__(__self__, *, + dimension_key: str, + dimension_name: str): + """ + :param str dimension_key: Key to extract cost category values. + :param str dimension_name: Name of the dimension that's used to group costs. If you specify `LINKED_ACCOUNT_NAME`, the cost category value is based on account name. If you specify `TAG`, the cost category value will be based on the value of the specified tag key. Valid values are `LINKED_ACCOUNT_NAME`, `TAG` + """ + pulumi.set(__self__, "dimension_key", dimension_key) + pulumi.set(__self__, "dimension_name", dimension_name) + + @property + @pulumi.getter(name="dimensionKey") + def dimension_key(self) -> str: + """ + Key to extract cost category values. + """ + return pulumi.get(self, "dimension_key") + + @property + @pulumi.getter(name="dimensionName") + def dimension_name(self) -> str: + """ + Name of the dimension that's used to group costs. If you specify `LINKED_ACCOUNT_NAME`, the cost category value is based on account name. If you specify `TAG`, the cost category value will be based on the value of the specified tag key. Valid values are `LINKED_ACCOUNT_NAME`, `TAG` + """ + return pulumi.get(self, "dimension_name") + + +@pulumi.output_type +class GetCostCategoryRuleRuleResult(dict): + def __init__(__self__, *, + ands: Sequence['outputs.GetCostCategoryRuleRuleAndResult'], + cost_categories: Sequence['outputs.GetCostCategoryRuleRuleCostCategoryResult'], + dimensions: Sequence['outputs.GetCostCategoryRuleRuleDimensionResult'], + nots: Sequence['outputs.GetCostCategoryRuleRuleNotResult'], + ors: Sequence['outputs.GetCostCategoryRuleRuleOrResult'], + tags: Sequence['outputs.GetCostCategoryRuleRuleTagResult']): + """ + :param Sequence['GetCostCategoryRuleRuleAndArgs'] ands: Return results that match both `Dimension` objects. + :param Sequence['GetCostCategoryRuleRuleCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. + :param Sequence['GetCostCategoryRuleRuleDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleNotArgs'] nots: Return results that do not match the `Dimension` object. + :param Sequence['GetCostCategoryRuleRuleOrArgs'] ors: Return results that match either `Dimension` object. + :param Sequence['GetCostCategoryRuleRuleTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + pulumi.set(__self__, "ands", ands) + pulumi.set(__self__, "cost_categories", cost_categories) + pulumi.set(__self__, "dimensions", dimensions) + pulumi.set(__self__, "nots", nots) + pulumi.set(__self__, "ors", ors) + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def ands(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndResult']: + """ + Return results that match both `Dimension` objects. + """ + return pulumi.get(self, "ands") + + @property + @pulumi.getter(name="costCategories") + def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleCostCategoryResult']: + """ + Configuration block for the filter that's based on `CostCategory` values. See below. + """ + return pulumi.get(self, "cost_categories") + + @property + @pulumi.getter + def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleDimensionResult']: + """ + Configuration block for the specific `Dimension` to use for `Expression`. See below. + """ + return pulumi.get(self, "dimensions") + + @property + @pulumi.getter + def nots(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotResult']: + """ + Return results that do not match the `Dimension` object. + """ + return pulumi.get(self, "nots") + + @property + @pulumi.getter + def ors(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrResult']: + """ + Return results that match either `Dimension` object. + """ + return pulumi.get(self, "ors") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleTagResult']: + """ + Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndResult(dict): + def __init__(__self__, *, + ands: Sequence['outputs.GetCostCategoryRuleRuleAndAndResult'], + cost_categories: Sequence['outputs.GetCostCategoryRuleRuleAndCostCategoryResult'], + dimensions: Sequence['outputs.GetCostCategoryRuleRuleAndDimensionResult'], + nots: Sequence['outputs.GetCostCategoryRuleRuleAndNotResult'], + ors: Sequence['outputs.GetCostCategoryRuleRuleAndOrResult'], + tags: Sequence['outputs.GetCostCategoryRuleRuleAndTagResult']): + """ + :param Sequence['GetCostCategoryRuleRuleAndAndArgs'] ands: Return results that match both `Dimension` objects. + :param Sequence['GetCostCategoryRuleRuleAndCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. + :param Sequence['GetCostCategoryRuleRuleAndDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleAndNotArgs'] nots: Return results that do not match the `Dimension` object. + :param Sequence['GetCostCategoryRuleRuleAndOrArgs'] ors: Return results that match either `Dimension` object. + :param Sequence['GetCostCategoryRuleRuleAndTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + pulumi.set(__self__, "ands", ands) + pulumi.set(__self__, "cost_categories", cost_categories) + pulumi.set(__self__, "dimensions", dimensions) + pulumi.set(__self__, "nots", nots) + pulumi.set(__self__, "ors", ors) + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def ands(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndAndResult']: + """ + Return results that match both `Dimension` objects. + """ + return pulumi.get(self, "ands") + + @property + @pulumi.getter(name="costCategories") + def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndCostCategoryResult']: + """ + Configuration block for the filter that's based on `CostCategory` values. See below. + """ + return pulumi.get(self, "cost_categories") + + @property + @pulumi.getter + def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndDimensionResult']: + """ + Configuration block for the specific `Dimension` to use for `Expression`. See below. + """ + return pulumi.get(self, "dimensions") + + @property + @pulumi.getter + def nots(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndNotResult']: + """ + Return results that do not match the `Dimension` object. + """ + return pulumi.get(self, "nots") + + @property + @pulumi.getter + def ors(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndOrResult']: + """ + Return results that match either `Dimension` object. + """ + return pulumi.get(self, "ors") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndTagResult']: + """ + Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndAndResult(dict): + def __init__(__self__, *, + cost_categories: Sequence['outputs.GetCostCategoryRuleRuleAndAndCostCategoryResult'], + dimensions: Sequence['outputs.GetCostCategoryRuleRuleAndAndDimensionResult'], + tags: Sequence['outputs.GetCostCategoryRuleRuleAndAndTagResult']): + """ + :param Sequence['GetCostCategoryRuleRuleAndAndCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. + :param Sequence['GetCostCategoryRuleRuleAndAndDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleAndAndTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + pulumi.set(__self__, "cost_categories", cost_categories) + pulumi.set(__self__, "dimensions", dimensions) + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategories") + def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndAndCostCategoryResult']: + """ + Configuration block for the filter that's based on `CostCategory` values. See below. + """ + return pulumi.get(self, "cost_categories") + + @property + @pulumi.getter + def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndAndDimensionResult']: + """ + Configuration block for the specific `Dimension` to use for `Expression`. See below. + """ + return pulumi.get(self, "dimensions") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndAndTagResult']: + """ + Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndAndCostCategoryResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndAndDimensionResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndAndTagResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndCostCategoryResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndDimensionResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndNotResult(dict): + def __init__(__self__, *, + cost_categories: Sequence['outputs.GetCostCategoryRuleRuleAndNotCostCategoryResult'], + dimensions: Sequence['outputs.GetCostCategoryRuleRuleAndNotDimensionResult'], + tags: Sequence['outputs.GetCostCategoryRuleRuleAndNotTagResult']): + """ + :param Sequence['GetCostCategoryRuleRuleAndNotCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. + :param Sequence['GetCostCategoryRuleRuleAndNotDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleAndNotTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + pulumi.set(__self__, "cost_categories", cost_categories) + pulumi.set(__self__, "dimensions", dimensions) + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategories") + def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndNotCostCategoryResult']: + """ + Configuration block for the filter that's based on `CostCategory` values. See below. + """ + return pulumi.get(self, "cost_categories") + + @property + @pulumi.getter + def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndNotDimensionResult']: + """ + Configuration block for the specific `Dimension` to use for `Expression`. See below. + """ + return pulumi.get(self, "dimensions") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndNotTagResult']: + """ + Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndNotCostCategoryResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndNotDimensionResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndNotTagResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndOrResult(dict): + def __init__(__self__, *, + cost_categories: Sequence['outputs.GetCostCategoryRuleRuleAndOrCostCategoryResult'], + dimensions: Sequence['outputs.GetCostCategoryRuleRuleAndOrDimensionResult'], + tags: Sequence['outputs.GetCostCategoryRuleRuleAndOrTagResult']): + """ + :param Sequence['GetCostCategoryRuleRuleAndOrCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. + :param Sequence['GetCostCategoryRuleRuleAndOrDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleAndOrTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + pulumi.set(__self__, "cost_categories", cost_categories) + pulumi.set(__self__, "dimensions", dimensions) + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategories") + def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndOrCostCategoryResult']: + """ + Configuration block for the filter that's based on `CostCategory` values. See below. + """ + return pulumi.get(self, "cost_categories") + + @property + @pulumi.getter + def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndOrDimensionResult']: + """ + Configuration block for the specific `Dimension` to use for `Expression`. See below. + """ + return pulumi.get(self, "dimensions") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndOrTagResult']: + """ + Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndOrCostCategoryResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndOrDimensionResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndOrTagResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleAndTagResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleCostCategoryResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleDimensionResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleNotResult(dict): + def __init__(__self__, *, + ands: Sequence['outputs.GetCostCategoryRuleRuleNotAndResult'], + cost_categories: Sequence['outputs.GetCostCategoryRuleRuleNotCostCategoryResult'], + dimensions: Sequence['outputs.GetCostCategoryRuleRuleNotDimensionResult'], + nots: Sequence['outputs.GetCostCategoryRuleRuleNotNotResult'], + ors: Sequence['outputs.GetCostCategoryRuleRuleNotOrResult'], + tags: Sequence['outputs.GetCostCategoryRuleRuleNotTagResult']): + """ + :param Sequence['GetCostCategoryRuleRuleNotAndArgs'] ands: Return results that match both `Dimension` objects. + :param Sequence['GetCostCategoryRuleRuleNotCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. + :param Sequence['GetCostCategoryRuleRuleNotDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleNotNotArgs'] nots: Return results that do not match the `Dimension` object. + :param Sequence['GetCostCategoryRuleRuleNotOrArgs'] ors: Return results that match either `Dimension` object. + :param Sequence['GetCostCategoryRuleRuleNotTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + pulumi.set(__self__, "ands", ands) + pulumi.set(__self__, "cost_categories", cost_categories) + pulumi.set(__self__, "dimensions", dimensions) + pulumi.set(__self__, "nots", nots) + pulumi.set(__self__, "ors", ors) + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def ands(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotAndResult']: + """ + Return results that match both `Dimension` objects. + """ + return pulumi.get(self, "ands") + + @property + @pulumi.getter(name="costCategories") + def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotCostCategoryResult']: + """ + Configuration block for the filter that's based on `CostCategory` values. See below. + """ + return pulumi.get(self, "cost_categories") + + @property + @pulumi.getter + def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotDimensionResult']: + """ + Configuration block for the specific `Dimension` to use for `Expression`. See below. + """ + return pulumi.get(self, "dimensions") + + @property + @pulumi.getter + def nots(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotNotResult']: + """ + Return results that do not match the `Dimension` object. + """ + return pulumi.get(self, "nots") + + @property + @pulumi.getter + def ors(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotOrResult']: + """ + Return results that match either `Dimension` object. + """ + return pulumi.get(self, "ors") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotTagResult']: + """ + Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class GetCostCategoryRuleRuleNotAndResult(dict): + def __init__(__self__, *, + cost_categories: Sequence['outputs.GetCostCategoryRuleRuleNotAndCostCategoryResult'], + dimensions: Sequence['outputs.GetCostCategoryRuleRuleNotAndDimensionResult'], + tags: Sequence['outputs.GetCostCategoryRuleRuleNotAndTagResult']): + """ + :param Sequence['GetCostCategoryRuleRuleNotAndCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. + :param Sequence['GetCostCategoryRuleRuleNotAndDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleNotAndTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + pulumi.set(__self__, "cost_categories", cost_categories) + pulumi.set(__self__, "dimensions", dimensions) + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategories") + def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotAndCostCategoryResult']: + """ + Configuration block for the filter that's based on `CostCategory` values. See below. + """ + return pulumi.get(self, "cost_categories") + + @property + @pulumi.getter + def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotAndDimensionResult']: + """ + Configuration block for the specific `Dimension` to use for `Expression`. See below. + """ + return pulumi.get(self, "dimensions") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotAndTagResult']: + """ + Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class GetCostCategoryRuleRuleNotAndCostCategoryResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleNotAndDimensionResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleNotAndTagResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleNotCostCategoryResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleNotDimensionResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleNotNotResult(dict): + def __init__(__self__, *, + cost_categories: Sequence['outputs.GetCostCategoryRuleRuleNotNotCostCategoryResult'], + dimensions: Sequence['outputs.GetCostCategoryRuleRuleNotNotDimensionResult'], + tags: Sequence['outputs.GetCostCategoryRuleRuleNotNotTagResult']): + """ + :param Sequence['GetCostCategoryRuleRuleNotNotCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. + :param Sequence['GetCostCategoryRuleRuleNotNotDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleNotNotTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + pulumi.set(__self__, "cost_categories", cost_categories) + pulumi.set(__self__, "dimensions", dimensions) + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategories") + def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotNotCostCategoryResult']: + """ + Configuration block for the filter that's based on `CostCategory` values. See below. + """ + return pulumi.get(self, "cost_categories") + + @property + @pulumi.getter + def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotNotDimensionResult']: + """ + Configuration block for the specific `Dimension` to use for `Expression`. See below. + """ + return pulumi.get(self, "dimensions") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotNotTagResult']: + """ + Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class GetCostCategoryRuleRuleNotNotCostCategoryResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleNotNotDimensionResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleNotNotTagResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleNotOrResult(dict): + def __init__(__self__, *, + cost_categories: Sequence['outputs.GetCostCategoryRuleRuleNotOrCostCategoryResult'], + dimensions: Sequence['outputs.GetCostCategoryRuleRuleNotOrDimensionResult'], + tags: Sequence['outputs.GetCostCategoryRuleRuleNotOrTagResult']): + """ + :param Sequence['GetCostCategoryRuleRuleNotOrCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. + :param Sequence['GetCostCategoryRuleRuleNotOrDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleNotOrTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + pulumi.set(__self__, "cost_categories", cost_categories) + pulumi.set(__self__, "dimensions", dimensions) + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="costCategories") + def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotOrCostCategoryResult']: + """ + Configuration block for the filter that's based on `CostCategory` values. See below. + """ + return pulumi.get(self, "cost_categories") + + @property + @pulumi.getter + def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotOrDimensionResult']: + """ + Configuration block for the specific `Dimension` to use for `Expression`. See below. + """ + return pulumi.get(self, "dimensions") + + @property + @pulumi.getter + def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotOrTagResult']: + """ + Configuration block for the specific `Tag` to use for `Expression`. See below. + """ + return pulumi.get(self, "tags") + + +@pulumi.output_type +class GetCostCategoryRuleRuleNotOrCostCategoryResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: """ Parameter values. """ @@ -2271,101 +5968,141 @@ def values(self) -> Optional[Sequence[str]]: @pulumi.output_type -class GetCostCategoryRuleResult(dict): +class GetCostCategoryRuleRuleNotOrDimensionResult(dict): def __init__(__self__, *, - inherited_values: Sequence['outputs.GetCostCategoryRuleInheritedValueResult'], - rules: Sequence['outputs.GetCostCategoryRuleRuleResult'], - type: str, - value: str): + key: str, + match_options: Sequence[str], + values: Sequence[str]): """ - :param Sequence['GetCostCategoryRuleInheritedValueArgs'] inherited_values: Configuration block for the value the line item is categorized as if the line item contains the matched dimension. See below. - :param Sequence['GetCostCategoryRuleRuleArgs'] rules: Configuration block for the `Expression` object used to categorize costs. See below. - :param str type: Parameter type. - :param str value: Default value for the cost category. + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. """ - pulumi.set(__self__, "inherited_values", inherited_values) - pulumi.set(__self__, "rules", rules) - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "value", value) + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) @property - @pulumi.getter(name="inheritedValues") - def inherited_values(self) -> Sequence['outputs.GetCostCategoryRuleInheritedValueResult']: + @pulumi.getter + def key(self) -> str: """ - Configuration block for the value the line item is categorized as if the line item contains the matched dimension. See below. + Key for the tag. """ - return pulumi.get(self, "inherited_values") + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") @property @pulumi.getter - def rules(self) -> Sequence['outputs.GetCostCategoryRuleRuleResult']: + def values(self) -> Sequence[str]: """ - Configuration block for the `Expression` object used to categorize costs. See below. + Parameter values. """ - return pulumi.get(self, "rules") + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleNotOrTagResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) @property @pulumi.getter - def type(self) -> str: + def key(self) -> str: """ - Parameter type. + Key for the tag. """ - return pulumi.get(self, "type") + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") @property @pulumi.getter - def value(self) -> str: + def values(self) -> Sequence[str]: """ - Default value for the cost category. + Parameter values. """ - return pulumi.get(self, "value") + return pulumi.get(self, "values") @pulumi.output_type -class GetCostCategoryRuleInheritedValueResult(dict): +class GetCostCategoryRuleRuleNotTagResult(dict): def __init__(__self__, *, - dimension_key: str, - dimension_name: str): + key: str, + match_options: Sequence[str], + values: Sequence[str]): """ - :param str dimension_key: Key to extract cost category values. - :param str dimension_name: Name of the dimension that's used to group costs. If you specify `LINKED_ACCOUNT_NAME`, the cost category value is based on account name. If you specify `TAG`, the cost category value will be based on the value of the specified tag key. Valid values are `LINKED_ACCOUNT_NAME`, `TAG` + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. """ - pulumi.set(__self__, "dimension_key", dimension_key) - pulumi.set(__self__, "dimension_name", dimension_name) + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) @property - @pulumi.getter(name="dimensionKey") - def dimension_key(self) -> str: + @pulumi.getter + def key(self) -> str: """ - Key to extract cost category values. + Key for the tag. """ - return pulumi.get(self, "dimension_key") + return pulumi.get(self, "key") @property - @pulumi.getter(name="dimensionName") - def dimension_name(self) -> str: + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: """ - Name of the dimension that's used to group costs. If you specify `LINKED_ACCOUNT_NAME`, the cost category value is based on account name. If you specify `TAG`, the cost category value will be based on the value of the specified tag key. Valid values are `LINKED_ACCOUNT_NAME`, `TAG` + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. """ - return pulumi.get(self, "dimension_name") + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") @pulumi.output_type -class GetCostCategoryRuleRuleResult(dict): +class GetCostCategoryRuleRuleOrResult(dict): def __init__(__self__, *, - ands: Sequence['outputs.GetCostCategoryRuleRuleAndResult'], - cost_categories: Sequence['outputs.GetCostCategoryRuleRuleCostCategoryResult'], - dimensions: Sequence['outputs.GetCostCategoryRuleRuleDimensionResult'], - nots: Sequence['outputs.GetCostCategoryRuleRuleNotResult'], - ors: Sequence['outputs.GetCostCategoryRuleRuleOrResult'], - tags: Sequence['outputs.GetCostCategoryRuleRuleTagResult']): + ands: Sequence['outputs.GetCostCategoryRuleRuleOrAndResult'], + cost_categories: Sequence['outputs.GetCostCategoryRuleRuleOrCostCategoryResult'], + dimensions: Sequence['outputs.GetCostCategoryRuleRuleOrDimensionResult'], + nots: Sequence['outputs.GetCostCategoryRuleRuleOrNotResult'], + ors: Sequence['outputs.GetCostCategoryRuleRuleOrOrResult'], + tags: Sequence['outputs.GetCostCategoryRuleRuleOrTagResult']): """ - :param Sequence['GetCostCategoryRuleRuleAndArgs'] ands: Return results that match both `Dimension` objects. - :param Sequence['GetCostCategoryRuleRuleCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. - :param Sequence['GetCostCategoryRuleRuleDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. - :param Sequence['GetCostCategoryRuleRuleNotArgs'] nots: Return results that do not match the `Dimension` object. - :param Sequence['GetCostCategoryRuleRuleOrArgs'] ors: Return results that match either `Dimension` object. - :param Sequence['GetCostCategoryRuleRuleTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleOrAndArgs'] ands: Return results that match both `Dimension` objects. + :param Sequence['GetCostCategoryRuleRuleOrCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. + :param Sequence['GetCostCategoryRuleRuleOrDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleOrNotArgs'] nots: Return results that do not match the `Dimension` object. + :param Sequence['GetCostCategoryRuleRuleOrOrArgs'] ors: Return results that match either `Dimension` object. + :param Sequence['GetCostCategoryRuleRuleOrTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. """ pulumi.set(__self__, "ands", ands) pulumi.set(__self__, "cost_categories", cost_categories) @@ -2376,7 +6113,7 @@ def __init__(__self__, *, @property @pulumi.getter - def ands(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndResult']: + def ands(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrAndResult']: """ Return results that match both `Dimension` objects. """ @@ -2384,7 +6121,7 @@ def ands(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndResult']: @property @pulumi.getter(name="costCategories") - def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleCostCategoryResult']: + def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrCostCategoryResult']: """ Configuration block for the filter that's based on `CostCategory` values. See below. """ @@ -2392,7 +6129,7 @@ def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleCostCatego @property @pulumi.getter - def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleDimensionResult']: + def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrDimensionResult']: """ Configuration block for the specific `Dimension` to use for `Expression`. See below. """ @@ -2400,7 +6137,7 @@ def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleDimensionResult @property @pulumi.getter - def nots(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotResult']: + def nots(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrNotResult']: """ Return results that do not match the `Dimension` object. """ @@ -2408,7 +6145,7 @@ def nots(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotResult']: @property @pulumi.getter - def ors(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrResult']: + def ors(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrOrResult']: """ Return results that match either `Dimension` object. """ @@ -2416,7 +6153,7 @@ def ors(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrResult']: @property @pulumi.getter - def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleTagResult']: + def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrTagResult']: """ Configuration block for the specific `Tag` to use for `Expression`. See below. """ @@ -2424,15 +6161,15 @@ def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleTagResult']: @pulumi.output_type -class GetCostCategoryRuleRuleAndResult(dict): +class GetCostCategoryRuleRuleOrAndResult(dict): def __init__(__self__, *, - cost_categories: Sequence['outputs.GetCostCategoryRuleRuleAndCostCategoryResult'], - dimensions: Sequence['outputs.GetCostCategoryRuleRuleAndDimensionResult'], - tags: Sequence['outputs.GetCostCategoryRuleRuleAndTagResult']): + cost_categories: Sequence['outputs.GetCostCategoryRuleRuleOrAndCostCategoryResult'], + dimensions: Sequence['outputs.GetCostCategoryRuleRuleOrAndDimensionResult'], + tags: Sequence['outputs.GetCostCategoryRuleRuleOrAndTagResult']): """ - :param Sequence['GetCostCategoryRuleRuleAndCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. - :param Sequence['GetCostCategoryRuleRuleAndDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. - :param Sequence['GetCostCategoryRuleRuleAndTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleOrAndCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. + :param Sequence['GetCostCategoryRuleRuleOrAndDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleOrAndTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. """ pulumi.set(__self__, "cost_categories", cost_categories) pulumi.set(__self__, "dimensions", dimensions) @@ -2440,7 +6177,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="costCategories") - def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndCostCategoryResult']: + def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrAndCostCategoryResult']: """ Configuration block for the filter that's based on `CostCategory` values. See below. """ @@ -2448,7 +6185,7 @@ def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndCostCat @property @pulumi.getter - def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndDimensionResult']: + def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrAndDimensionResult']: """ Configuration block for the specific `Dimension` to use for `Expression`. See below. """ @@ -2456,7 +6193,7 @@ def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndDimensionRes @property @pulumi.getter - def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndTagResult']: + def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrAndTagResult']: """ Configuration block for the specific `Tag` to use for `Expression`. See below. """ @@ -2464,7 +6201,7 @@ def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleAndTagResult']: @pulumi.output_type -class GetCostCategoryRuleRuleAndCostCategoryResult(dict): +class GetCostCategoryRuleRuleOrAndCostCategoryResult(dict): def __init__(__self__, *, key: str, match_options: Sequence[str], @@ -2504,7 +6241,7 @@ def values(self) -> Sequence[str]: @pulumi.output_type -class GetCostCategoryRuleRuleAndDimensionResult(dict): +class GetCostCategoryRuleRuleOrAndDimensionResult(dict): def __init__(__self__, *, key: str, match_options: Sequence[str], @@ -2544,7 +6281,7 @@ def values(self) -> Sequence[str]: @pulumi.output_type -class GetCostCategoryRuleRuleAndTagResult(dict): +class GetCostCategoryRuleRuleOrAndTagResult(dict): def __init__(__self__, *, key: str, match_options: Sequence[str], @@ -2584,7 +6321,7 @@ def values(self) -> Sequence[str]: @pulumi.output_type -class GetCostCategoryRuleRuleCostCategoryResult(dict): +class GetCostCategoryRuleRuleOrCostCategoryResult(dict): def __init__(__self__, *, key: str, match_options: Sequence[str], @@ -2624,7 +6361,7 @@ def values(self) -> Sequence[str]: @pulumi.output_type -class GetCostCategoryRuleRuleDimensionResult(dict): +class GetCostCategoryRuleRuleOrDimensionResult(dict): def __init__(__self__, *, key: str, match_options: Sequence[str], @@ -2664,15 +6401,15 @@ def values(self) -> Sequence[str]: @pulumi.output_type -class GetCostCategoryRuleRuleNotResult(dict): +class GetCostCategoryRuleRuleOrNotResult(dict): def __init__(__self__, *, - cost_categories: Sequence['outputs.GetCostCategoryRuleRuleNotCostCategoryResult'], - dimensions: Sequence['outputs.GetCostCategoryRuleRuleNotDimensionResult'], - tags: Sequence['outputs.GetCostCategoryRuleRuleNotTagResult']): + cost_categories: Sequence['outputs.GetCostCategoryRuleRuleOrNotCostCategoryResult'], + dimensions: Sequence['outputs.GetCostCategoryRuleRuleOrNotDimensionResult'], + tags: Sequence['outputs.GetCostCategoryRuleRuleOrNotTagResult']): """ - :param Sequence['GetCostCategoryRuleRuleNotCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. - :param Sequence['GetCostCategoryRuleRuleNotDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. - :param Sequence['GetCostCategoryRuleRuleNotTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleOrNotCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. + :param Sequence['GetCostCategoryRuleRuleOrNotDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleOrNotTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. """ pulumi.set(__self__, "cost_categories", cost_categories) pulumi.set(__self__, "dimensions", dimensions) @@ -2680,7 +6417,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="costCategories") - def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotCostCategoryResult']: + def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrNotCostCategoryResult']: """ Configuration block for the filter that's based on `CostCategory` values. See below. """ @@ -2688,7 +6425,7 @@ def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotCostCat @property @pulumi.getter - def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotDimensionResult']: + def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrNotDimensionResult']: """ Configuration block for the specific `Dimension` to use for `Expression`. See below. """ @@ -2696,7 +6433,7 @@ def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotDimensionRes @property @pulumi.getter - def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotTagResult']: + def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrNotTagResult']: """ Configuration block for the specific `Tag` to use for `Expression`. See below. """ @@ -2704,7 +6441,7 @@ def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleNotTagResult']: @pulumi.output_type -class GetCostCategoryRuleRuleNotCostCategoryResult(dict): +class GetCostCategoryRuleRuleOrNotCostCategoryResult(dict): def __init__(__self__, *, key: str, match_options: Sequence[str], @@ -2744,7 +6481,7 @@ def values(self) -> Sequence[str]: @pulumi.output_type -class GetCostCategoryRuleRuleNotDimensionResult(dict): +class GetCostCategoryRuleRuleOrNotDimensionResult(dict): def __init__(__self__, *, key: str, match_options: Sequence[str], @@ -2784,7 +6521,7 @@ def values(self) -> Sequence[str]: @pulumi.output_type -class GetCostCategoryRuleRuleNotTagResult(dict): +class GetCostCategoryRuleRuleOrNotTagResult(dict): def __init__(__self__, *, key: str, match_options: Sequence[str], @@ -2824,15 +6561,15 @@ def values(self) -> Sequence[str]: @pulumi.output_type -class GetCostCategoryRuleRuleOrResult(dict): +class GetCostCategoryRuleRuleOrOrResult(dict): def __init__(__self__, *, - cost_categories: Sequence['outputs.GetCostCategoryRuleRuleOrCostCategoryResult'], - dimensions: Sequence['outputs.GetCostCategoryRuleRuleOrDimensionResult'], - tags: Sequence['outputs.GetCostCategoryRuleRuleOrTagResult']): + cost_categories: Sequence['outputs.GetCostCategoryRuleRuleOrOrCostCategoryResult'], + dimensions: Sequence['outputs.GetCostCategoryRuleRuleOrOrDimensionResult'], + tags: Sequence['outputs.GetCostCategoryRuleRuleOrOrTagResult']): """ - :param Sequence['GetCostCategoryRuleRuleOrCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. - :param Sequence['GetCostCategoryRuleRuleOrDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. - :param Sequence['GetCostCategoryRuleRuleOrTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleOrOrCostCategoryArgs'] cost_categories: Configuration block for the filter that's based on `CostCategory` values. See below. + :param Sequence['GetCostCategoryRuleRuleOrOrDimensionArgs'] dimensions: Configuration block for the specific `Dimension` to use for `Expression`. See below. + :param Sequence['GetCostCategoryRuleRuleOrOrTagArgs'] tags: Configuration block for the specific `Tag` to use for `Expression`. See below. """ pulumi.set(__self__, "cost_categories", cost_categories) pulumi.set(__self__, "dimensions", dimensions) @@ -2840,7 +6577,7 @@ def __init__(__self__, *, @property @pulumi.getter(name="costCategories") - def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrCostCategoryResult']: + def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrOrCostCategoryResult']: """ Configuration block for the filter that's based on `CostCategory` values. See below. """ @@ -2848,7 +6585,7 @@ def cost_categories(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrCostCate @property @pulumi.getter - def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrDimensionResult']: + def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrOrDimensionResult']: """ Configuration block for the specific `Dimension` to use for `Expression`. See below. """ @@ -2856,7 +6593,7 @@ def dimensions(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrDimensionResu @property @pulumi.getter - def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrTagResult']: + def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrOrTagResult']: """ Configuration block for the specific `Tag` to use for `Expression`. See below. """ @@ -2864,7 +6601,7 @@ def tags(self) -> Sequence['outputs.GetCostCategoryRuleRuleOrTagResult']: @pulumi.output_type -class GetCostCategoryRuleRuleOrCostCategoryResult(dict): +class GetCostCategoryRuleRuleOrOrCostCategoryResult(dict): def __init__(__self__, *, key: str, match_options: Sequence[str], @@ -2904,7 +6641,47 @@ def values(self) -> Sequence[str]: @pulumi.output_type -class GetCostCategoryRuleRuleOrDimensionResult(dict): +class GetCostCategoryRuleRuleOrOrDimensionResult(dict): + def __init__(__self__, *, + key: str, + match_options: Sequence[str], + values: Sequence[str]): + """ + :param str key: Key for the tag. + :param Sequence[str] match_options: Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + :param Sequence[str] values: Parameter values. + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "match_options", match_options) + pulumi.set(__self__, "values", values) + + @property + @pulumi.getter + def key(self) -> str: + """ + Key for the tag. + """ + return pulumi.get(self, "key") + + @property + @pulumi.getter(name="matchOptions") + def match_options(self) -> Sequence[str]: + """ + Match options that you can use to filter your results. MatchOptions is only applicable for actions related to cost category. The default values for MatchOptions is `EQUALS` and `CASE_SENSITIVE`. Valid values are: `EQUALS`, `ABSENT`, `STARTS_WITH`, `ENDS_WITH`, `CONTAINS`, `CASE_SENSITIVE`, `CASE_INSENSITIVE`. + """ + return pulumi.get(self, "match_options") + + @property + @pulumi.getter + def values(self) -> Sequence[str]: + """ + Parameter values. + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetCostCategoryRuleRuleOrOrTagResult(dict): def __init__(__self__, *, key: str, match_options: Sequence[str], diff --git a/sdk/python/pulumi_aws/ec2/eip.py b/sdk/python/pulumi_aws/ec2/eip.py index 80c36b384fa..3a73d2a8294 100644 --- a/sdk/python/pulumi_aws/ec2/eip.py +++ b/sdk/python/pulumi_aws/ec2/eip.py @@ -204,6 +204,7 @@ class _EipState: def __init__(__self__, *, address: Optional[pulumi.Input[str]] = None, allocation_id: Optional[pulumi.Input[str]] = None, + arn: Optional[pulumi.Input[str]] = None, associate_with_private_ip: Optional[pulumi.Input[str]] = None, association_id: Optional[pulumi.Input[str]] = None, carrier_ip: Optional[pulumi.Input[str]] = None, @@ -256,6 +257,8 @@ def __init__(__self__, *, pulumi.set(__self__, "address", address) if allocation_id is not None: pulumi.set(__self__, "allocation_id", allocation_id) + if arn is not None: + pulumi.set(__self__, "arn", arn) if associate_with_private_ip is not None: pulumi.set(__self__, "associate_with_private_ip", associate_with_private_ip) if association_id is not None: @@ -323,6 +326,15 @@ def allocation_id(self) -> Optional[pulumi.Input[str]]: def allocation_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "allocation_id", value) + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + @property @pulumi.getter(name="associateWithPrivateIp") def associate_with_private_ip(self) -> Optional[pulumi.Input[str]]: @@ -816,6 +828,7 @@ def _internal_init(__self__, __props__.__dict__["tags"] = tags __props__.__dict__["vpc"] = vpc __props__.__dict__["allocation_id"] = None + __props__.__dict__["arn"] = None __props__.__dict__["association_id"] = None __props__.__dict__["carrier_ip"] = None __props__.__dict__["customer_owned_ip"] = None @@ -837,6 +850,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, address: Optional[pulumi.Input[str]] = None, allocation_id: Optional[pulumi.Input[str]] = None, + arn: Optional[pulumi.Input[str]] = None, associate_with_private_ip: Optional[pulumi.Input[str]] = None, association_id: Optional[pulumi.Input[str]] = None, carrier_ip: Optional[pulumi.Input[str]] = None, @@ -896,6 +910,7 @@ def get(resource_name: str, __props__.__dict__["address"] = address __props__.__dict__["allocation_id"] = allocation_id + __props__.__dict__["arn"] = arn __props__.__dict__["associate_with_private_ip"] = associate_with_private_ip __props__.__dict__["association_id"] = association_id __props__.__dict__["carrier_ip"] = carrier_ip @@ -932,6 +947,11 @@ def allocation_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "allocation_id") + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + return pulumi.get(self, "arn") + @property @pulumi.getter(name="associateWithPrivateIp") def associate_with_private_ip(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_aws/ec2/get_elastic_ip.py b/sdk/python/pulumi_aws/ec2/get_elastic_ip.py index 1bb66bb21a3..63311138338 100644 --- a/sdk/python/pulumi_aws/ec2/get_elastic_ip.py +++ b/sdk/python/pulumi_aws/ec2/get_elastic_ip.py @@ -23,7 +23,10 @@ class GetElasticIpResult: """ A collection of values returned by getElasticIp. """ - def __init__(__self__, association_id=None, carrier_ip=None, customer_owned_ip=None, customer_owned_ipv4_pool=None, domain=None, filters=None, id=None, instance_id=None, network_interface_id=None, network_interface_owner_id=None, private_dns=None, private_ip=None, ptr_record=None, public_dns=None, public_ip=None, public_ipv4_pool=None, tags=None): + def __init__(__self__, arn=None, association_id=None, carrier_ip=None, customer_owned_ip=None, customer_owned_ipv4_pool=None, domain=None, filters=None, id=None, instance_id=None, network_interface_id=None, network_interface_owner_id=None, private_dns=None, private_ip=None, ptr_record=None, public_dns=None, public_ip=None, public_ipv4_pool=None, tags=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) if association_id and not isinstance(association_id, str): raise TypeError("Expected argument 'association_id' to be a str") pulumi.set(__self__, "association_id", association_id) @@ -76,6 +79,11 @@ def __init__(__self__, association_id=None, carrier_ip=None, customer_owned_ip=N raise TypeError("Expected argument 'tags' to be a dict") pulumi.set(__self__, "tags", tags) + @property + @pulumi.getter + def arn(self) -> str: + return pulumi.get(self, "arn") + @property @pulumi.getter(name="associationId") def association_id(self) -> str: @@ -216,6 +224,7 @@ def __await__(self): if False: yield self return GetElasticIpResult( + arn=self.arn, association_id=self.association_id, carrier_ip=self.carrier_ip, customer_owned_ip=self.customer_owned_ip, @@ -301,6 +310,7 @@ def get_elastic_ip(filters: Optional[Sequence[pulumi.InputType['GetElasticIpFilt __ret__ = pulumi.runtime.invoke('aws:ec2/getElasticIp:getElasticIp', __args__, opts=opts, typ=GetElasticIpResult).value return AwaitableGetElasticIpResult( + arn=pulumi.get(__ret__, 'arn'), association_id=pulumi.get(__ret__, 'association_id'), carrier_ip=pulumi.get(__ret__, 'carrier_ip'), customer_owned_ip=pulumi.get(__ret__, 'customer_owned_ip'), diff --git a/sdk/python/pulumi_aws/elasticache/replication_group.py b/sdk/python/pulumi_aws/elasticache/replication_group.py index 46666624ba0..d3c13fc5f9b 100644 --- a/sdk/python/pulumi_aws/elasticache/replication_group.py +++ b/sdk/python/pulumi_aws/elasticache/replication_group.py @@ -52,6 +52,7 @@ def __init__(__self__, *, subnet_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, transit_encryption_enabled: Optional[pulumi.Input[bool]] = None, + transit_encryption_mode: Optional[pulumi.Input[str]] = None, user_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ The set of arguments for constructing a ReplicationGroup resource. @@ -103,6 +104,12 @@ def __init__(__self__, *, :param pulumi.Input[str] subnet_group_name: Name of the cache subnet group to be used for the replication group. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[bool] transit_encryption_enabled: Whether to enable encryption in transit. + Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. + :param pulumi.Input[str] transit_encryption_mode: A setting that enables clients to migrate to in-transit encryption with no downtime. + Valid values are `preferred` and `required`. + When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. :param pulumi.Input[Sequence[pulumi.Input[str]]] user_group_ids: User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. """ if apply_immediately is not None: @@ -177,6 +184,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags", tags) if transit_encryption_enabled is not None: pulumi.set(__self__, "transit_encryption_enabled", transit_encryption_enabled) + if transit_encryption_mode is not None: + pulumi.set(__self__, "transit_encryption_mode", transit_encryption_mode) if user_group_ids is not None: pulumi.set(__self__, "user_group_ids", user_group_ids) @@ -617,6 +626,8 @@ def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): def transit_encryption_enabled(self) -> Optional[pulumi.Input[bool]]: """ Whether to enable encryption in transit. + Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. """ return pulumi.get(self, "transit_encryption_enabled") @@ -624,6 +635,21 @@ def transit_encryption_enabled(self) -> Optional[pulumi.Input[bool]]: def transit_encryption_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "transit_encryption_enabled", value) + @property + @pulumi.getter(name="transitEncryptionMode") + def transit_encryption_mode(self) -> Optional[pulumi.Input[str]]: + """ + A setting that enables clients to migrate to in-transit encryption with no downtime. + Valid values are `preferred` and `required`. + When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + """ + return pulumi.get(self, "transit_encryption_mode") + + @transit_encryption_mode.setter + def transit_encryption_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "transit_encryption_mode", value) + @property @pulumi.getter(name="userGroupIds") def user_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -684,6 +710,7 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, transit_encryption_enabled: Optional[pulumi.Input[bool]] = None, + transit_encryption_mode: Optional[pulumi.Input[str]] = None, user_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ Input properties used for looking up and filtering ReplicationGroup resources. @@ -743,6 +770,12 @@ def __init__(__self__, *, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[bool] transit_encryption_enabled: Whether to enable encryption in transit. + Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. + :param pulumi.Input[str] transit_encryption_mode: A setting that enables clients to migrate to in-transit encryption with no downtime. + Valid values are `preferred` and `required`. + When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. :param pulumi.Input[Sequence[pulumi.Input[str]]] user_group_ids: User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. """ if apply_immediately is not None: @@ -836,6 +869,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tags_all", tags_all) if transit_encryption_enabled is not None: pulumi.set(__self__, "transit_encryption_enabled", transit_encryption_enabled) + if transit_encryption_mode is not None: + pulumi.set(__self__, "transit_encryption_mode", transit_encryption_mode) if user_group_ids is not None: pulumi.set(__self__, "user_group_ids", user_group_ids) @@ -1375,6 +1410,8 @@ def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]] def transit_encryption_enabled(self) -> Optional[pulumi.Input[bool]]: """ Whether to enable encryption in transit. + Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. """ return pulumi.get(self, "transit_encryption_enabled") @@ -1382,6 +1419,21 @@ def transit_encryption_enabled(self) -> Optional[pulumi.Input[bool]]: def transit_encryption_enabled(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "transit_encryption_enabled", value) + @property + @pulumi.getter(name="transitEncryptionMode") + def transit_encryption_mode(self) -> Optional[pulumi.Input[str]]: + """ + A setting that enables clients to migrate to in-transit encryption with no downtime. + Valid values are `preferred` and `required`. + When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + """ + return pulumi.get(self, "transit_encryption_mode") + + @transit_encryption_mode.setter + def transit_encryption_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "transit_encryption_mode", value) + @property @pulumi.getter(name="userGroupIds") def user_group_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -1436,6 +1488,7 @@ def __init__(__self__, subnet_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, transit_encryption_enabled: Optional[pulumi.Input[bool]] = None, + transit_encryption_mode: Optional[pulumi.Input[str]] = None, user_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): """ @@ -1674,6 +1727,12 @@ def __init__(__self__, :param pulumi.Input[str] subnet_group_name: Name of the cache subnet group to be used for the replication group. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[bool] transit_encryption_enabled: Whether to enable encryption in transit. + Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. + :param pulumi.Input[str] transit_encryption_mode: A setting that enables clients to migrate to in-transit encryption with no downtime. + Valid values are `preferred` and `required`. + When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. :param pulumi.Input[Sequence[pulumi.Input[str]]] user_group_ids: User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. """ ... @@ -1919,6 +1978,7 @@ def _internal_init(__self__, subnet_group_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, transit_encryption_enabled: Optional[pulumi.Input[bool]] = None, + transit_encryption_mode: Optional[pulumi.Input[str]] = None, user_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -1965,6 +2025,7 @@ def _internal_init(__self__, __props__.__dict__["subnet_group_name"] = subnet_group_name __props__.__dict__["tags"] = tags __props__.__dict__["transit_encryption_enabled"] = transit_encryption_enabled + __props__.__dict__["transit_encryption_mode"] = transit_encryption_mode __props__.__dict__["user_group_ids"] = user_group_ids __props__.__dict__["arn"] = None __props__.__dict__["cluster_enabled"] = None @@ -2030,6 +2091,7 @@ def get(resource_name: str, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, transit_encryption_enabled: Optional[pulumi.Input[bool]] = None, + transit_encryption_mode: Optional[pulumi.Input[str]] = None, user_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'ReplicationGroup': """ Get an existing ReplicationGroup resource's state with the given name, id, and optional extra @@ -2094,6 +2156,12 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[bool] transit_encryption_enabled: Whether to enable encryption in transit. + Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. + :param pulumi.Input[str] transit_encryption_mode: A setting that enables clients to migrate to in-transit encryption with no downtime. + Valid values are `preferred` and `required`. + When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. :param pulumi.Input[Sequence[pulumi.Input[str]]] user_group_ids: User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -2144,6 +2212,7 @@ def get(resource_name: str, __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all __props__.__dict__["transit_encryption_enabled"] = transit_encryption_enabled + __props__.__dict__["transit_encryption_mode"] = transit_encryption_mode __props__.__dict__["user_group_ids"] = user_group_ids return ReplicationGroup(resource_name, opts=opts, __props__=__props__) @@ -2511,9 +2580,22 @@ def tags_all(self) -> pulumi.Output[Mapping[str, str]]: def transit_encryption_enabled(self) -> pulumi.Output[bool]: """ Whether to enable encryption in transit. + Changing this argument with an `engine_version` < `7.0.5` will force a replacement. + Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group. """ return pulumi.get(self, "transit_encryption_enabled") + @property + @pulumi.getter(name="transitEncryptionMode") + def transit_encryption_mode(self) -> pulumi.Output[str]: + """ + A setting that enables clients to migrate to in-transit encryption with no downtime. + Valid values are `preferred` and `required`. + When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. + See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details. + """ + return pulumi.get(self, "transit_encryption_mode") + @property @pulumi.getter(name="userGroupIds") def user_group_ids(self) -> pulumi.Output[Optional[Sequence[str]]]: diff --git a/sdk/python/pulumi_aws/globalaccelerator/__init__.py b/sdk/python/pulumi_aws/globalaccelerator/__init__.py index bec363c97e3..865ce7519d7 100644 --- a/sdk/python/pulumi_aws/globalaccelerator/__init__.py +++ b/sdk/python/pulumi_aws/globalaccelerator/__init__.py @@ -6,6 +6,7 @@ import typing # Export this package's modules as members: from .accelerator import * +from .cross_account_attachment import * from .custom_routing_accelerator import * from .custom_routing_endpoint_group import * from .custom_routing_listener import * diff --git a/sdk/python/pulumi_aws/globalaccelerator/_inputs.py b/sdk/python/pulumi_aws/globalaccelerator/_inputs.py index 89551130158..182fe4cda3e 100644 --- a/sdk/python/pulumi_aws/globalaccelerator/_inputs.py +++ b/sdk/python/pulumi_aws/globalaccelerator/_inputs.py @@ -12,6 +12,7 @@ __all__ = [ 'AcceleratorAttributesArgs', 'AcceleratorIpSetArgs', + 'CrossAccountAttachmentResourceArgs', 'CustomRoutingAcceleratorAttributesArgs', 'CustomRoutingAcceleratorIpSetArgs', 'CustomRoutingEndpointGroupDestinationConfigurationArgs', @@ -116,6 +117,45 @@ def ip_family(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "ip_family", value) +@pulumi.input_type +class CrossAccountAttachmentResourceArgs: + def __init__(__self__, *, + endpoint_id: Optional[pulumi.Input[str]] = None, + region: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] endpoint_id: The endpoint ID for the endpoint that is specified as a AWS resource. + :param pulumi.Input[str] region: The AWS Region where a shared endpoint resource is located. + """ + if endpoint_id is not None: + pulumi.set(__self__, "endpoint_id", endpoint_id) + if region is not None: + pulumi.set(__self__, "region", region) + + @property + @pulumi.getter(name="endpointId") + def endpoint_id(self) -> Optional[pulumi.Input[str]]: + """ + The endpoint ID for the endpoint that is specified as a AWS resource. + """ + return pulumi.get(self, "endpoint_id") + + @endpoint_id.setter + def endpoint_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "endpoint_id", value) + + @property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[str]]: + """ + The AWS Region where a shared endpoint resource is located. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "region", value) + + @pulumi.input_type class CustomRoutingAcceleratorAttributesArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/globalaccelerator/cross_account_attachment.py b/sdk/python/pulumi_aws/globalaccelerator/cross_account_attachment.py new file mode 100644 index 00000000000..55fa79fb23d --- /dev/null +++ b/sdk/python/pulumi_aws/globalaccelerator/cross_account_attachment.py @@ -0,0 +1,491 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['CrossAccountAttachmentArgs', 'CrossAccountAttachment'] + +@pulumi.input_type +class CrossAccountAttachmentArgs: + def __init__(__self__, *, + name: Optional[pulumi.Input[str]] = None, + principals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + resources: Optional[pulumi.Input[Sequence[pulumi.Input['CrossAccountAttachmentResourceArgs']]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a CrossAccountAttachment resource. + :param pulumi.Input[str] name: Name of the Cross Account Attachment. + + The following arguments are optional: + :param pulumi.Input[Sequence[pulumi.Input[str]]] principals: List of AWS account IDs that are allowed to associate resources with the accelerator. + :param pulumi.Input[Sequence[pulumi.Input['CrossAccountAttachmentResourceArgs']]] resources: List of resources to be associated with the accelerator. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if principals is not None: + pulumi.set(__self__, "principals", principals) + if resources is not None: + pulumi.set(__self__, "resources", resources) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Cross Account Attachment. + + The following arguments are optional: + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def principals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of AWS account IDs that are allowed to associate resources with the accelerator. + """ + return pulumi.get(self, "principals") + + @principals.setter + def principals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "principals", value) + + @property + @pulumi.getter + def resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CrossAccountAttachmentResourceArgs']]]]: + """ + List of resources to be associated with the accelerator. + """ + return pulumi.get(self, "resources") + + @resources.setter + def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CrossAccountAttachmentResourceArgs']]]]): + pulumi.set(self, "resources", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class _CrossAccountAttachmentState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + created_time: Optional[pulumi.Input[str]] = None, + last_modified_time: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + principals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + resources: Optional[pulumi.Input[Sequence[pulumi.Input['CrossAccountAttachmentResourceArgs']]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering CrossAccountAttachment resources. + :param pulumi.Input[str] arn: ARN of the Cross Account Attachment. + :param pulumi.Input[str] created_time: Creation Time when the Cross Account Attachment. + :param pulumi.Input[str] last_modified_time: Last modified time of the Cross Account Attachment. + :param pulumi.Input[str] name: Name of the Cross Account Attachment. + + The following arguments are optional: + :param pulumi.Input[Sequence[pulumi.Input[str]]] principals: List of AWS account IDs that are allowed to associate resources with the accelerator. + :param pulumi.Input[Sequence[pulumi.Input['CrossAccountAttachmentResourceArgs']]] resources: List of resources to be associated with the accelerator. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if created_time is not None: + pulumi.set(__self__, "created_time", created_time) + if last_modified_time is not None: + pulumi.set(__self__, "last_modified_time", last_modified_time) + if name is not None: + pulumi.set(__self__, "name", name) + if principals is not None: + pulumi.set(__self__, "principals", principals) + if resources is not None: + pulumi.set(__self__, "resources", resources) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + ARN of the Cross Account Attachment. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="createdTime") + def created_time(self) -> Optional[pulumi.Input[str]]: + """ + Creation Time when the Cross Account Attachment. + """ + return pulumi.get(self, "created_time") + + @created_time.setter + def created_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_time", value) + + @property + @pulumi.getter(name="lastModifiedTime") + def last_modified_time(self) -> Optional[pulumi.Input[str]]: + """ + Last modified time of the Cross Account Attachment. + """ + return pulumi.get(self, "last_modified_time") + + @last_modified_time.setter + def last_modified_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_modified_time", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + Name of the Cross Account Attachment. + + The following arguments are optional: + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def principals(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + List of AWS account IDs that are allowed to associate resources with the accelerator. + """ + return pulumi.get(self, "principals") + + @principals.setter + def principals(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "principals", value) + + @property + @pulumi.getter + def resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CrossAccountAttachmentResourceArgs']]]]: + """ + List of resources to be associated with the accelerator. + """ + return pulumi.get(self, "resources") + + @resources.setter + def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CrossAccountAttachmentResourceArgs']]]]): + pulumi.set(self, "resources", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + +class CrossAccountAttachment(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[str]] = None, + principals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + resources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrossAccountAttachmentResourceArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource for managing an AWS Global Accelerator Cross Account Attachment. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.globalaccelerator.CrossAccountAttachment("example", name="example-cross-account-attachment") + ``` + + ### Usage with Optional Arguments + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.globalaccelerator.CrossAccountAttachment("example", + name="example-cross-account-attachment", + principals=["123456789012"], + resources=[aws.globalaccelerator.CrossAccountAttachmentResourceArgs( + endpoint_id="arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + region="us-west-2", + )]) + ``` + + ## Import + + Using `pulumi import`, import Global Accelerator Cross Account Attachment using the `example_id_arg`. For example: + + ```sh + $ pulumi import aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment example arn:aws:globalaccelerator::012345678910:attachment/01234567-abcd-8910-efgh-123456789012 + ``` + + :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 Cross Account Attachment. + + The following arguments are optional: + :param pulumi.Input[Sequence[pulumi.Input[str]]] principals: List of AWS account IDs that are allowed to associate resources with the accelerator. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrossAccountAttachmentResourceArgs']]]] resources: List of resources to be associated with the accelerator. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[CrossAccountAttachmentArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS Global Accelerator Cross Account Attachment. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.globalaccelerator.CrossAccountAttachment("example", name="example-cross-account-attachment") + ``` + + ### Usage with Optional Arguments + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.globalaccelerator.CrossAccountAttachment("example", + name="example-cross-account-attachment", + principals=["123456789012"], + resources=[aws.globalaccelerator.CrossAccountAttachmentResourceArgs( + endpoint_id="arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + region="us-west-2", + )]) + ``` + + ## Import + + Using `pulumi import`, import Global Accelerator Cross Account Attachment using the `example_id_arg`. For example: + + ```sh + $ pulumi import aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment example arn:aws:globalaccelerator::012345678910:attachment/01234567-abcd-8910-efgh-123456789012 + ``` + + :param str resource_name: The name of the resource. + :param CrossAccountAttachmentArgs 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(CrossAccountAttachmentArgs, 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, + principals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + resources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrossAccountAttachmentResourceArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = CrossAccountAttachmentArgs.__new__(CrossAccountAttachmentArgs) + + __props__.__dict__["name"] = name + __props__.__dict__["principals"] = principals + __props__.__dict__["resources"] = resources + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["created_time"] = None + __props__.__dict__["last_modified_time"] = None + __props__.__dict__["tags_all"] = None + super(CrossAccountAttachment, __self__).__init__( + 'aws:globalaccelerator/crossAccountAttachment:CrossAccountAttachment', + 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_time: Optional[pulumi.Input[str]] = None, + last_modified_time: Optional[pulumi.Input[str]] = None, + name: Optional[pulumi.Input[str]] = None, + principals: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + resources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrossAccountAttachmentResourceArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'CrossAccountAttachment': + """ + Get an existing CrossAccountAttachment 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 Cross Account Attachment. + :param pulumi.Input[str] created_time: Creation Time when the Cross Account Attachment. + :param pulumi.Input[str] last_modified_time: Last modified time of the Cross Account Attachment. + :param pulumi.Input[str] name: Name of the Cross Account Attachment. + + The following arguments are optional: + :param pulumi.Input[Sequence[pulumi.Input[str]]] principals: List of AWS account IDs that are allowed to associate resources with the accelerator. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CrossAccountAttachmentResourceArgs']]]] resources: List of resources to be associated with the accelerator. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CrossAccountAttachmentState.__new__(_CrossAccountAttachmentState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["created_time"] = created_time + __props__.__dict__["last_modified_time"] = last_modified_time + __props__.__dict__["name"] = name + __props__.__dict__["principals"] = principals + __props__.__dict__["resources"] = resources + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + return CrossAccountAttachment(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + ARN of the Cross Account Attachment. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="createdTime") + def created_time(self) -> pulumi.Output[str]: + """ + Creation Time when the Cross Account Attachment. + """ + return pulumi.get(self, "created_time") + + @property + @pulumi.getter(name="lastModifiedTime") + def last_modified_time(self) -> pulumi.Output[str]: + """ + Last modified time of the Cross Account Attachment. + """ + return pulumi.get(self, "last_modified_time") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + Name of the Cross Account Attachment. + + The following arguments are optional: + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def principals(self) -> pulumi.Output[Optional[Sequence[str]]]: + """ + List of AWS account IDs that are allowed to associate resources with the accelerator. + """ + return pulumi.get(self, "principals") + + @property + @pulumi.getter + def resources(self) -> pulumi.Output[Optional[Sequence['outputs.CrossAccountAttachmentResource']]]: + """ + List of resources to be associated with the accelerator. + """ + return pulumi.get(self, "resources") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + warnings.warn("""Please use `tags` instead.""", DeprecationWarning) + pulumi.log.warn("""tags_all is deprecated: Please use `tags` instead.""") + + return pulumi.get(self, "tags_all") + diff --git a/sdk/python/pulumi_aws/globalaccelerator/outputs.py b/sdk/python/pulumi_aws/globalaccelerator/outputs.py index 36cb2e6fe9b..0b0d954878f 100644 --- a/sdk/python/pulumi_aws/globalaccelerator/outputs.py +++ b/sdk/python/pulumi_aws/globalaccelerator/outputs.py @@ -12,6 +12,7 @@ __all__ = [ 'AcceleratorAttributes', 'AcceleratorIpSet', + 'CrossAccountAttachmentResource', 'CustomRoutingAcceleratorAttributes', 'CustomRoutingAcceleratorIpSet', 'CustomRoutingEndpointGroupDestinationConfiguration', @@ -140,6 +141,54 @@ def ip_family(self) -> Optional[str]: return pulumi.get(self, "ip_family") +@pulumi.output_type +class CrossAccountAttachmentResource(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "endpointId": + suggest = "endpoint_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CrossAccountAttachmentResource. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CrossAccountAttachmentResource.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CrossAccountAttachmentResource.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + endpoint_id: Optional[str] = None, + region: Optional[str] = None): + """ + :param str endpoint_id: The endpoint ID for the endpoint that is specified as a AWS resource. + :param str region: The AWS Region where a shared endpoint resource is located. + """ + if endpoint_id is not None: + pulumi.set(__self__, "endpoint_id", endpoint_id) + if region is not None: + pulumi.set(__self__, "region", region) + + @property + @pulumi.getter(name="endpointId") + def endpoint_id(self) -> Optional[str]: + """ + The endpoint ID for the endpoint that is specified as a AWS resource. + """ + return pulumi.get(self, "endpoint_id") + + @property + @pulumi.getter + def region(self) -> Optional[str]: + """ + The AWS Region where a shared endpoint resource is located. + """ + return pulumi.get(self, "region") + + @pulumi.output_type class CustomRoutingAcceleratorAttributes(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/identitystore/__init__.py b/sdk/python/pulumi_aws/identitystore/__init__.py index e62c29b7708..e49118c5e33 100644 --- a/sdk/python/pulumi_aws/identitystore/__init__.py +++ b/sdk/python/pulumi_aws/identitystore/__init__.py @@ -6,6 +6,7 @@ import typing # Export this package's modules as members: from .get_group import * +from .get_groups import * from .get_user import * from .group import * from .group_membership import * diff --git a/sdk/python/pulumi_aws/identitystore/get_groups.py b/sdk/python/pulumi_aws/identitystore/get_groups.py new file mode 100644 index 00000000000..b47de8de89a --- /dev/null +++ b/sdk/python/pulumi_aws/identitystore/get_groups.py @@ -0,0 +1,121 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetGroupsResult', + 'AwaitableGetGroupsResult', + 'get_groups', + 'get_groups_output', +] + +@pulumi.output_type +class GetGroupsResult: + """ + A collection of values returned by getGroups. + """ + def __init__(__self__, groups=None, id=None, identity_store_id=None): + if groups and not isinstance(groups, list): + raise TypeError("Expected argument 'groups' to be a list") + pulumi.set(__self__, "groups", groups) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if identity_store_id and not isinstance(identity_store_id, str): + raise TypeError("Expected argument 'identity_store_id' to be a str") + pulumi.set(__self__, "identity_store_id", identity_store_id) + + @property + @pulumi.getter + def groups(self) -> Sequence['outputs.GetGroupsGroupResult']: + """ + List of Identity Store Groups + """ + return pulumi.get(self, "groups") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="identityStoreId") + def identity_store_id(self) -> str: + return pulumi.get(self, "identity_store_id") + + +class AwaitableGetGroupsResult(GetGroupsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetGroupsResult( + groups=self.groups, + id=self.id, + identity_store_id=self.identity_store_id) + + +def get_groups(identity_store_id: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetGroupsResult: + """ + Data source for managing an AWS SSO Identity Store Groups. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.ssoadmin.get_instances() + example_get_groups = aws.identitystore.get_groups(identity_store_id=example.identity_store_ids[0]) + ``` + + + :param str identity_store_id: Identity Store ID associated with the Single Sign-On (SSO) Instance. + """ + __args__ = dict() + __args__['identityStoreId'] = identity_store_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:identitystore/getGroups:getGroups', __args__, opts=opts, typ=GetGroupsResult).value + + return AwaitableGetGroupsResult( + groups=pulumi.get(__ret__, 'groups'), + id=pulumi.get(__ret__, 'id'), + identity_store_id=pulumi.get(__ret__, 'identity_store_id')) + + +@_utilities.lift_output_func(get_groups) +def get_groups_output(identity_store_id: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGroupsResult]: + """ + Data source for managing an AWS SSO Identity Store Groups. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.ssoadmin.get_instances() + example_get_groups = aws.identitystore.get_groups(identity_store_id=example.identity_store_ids[0]) + ``` + + + :param str identity_store_id: Identity Store ID associated with the Single Sign-On (SSO) Instance. + """ + ... diff --git a/sdk/python/pulumi_aws/identitystore/outputs.py b/sdk/python/pulumi_aws/identitystore/outputs.py index 679ef2a633c..9df74242ade 100644 --- a/sdk/python/pulumi_aws/identitystore/outputs.py +++ b/sdk/python/pulumi_aws/identitystore/outputs.py @@ -22,6 +22,7 @@ 'GetGroupAlternateIdentifierUniqueAttributeResult', 'GetGroupExternalIdResult', 'GetGroupFilterResult', + 'GetGroupsGroupResult', 'GetUserAddressResult', 'GetUserAlternateIdentifierResult', 'GetUserAlternateIdentifierExternalIdResult', @@ -560,6 +561,68 @@ def attribute_value(self) -> str: return pulumi.get(self, "attribute_value") +@pulumi.output_type +class GetGroupsGroupResult(dict): + def __init__(__self__, *, + description: str, + display_name: str, + external_ids: Sequence[Any], + group_id: str, + identity_store_id: str): + """ + :param str description: Description of the specified group. + :param str display_name: Group's display name. + :param Sequence[Any] external_ids: List of identifiers issued to this resource by an external identity provider. + :param str group_id: Identifier of the group in the Identity Store. + :param str identity_store_id: Identity Store ID associated with the Single Sign-On (SSO) Instance. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "external_ids", external_ids) + pulumi.set(__self__, "group_id", group_id) + pulumi.set(__self__, "identity_store_id", identity_store_id) + + @property + @pulumi.getter + def description(self) -> str: + """ + Description of the specified group. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="displayName") + def display_name(self) -> str: + """ + Group's display name. + """ + return pulumi.get(self, "display_name") + + @property + @pulumi.getter(name="externalIds") + def external_ids(self) -> Sequence[Any]: + """ + List of identifiers issued to this resource by an external identity provider. + """ + return pulumi.get(self, "external_ids") + + @property + @pulumi.getter(name="groupId") + def group_id(self) -> str: + """ + Identifier of the group in the Identity Store. + """ + return pulumi.get(self, "group_id") + + @property + @pulumi.getter(name="identityStoreId") + def identity_store_id(self) -> str: + """ + Identity Store ID associated with the Single Sign-On (SSO) Instance. + """ + return pulumi.get(self, "identity_store_id") + + @pulumi.output_type class GetUserAddressResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/kinesis/_inputs.py b/sdk/python/pulumi_aws/kinesis/_inputs.py index 030b801c8ff..971c3f04521 100644 --- a/sdk/python/pulumi_aws/kinesis/_inputs.py +++ b/sdk/python/pulumi_aws/kinesis/_inputs.py @@ -102,6 +102,15 @@ 'FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationArgs', 'FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs', 'FirehoseDeliveryStreamServerSideEncryptionArgs', + 'FirehoseDeliveryStreamSnowflakeConfigurationArgs', + 'FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs', + 'FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs', + 'FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs', + 'FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs', + 'FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs', + 'FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs', + 'FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs', + 'FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs', 'FirehoseDeliveryStreamSplunkConfigurationArgs', 'FirehoseDeliveryStreamSplunkConfigurationCloudwatchLoggingOptionsArgs', 'FirehoseDeliveryStreamSplunkConfigurationProcessingConfigurationArgs', @@ -6207,6 +6216,735 @@ def key_type(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "key_type", value) +@pulumi.input_type +class FirehoseDeliveryStreamSnowflakeConfigurationArgs: + def __init__(__self__, *, + account_url: pulumi.Input[str], + database: pulumi.Input[str], + private_key: pulumi.Input[str], + role_arn: pulumi.Input[str], + s3_configuration: pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs'], + schema: pulumi.Input[str], + table: pulumi.Input[str], + user: pulumi.Input[str], + cloudwatch_logging_options: Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs']] = None, + content_column_name: Optional[pulumi.Input[str]] = None, + data_loading_option: Optional[pulumi.Input[str]] = None, + key_passphrase: Optional[pulumi.Input[str]] = None, + metadata_column_name: Optional[pulumi.Input[str]] = None, + processing_configuration: Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs']] = None, + retry_duration: Optional[pulumi.Input[int]] = None, + s3_backup_mode: Optional[pulumi.Input[str]] = None, + snowflake_role_configuration: Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs']] = None, + snowflake_vpc_configuration: Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs']] = None): + """ + :param pulumi.Input[str] account_url: The URL of the Snowflake account. Format: https://[account_identifier].snowflakecomputing.com. + :param pulumi.Input[str] database: The Snowflake database name. + :param pulumi.Input[str] private_key: The private key for authentication. + :param pulumi.Input[str] role_arn: The ARN of the IAM role. + :param pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs'] s3_configuration: The S3 configuration. See `s3_configuration` block below for details. + :param pulumi.Input[str] schema: The Snowflake schema name. + :param pulumi.Input[str] table: The Snowflake table name. + :param pulumi.Input[str] user: The user for authentication. + :param pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs'] cloudwatch_logging_options: The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + :param pulumi.Input[str] content_column_name: The name of the content column. + :param pulumi.Input[str] data_loading_option: The data loading option. + :param pulumi.Input[str] key_passphrase: The passphrase for the private key. + :param pulumi.Input[str] metadata_column_name: The name of the metadata column. + :param pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs'] processing_configuration: The processing configuration. See `processing_configuration` block below for details. + :param pulumi.Input[int] retry_duration: After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + :param pulumi.Input[str] s3_backup_mode: The S3 backup mode. + :param pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs'] snowflake_role_configuration: The configuration for Snowflake role. + :param pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs'] snowflake_vpc_configuration: The VPC configuration for Snowflake. + """ + pulumi.set(__self__, "account_url", account_url) + pulumi.set(__self__, "database", database) + pulumi.set(__self__, "private_key", private_key) + pulumi.set(__self__, "role_arn", role_arn) + pulumi.set(__self__, "s3_configuration", s3_configuration) + pulumi.set(__self__, "schema", schema) + pulumi.set(__self__, "table", table) + pulumi.set(__self__, "user", user) + if cloudwatch_logging_options is not None: + pulumi.set(__self__, "cloudwatch_logging_options", cloudwatch_logging_options) + if content_column_name is not None: + pulumi.set(__self__, "content_column_name", content_column_name) + if data_loading_option is not None: + pulumi.set(__self__, "data_loading_option", data_loading_option) + if key_passphrase is not None: + pulumi.set(__self__, "key_passphrase", key_passphrase) + if metadata_column_name is not None: + pulumi.set(__self__, "metadata_column_name", metadata_column_name) + if processing_configuration is not None: + pulumi.set(__self__, "processing_configuration", processing_configuration) + if retry_duration is not None: + pulumi.set(__self__, "retry_duration", retry_duration) + if s3_backup_mode is not None: + pulumi.set(__self__, "s3_backup_mode", s3_backup_mode) + if snowflake_role_configuration is not None: + pulumi.set(__self__, "snowflake_role_configuration", snowflake_role_configuration) + if snowflake_vpc_configuration is not None: + pulumi.set(__self__, "snowflake_vpc_configuration", snowflake_vpc_configuration) + + @property + @pulumi.getter(name="accountUrl") + def account_url(self) -> pulumi.Input[str]: + """ + The URL of the Snowflake account. Format: https://[account_identifier].snowflakecomputing.com. + """ + return pulumi.get(self, "account_url") + + @account_url.setter + def account_url(self, value: pulumi.Input[str]): + pulumi.set(self, "account_url", value) + + @property + @pulumi.getter + def database(self) -> pulumi.Input[str]: + """ + The Snowflake database name. + """ + return pulumi.get(self, "database") + + @database.setter + def database(self, value: pulumi.Input[str]): + pulumi.set(self, "database", value) + + @property + @pulumi.getter(name="privateKey") + def private_key(self) -> pulumi.Input[str]: + """ + The private key for authentication. + """ + return pulumi.get(self, "private_key") + + @private_key.setter + def private_key(self, value: pulumi.Input[str]): + pulumi.set(self, "private_key", value) + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> pulumi.Input[str]: + """ + The ARN of the IAM role. + """ + return pulumi.get(self, "role_arn") + + @role_arn.setter + def role_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "role_arn", value) + + @property + @pulumi.getter(name="s3Configuration") + def s3_configuration(self) -> pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs']: + """ + The S3 configuration. See `s3_configuration` block below for details. + """ + return pulumi.get(self, "s3_configuration") + + @s3_configuration.setter + def s3_configuration(self, value: pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs']): + pulumi.set(self, "s3_configuration", value) + + @property + @pulumi.getter + def schema(self) -> pulumi.Input[str]: + """ + The Snowflake schema name. + """ + return pulumi.get(self, "schema") + + @schema.setter + def schema(self, value: pulumi.Input[str]): + pulumi.set(self, "schema", value) + + @property + @pulumi.getter + def table(self) -> pulumi.Input[str]: + """ + The Snowflake table name. + """ + return pulumi.get(self, "table") + + @table.setter + def table(self, value: pulumi.Input[str]): + pulumi.set(self, "table", value) + + @property + @pulumi.getter + def user(self) -> pulumi.Input[str]: + """ + The user for authentication. + """ + return pulumi.get(self, "user") + + @user.setter + def user(self, value: pulumi.Input[str]): + pulumi.set(self, "user", value) + + @property + @pulumi.getter(name="cloudwatchLoggingOptions") + def cloudwatch_logging_options(self) -> Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs']]: + """ + The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + """ + return pulumi.get(self, "cloudwatch_logging_options") + + @cloudwatch_logging_options.setter + def cloudwatch_logging_options(self, value: Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs']]): + pulumi.set(self, "cloudwatch_logging_options", value) + + @property + @pulumi.getter(name="contentColumnName") + def content_column_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the content column. + """ + return pulumi.get(self, "content_column_name") + + @content_column_name.setter + def content_column_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "content_column_name", value) + + @property + @pulumi.getter(name="dataLoadingOption") + def data_loading_option(self) -> Optional[pulumi.Input[str]]: + """ + The data loading option. + """ + return pulumi.get(self, "data_loading_option") + + @data_loading_option.setter + def data_loading_option(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "data_loading_option", value) + + @property + @pulumi.getter(name="keyPassphrase") + def key_passphrase(self) -> Optional[pulumi.Input[str]]: + """ + The passphrase for the private key. + """ + return pulumi.get(self, "key_passphrase") + + @key_passphrase.setter + def key_passphrase(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "key_passphrase", value) + + @property + @pulumi.getter(name="metadataColumnName") + def metadata_column_name(self) -> Optional[pulumi.Input[str]]: + """ + The name of the metadata column. + """ + return pulumi.get(self, "metadata_column_name") + + @metadata_column_name.setter + def metadata_column_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "metadata_column_name", value) + + @property + @pulumi.getter(name="processingConfiguration") + def processing_configuration(self) -> Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs']]: + """ + The processing configuration. See `processing_configuration` block below for details. + """ + return pulumi.get(self, "processing_configuration") + + @processing_configuration.setter + def processing_configuration(self, value: Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs']]): + pulumi.set(self, "processing_configuration", value) + + @property + @pulumi.getter(name="retryDuration") + def retry_duration(self) -> Optional[pulumi.Input[int]]: + """ + After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + """ + return pulumi.get(self, "retry_duration") + + @retry_duration.setter + def retry_duration(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "retry_duration", value) + + @property + @pulumi.getter(name="s3BackupMode") + def s3_backup_mode(self) -> Optional[pulumi.Input[str]]: + """ + The S3 backup mode. + """ + return pulumi.get(self, "s3_backup_mode") + + @s3_backup_mode.setter + def s3_backup_mode(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "s3_backup_mode", value) + + @property + @pulumi.getter(name="snowflakeRoleConfiguration") + def snowflake_role_configuration(self) -> Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs']]: + """ + The configuration for Snowflake role. + """ + return pulumi.get(self, "snowflake_role_configuration") + + @snowflake_role_configuration.setter + def snowflake_role_configuration(self, value: Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs']]): + pulumi.set(self, "snowflake_role_configuration", value) + + @property + @pulumi.getter(name="snowflakeVpcConfiguration") + def snowflake_vpc_configuration(self) -> Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs']]: + """ + The VPC configuration for Snowflake. + """ + return pulumi.get(self, "snowflake_vpc_configuration") + + @snowflake_vpc_configuration.setter + def snowflake_vpc_configuration(self, value: Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs']]): + pulumi.set(self, "snowflake_vpc_configuration", value) + + +@pulumi.input_type +class FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None, + log_group_name: Optional[pulumi.Input[str]] = None, + log_stream_name: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[bool] enabled: Enables or disables the logging. Defaults to `false`. + :param pulumi.Input[str] log_group_name: The CloudWatch group name for logging. This value is required if `enabled` is true. + :param pulumi.Input[str] log_stream_name: The CloudWatch log stream name for logging. This value is required if `enabled` is true. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if log_group_name is not None: + pulumi.set(__self__, "log_group_name", log_group_name) + if log_stream_name is not None: + pulumi.set(__self__, "log_stream_name", log_stream_name) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Enables or disables the logging. Defaults to `false`. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="logGroupName") + def log_group_name(self) -> Optional[pulumi.Input[str]]: + """ + The CloudWatch group name for logging. This value is required if `enabled` is true. + """ + return pulumi.get(self, "log_group_name") + + @log_group_name.setter + def log_group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_group_name", value) + + @property + @pulumi.getter(name="logStreamName") + def log_stream_name(self) -> Optional[pulumi.Input[str]]: + """ + The CloudWatch log stream name for logging. This value is required if `enabled` is true. + """ + return pulumi.get(self, "log_stream_name") + + @log_stream_name.setter + def log_stream_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_stream_name", value) + + +@pulumi.input_type +class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None, + processors: Optional[pulumi.Input[Sequence[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs']]]] = None): + """ + :param pulumi.Input[bool] enabled: Enables or disables data processing. + :param pulumi.Input[Sequence[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs']]] processors: Specifies the data processors as multiple blocks. See `processors` block below for details. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if processors is not None: + pulumi.set(__self__, "processors", processors) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Enables or disables data processing. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter + def processors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs']]]]: + """ + Specifies the data processors as multiple blocks. See `processors` block below for details. + """ + return pulumi.get(self, "processors") + + @processors.setter + def processors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs']]]]): + pulumi.set(self, "processors", value) + + +@pulumi.input_type +class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs: + def __init__(__self__, *, + type: pulumi.Input[str], + parameters: Optional[pulumi.Input[Sequence[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs']]]] = None): + """ + :param pulumi.Input[str] type: The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + :param pulumi.Input[Sequence[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs']]] parameters: Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + """ + pulumi.set(__self__, "type", type) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + + @property + @pulumi.getter + def type(self) -> pulumi.Input[str]: + """ + The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[str]): + pulumi.set(self, "type", value) + + @property + @pulumi.getter + def parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs']]]]: + """ + Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + """ + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs']]]]): + pulumi.set(self, "parameters", value) + + +@pulumi.input_type +class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs: + def __init__(__self__, *, + parameter_name: pulumi.Input[str], + parameter_value: pulumi.Input[str]): + """ + :param pulumi.Input[str] parameter_name: Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + :param pulumi.Input[str] parameter_value: Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + + > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + """ + pulumi.set(__self__, "parameter_name", parameter_name) + pulumi.set(__self__, "parameter_value", parameter_value) + + @property + @pulumi.getter(name="parameterName") + def parameter_name(self) -> pulumi.Input[str]: + """ + Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + """ + return pulumi.get(self, "parameter_name") + + @parameter_name.setter + def parameter_name(self, value: pulumi.Input[str]): + pulumi.set(self, "parameter_name", value) + + @property + @pulumi.getter(name="parameterValue") + def parameter_value(self) -> pulumi.Input[str]: + """ + Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + + > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + """ + return pulumi.get(self, "parameter_value") + + @parameter_value.setter + def parameter_value(self, value: pulumi.Input[str]): + pulumi.set(self, "parameter_value", value) + + +@pulumi.input_type +class FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs: + def __init__(__self__, *, + bucket_arn: pulumi.Input[str], + role_arn: pulumi.Input[str], + buffering_interval: Optional[pulumi.Input[int]] = None, + buffering_size: Optional[pulumi.Input[int]] = None, + cloudwatch_logging_options: Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs']] = None, + compression_format: Optional[pulumi.Input[str]] = None, + error_output_prefix: Optional[pulumi.Input[str]] = None, + kms_key_arn: Optional[pulumi.Input[str]] = None, + prefix: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] bucket_arn: The ARN of the S3 bucket + :param pulumi.Input[str] role_arn: The ARN of the AWS credentials. + :param pulumi.Input[int] buffering_interval: Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + :param pulumi.Input[int] buffering_size: Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + :param pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs'] cloudwatch_logging_options: The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + :param pulumi.Input[str] compression_format: The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + :param pulumi.Input[str] error_output_prefix: Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + :param pulumi.Input[str] kms_key_arn: Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + be used. + :param pulumi.Input[str] prefix: The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + """ + pulumi.set(__self__, "bucket_arn", bucket_arn) + pulumi.set(__self__, "role_arn", role_arn) + if buffering_interval is not None: + pulumi.set(__self__, "buffering_interval", buffering_interval) + if buffering_size is not None: + pulumi.set(__self__, "buffering_size", buffering_size) + if cloudwatch_logging_options is not None: + pulumi.set(__self__, "cloudwatch_logging_options", cloudwatch_logging_options) + if compression_format is not None: + pulumi.set(__self__, "compression_format", compression_format) + if error_output_prefix is not None: + pulumi.set(__self__, "error_output_prefix", error_output_prefix) + if kms_key_arn is not None: + pulumi.set(__self__, "kms_key_arn", kms_key_arn) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + + @property + @pulumi.getter(name="bucketArn") + def bucket_arn(self) -> pulumi.Input[str]: + """ + The ARN of the S3 bucket + """ + return pulumi.get(self, "bucket_arn") + + @bucket_arn.setter + def bucket_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "bucket_arn", value) + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> pulumi.Input[str]: + """ + The ARN of the AWS credentials. + """ + return pulumi.get(self, "role_arn") + + @role_arn.setter + def role_arn(self, value: pulumi.Input[str]): + pulumi.set(self, "role_arn", value) + + @property + @pulumi.getter(name="bufferingInterval") + def buffering_interval(self) -> Optional[pulumi.Input[int]]: + """ + Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + """ + return pulumi.get(self, "buffering_interval") + + @buffering_interval.setter + def buffering_interval(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "buffering_interval", value) + + @property + @pulumi.getter(name="bufferingSize") + def buffering_size(self) -> Optional[pulumi.Input[int]]: + """ + Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + """ + return pulumi.get(self, "buffering_size") + + @buffering_size.setter + def buffering_size(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "buffering_size", value) + + @property + @pulumi.getter(name="cloudwatchLoggingOptions") + def cloudwatch_logging_options(self) -> Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs']]: + """ + The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + """ + return pulumi.get(self, "cloudwatch_logging_options") + + @cloudwatch_logging_options.setter + def cloudwatch_logging_options(self, value: Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs']]): + pulumi.set(self, "cloudwatch_logging_options", value) + + @property + @pulumi.getter(name="compressionFormat") + def compression_format(self) -> Optional[pulumi.Input[str]]: + """ + The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + """ + return pulumi.get(self, "compression_format") + + @compression_format.setter + def compression_format(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "compression_format", value) + + @property + @pulumi.getter(name="errorOutputPrefix") + def error_output_prefix(self) -> Optional[pulumi.Input[str]]: + """ + Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + """ + return pulumi.get(self, "error_output_prefix") + + @error_output_prefix.setter + def error_output_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "error_output_prefix", value) + + @property + @pulumi.getter(name="kmsKeyArn") + def kms_key_arn(self) -> Optional[pulumi.Input[str]]: + """ + Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + be used. + """ + return pulumi.get(self, "kms_key_arn") + + @kms_key_arn.setter + def kms_key_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_key_arn", value) + + @property + @pulumi.getter + def prefix(self) -> Optional[pulumi.Input[str]]: + """ + The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + """ + return pulumi.get(self, "prefix") + + @prefix.setter + def prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "prefix", value) + + +@pulumi.input_type +class FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None, + log_group_name: Optional[pulumi.Input[str]] = None, + log_stream_name: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[bool] enabled: Enables or disables the logging. Defaults to `false`. + :param pulumi.Input[str] log_group_name: The CloudWatch group name for logging. This value is required if `enabled` is true. + :param pulumi.Input[str] log_stream_name: The CloudWatch log stream name for logging. This value is required if `enabled` is true. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if log_group_name is not None: + pulumi.set(__self__, "log_group_name", log_group_name) + if log_stream_name is not None: + pulumi.set(__self__, "log_stream_name", log_stream_name) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Enables or disables the logging. Defaults to `false`. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="logGroupName") + def log_group_name(self) -> Optional[pulumi.Input[str]]: + """ + The CloudWatch group name for logging. This value is required if `enabled` is true. + """ + return pulumi.get(self, "log_group_name") + + @log_group_name.setter + def log_group_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_group_name", value) + + @property + @pulumi.getter(name="logStreamName") + def log_stream_name(self) -> Optional[pulumi.Input[str]]: + """ + The CloudWatch log stream name for logging. This value is required if `enabled` is true. + """ + return pulumi.get(self, "log_stream_name") + + @log_stream_name.setter + def log_stream_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "log_stream_name", value) + + +@pulumi.input_type +class FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs: + def __init__(__self__, *, + enabled: Optional[pulumi.Input[bool]] = None, + snowflake_role: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[bool] enabled: Whether the Snowflake role is enabled. + :param pulumi.Input[str] snowflake_role: The Snowflake role. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if snowflake_role is not None: + pulumi.set(__self__, "snowflake_role", snowflake_role) + + @property + @pulumi.getter + def enabled(self) -> Optional[pulumi.Input[bool]]: + """ + Whether the Snowflake role is enabled. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enabled", value) + + @property + @pulumi.getter(name="snowflakeRole") + def snowflake_role(self) -> Optional[pulumi.Input[str]]: + """ + The Snowflake role. + """ + return pulumi.get(self, "snowflake_role") + + @snowflake_role.setter + def snowflake_role(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "snowflake_role", value) + + +@pulumi.input_type +class FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs: + def __init__(__self__, *, + private_link_vpce_id: pulumi.Input[str]): + """ + :param pulumi.Input[str] private_link_vpce_id: The VPCE ID for Firehose to privately connect with Snowflake. + """ + pulumi.set(__self__, "private_link_vpce_id", private_link_vpce_id) + + @property + @pulumi.getter(name="privateLinkVpceId") + def private_link_vpce_id(self) -> pulumi.Input[str]: + """ + The VPCE ID for Firehose to privately connect with Snowflake. + """ + return pulumi.get(self, "private_link_vpce_id") + + @private_link_vpce_id.setter + def private_link_vpce_id(self, value: pulumi.Input[str]): + pulumi.set(self, "private_link_vpce_id", value) + + @pulumi.input_type class FirehoseDeliveryStreamSplunkConfigurationArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/kinesis/firehose_delivery_stream.py b/sdk/python/pulumi_aws/kinesis/firehose_delivery_stream.py index 68726075cd0..5c517a7357f 100644 --- a/sdk/python/pulumi_aws/kinesis/firehose_delivery_stream.py +++ b/sdk/python/pulumi_aws/kinesis/firehose_delivery_stream.py @@ -29,12 +29,13 @@ def __init__(__self__, *, opensearchserverless_configuration: Optional[pulumi.Input['FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs']] = None, redshift_configuration: Optional[pulumi.Input['FirehoseDeliveryStreamRedshiftConfigurationArgs']] = None, server_side_encryption: Optional[pulumi.Input['FirehoseDeliveryStreamServerSideEncryptionArgs']] = None, + snowflake_configuration: Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationArgs']] = None, splunk_configuration: Optional[pulumi.Input['FirehoseDeliveryStreamSplunkConfigurationArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, version_id: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a FirehoseDeliveryStream resource. - :param pulumi.Input[str] destination: This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + :param pulumi.Input[str] destination: This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) specifying the Stream :param pulumi.Input['FirehoseDeliveryStreamElasticsearchConfigurationArgs'] elasticsearch_configuration: Configuration options when `destination` is `elasticsearch`. See `elasticsearch_configuration` block below for details. :param pulumi.Input['FirehoseDeliveryStreamExtendedS3ConfigurationArgs'] extended_s3_configuration: Enhanced configuration options for the s3 destination. See `extended_s3_configuration` block below for details. @@ -48,6 +49,7 @@ def __init__(__self__, *, :param pulumi.Input['FirehoseDeliveryStreamServerSideEncryptionArgs'] server_side_encryption: Encrypt at rest options. See `server_side_encryption` block below for details. **NOTE:** Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream. + :param pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationArgs'] snowflake_configuration: Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. :param pulumi.Input['FirehoseDeliveryStreamSplunkConfigurationArgs'] splunk_configuration: Configuration options when `destination` is `splunk`. See `splunk_configuration` block below for details. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ @@ -76,6 +78,8 @@ def __init__(__self__, *, pulumi.set(__self__, "redshift_configuration", redshift_configuration) if server_side_encryption is not None: pulumi.set(__self__, "server_side_encryption", server_side_encryption) + if snowflake_configuration is not None: + pulumi.set(__self__, "snowflake_configuration", snowflake_configuration) if splunk_configuration is not None: pulumi.set(__self__, "splunk_configuration", splunk_configuration) if tags is not None: @@ -87,7 +91,7 @@ def __init__(__self__, *, @pulumi.getter def destination(self) -> pulumi.Input[str]: """ - This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. """ return pulumi.get(self, "destination") @@ -238,6 +242,18 @@ def server_side_encryption(self) -> Optional[pulumi.Input['FirehoseDeliveryStrea def server_side_encryption(self, value: Optional[pulumi.Input['FirehoseDeliveryStreamServerSideEncryptionArgs']]): pulumi.set(self, "server_side_encryption", value) + @property + @pulumi.getter(name="snowflakeConfiguration") + def snowflake_configuration(self) -> Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationArgs']]: + """ + Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + """ + return pulumi.get(self, "snowflake_configuration") + + @snowflake_configuration.setter + def snowflake_configuration(self, value: Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationArgs']]): + pulumi.set(self, "snowflake_configuration", value) + @property @pulumi.getter(name="splunkConfiguration") def splunk_configuration(self) -> Optional[pulumi.Input['FirehoseDeliveryStreamSplunkConfigurationArgs']]: @@ -288,6 +304,7 @@ def __init__(__self__, *, opensearchserverless_configuration: Optional[pulumi.Input['FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs']] = None, redshift_configuration: Optional[pulumi.Input['FirehoseDeliveryStreamRedshiftConfigurationArgs']] = None, server_side_encryption: Optional[pulumi.Input['FirehoseDeliveryStreamServerSideEncryptionArgs']] = None, + snowflake_configuration: Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationArgs']] = None, splunk_configuration: Optional[pulumi.Input['FirehoseDeliveryStreamSplunkConfigurationArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -295,7 +312,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering FirehoseDeliveryStream resources. :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) specifying the Stream - :param pulumi.Input[str] destination: This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + :param pulumi.Input[str] destination: This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. :param pulumi.Input['FirehoseDeliveryStreamElasticsearchConfigurationArgs'] elasticsearch_configuration: Configuration options when `destination` is `elasticsearch`. See `elasticsearch_configuration` block below for details. :param pulumi.Input['FirehoseDeliveryStreamExtendedS3ConfigurationArgs'] extended_s3_configuration: Enhanced configuration options for the s3 destination. See `extended_s3_configuration` block below for details. :param pulumi.Input['FirehoseDeliveryStreamHttpEndpointConfigurationArgs'] http_endpoint_configuration: Configuration options when `destination` is `http_endpoint`. Requires the user to also specify an `s3_configuration` block. See `http_endpoint_configuration` block below for details. @@ -308,6 +325,7 @@ def __init__(__self__, *, :param pulumi.Input['FirehoseDeliveryStreamServerSideEncryptionArgs'] server_side_encryption: Encrypt at rest options. See `server_side_encryption` block below for details. **NOTE:** Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream. + :param pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationArgs'] snowflake_configuration: Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. :param pulumi.Input['FirehoseDeliveryStreamSplunkConfigurationArgs'] splunk_configuration: Configuration options when `destination` is `splunk`. See `splunk_configuration` block below for details. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -338,6 +356,8 @@ def __init__(__self__, *, pulumi.set(__self__, "redshift_configuration", redshift_configuration) if server_side_encryption is not None: pulumi.set(__self__, "server_side_encryption", server_side_encryption) + if snowflake_configuration is not None: + pulumi.set(__self__, "snowflake_configuration", snowflake_configuration) if splunk_configuration is not None: pulumi.set(__self__, "splunk_configuration", splunk_configuration) if tags is not None: @@ -366,7 +386,7 @@ def arn(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def destination(self) -> Optional[pulumi.Input[str]]: """ - This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. """ return pulumi.get(self, "destination") @@ -505,6 +525,18 @@ def server_side_encryption(self) -> Optional[pulumi.Input['FirehoseDeliveryStrea def server_side_encryption(self, value: Optional[pulumi.Input['FirehoseDeliveryStreamServerSideEncryptionArgs']]): pulumi.set(self, "server_side_encryption", value) + @property + @pulumi.getter(name="snowflakeConfiguration") + def snowflake_configuration(self) -> Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationArgs']]: + """ + Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + """ + return pulumi.get(self, "snowflake_configuration") + + @snowflake_configuration.setter + def snowflake_configuration(self, value: Optional[pulumi.Input['FirehoseDeliveryStreamSnowflakeConfigurationArgs']]): + pulumi.set(self, "snowflake_configuration", value) + @property @pulumi.getter(name="splunkConfiguration") def splunk_configuration(self) -> Optional[pulumi.Input['FirehoseDeliveryStreamSplunkConfigurationArgs']]: @@ -572,12 +604,13 @@ def __init__(__self__, opensearchserverless_configuration: Optional[pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs']]] = None, redshift_configuration: Optional[pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamRedshiftConfigurationArgs']]] = None, server_side_encryption: Optional[pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamServerSideEncryptionArgs']]] = None, + snowflake_configuration: Optional[pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamSnowflakeConfigurationArgs']]] = None, splunk_configuration: Optional[pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamSplunkConfigurationArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, version_id: Optional[pulumi.Input[str]] = None, __props__=None): """ - Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 and Amazon Redshift. + Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 , Amazon Redshift and Snowflake. For more details, see the [Amazon Kinesis Firehose Documentation](https://aws.amazon.com/documentation/firehose/). @@ -1098,6 +1131,33 @@ def __init__(__self__, )) ``` + ### Snowflake Destination + + ```python + import pulumi + import pulumi_aws as aws + + example_snowflake_destination = aws.kinesis.FirehoseDeliveryStream("example_snowflake_destination", + name="example-snowflake-destination", + destination="snowflake", + snowflake_configuration=aws.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationArgs( + account_url="https://example.snowflakecomputing.com", + database="example-db", + private_key="...", + role_arn=firehose["arn"], + schema="example-schema", + table="example-table", + user="example-usr", + s3_configuration=aws.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs( + role_arn=firehose["arn"], + bucket_arn=bucket["arn"], + buffering_size=10, + buffering_interval=400, + compression_format="GZIP", + ), + )) + ``` + ## Import Using `pulumi import`, import Kinesis Firehose Delivery streams using the stream ARN. For example: @@ -1110,7 +1170,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) specifying the Stream - :param pulumi.Input[str] destination: This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + :param pulumi.Input[str] destination: This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. :param pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamElasticsearchConfigurationArgs']] elasticsearch_configuration: Configuration options when `destination` is `elasticsearch`. See `elasticsearch_configuration` block below for details. :param pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamExtendedS3ConfigurationArgs']] extended_s3_configuration: Enhanced configuration options for the s3 destination. See `extended_s3_configuration` block below for details. :param pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamHttpEndpointConfigurationArgs']] http_endpoint_configuration: Configuration options when `destination` is `http_endpoint`. Requires the user to also specify an `s3_configuration` block. See `http_endpoint_configuration` block below for details. @@ -1123,6 +1183,7 @@ def __init__(__self__, :param pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamServerSideEncryptionArgs']] server_side_encryption: Encrypt at rest options. See `server_side_encryption` block below for details. **NOTE:** Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream. + :param pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamSnowflakeConfigurationArgs']] snowflake_configuration: Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. :param pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamSplunkConfigurationArgs']] splunk_configuration: Configuration options when `destination` is `splunk`. See `splunk_configuration` block below for details. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ @@ -1133,7 +1194,7 @@ def __init__(__self__, args: FirehoseDeliveryStreamArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 and Amazon Redshift. + Provides a Kinesis Firehose Delivery Stream resource. Amazon Kinesis Firehose is a fully managed, elastic service to easily deliver real-time data streams to destinations such as Amazon S3 , Amazon Redshift and Snowflake. For more details, see the [Amazon Kinesis Firehose Documentation](https://aws.amazon.com/documentation/firehose/). @@ -1654,6 +1715,33 @@ def __init__(__self__, )) ``` + ### Snowflake Destination + + ```python + import pulumi + import pulumi_aws as aws + + example_snowflake_destination = aws.kinesis.FirehoseDeliveryStream("example_snowflake_destination", + name="example-snowflake-destination", + destination="snowflake", + snowflake_configuration=aws.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationArgs( + account_url="https://example.snowflakecomputing.com", + database="example-db", + private_key="...", + role_arn=firehose["arn"], + schema="example-schema", + table="example-table", + user="example-usr", + s3_configuration=aws.kinesis.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs( + role_arn=firehose["arn"], + bucket_arn=bucket["arn"], + buffering_size=10, + buffering_interval=400, + compression_format="GZIP", + ), + )) + ``` + ## Import Using `pulumi import`, import Kinesis Firehose Delivery streams using the stream ARN. For example: @@ -1691,6 +1779,7 @@ def _internal_init(__self__, opensearchserverless_configuration: Optional[pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs']]] = None, redshift_configuration: Optional[pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamRedshiftConfigurationArgs']]] = None, server_side_encryption: Optional[pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamServerSideEncryptionArgs']]] = None, + snowflake_configuration: Optional[pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamSnowflakeConfigurationArgs']]] = None, splunk_configuration: Optional[pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamSplunkConfigurationArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, version_id: Optional[pulumi.Input[str]] = None, @@ -1718,6 +1807,7 @@ def _internal_init(__self__, __props__.__dict__["opensearchserverless_configuration"] = opensearchserverless_configuration __props__.__dict__["redshift_configuration"] = redshift_configuration __props__.__dict__["server_side_encryption"] = server_side_encryption + __props__.__dict__["snowflake_configuration"] = snowflake_configuration __props__.__dict__["splunk_configuration"] = splunk_configuration __props__.__dict__["tags"] = tags __props__.__dict__["version_id"] = version_id @@ -1745,6 +1835,7 @@ def get(resource_name: str, opensearchserverless_configuration: Optional[pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamOpensearchserverlessConfigurationArgs']]] = None, redshift_configuration: Optional[pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamRedshiftConfigurationArgs']]] = None, server_side_encryption: Optional[pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamServerSideEncryptionArgs']]] = None, + snowflake_configuration: Optional[pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamSnowflakeConfigurationArgs']]] = None, splunk_configuration: Optional[pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamSplunkConfigurationArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -1757,7 +1848,7 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) specifying the Stream - :param pulumi.Input[str] destination: This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + :param pulumi.Input[str] destination: This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. :param pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamElasticsearchConfigurationArgs']] elasticsearch_configuration: Configuration options when `destination` is `elasticsearch`. See `elasticsearch_configuration` block below for details. :param pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamExtendedS3ConfigurationArgs']] extended_s3_configuration: Enhanced configuration options for the s3 destination. See `extended_s3_configuration` block below for details. :param pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamHttpEndpointConfigurationArgs']] http_endpoint_configuration: Configuration options when `destination` is `http_endpoint`. Requires the user to also specify an `s3_configuration` block. See `http_endpoint_configuration` block below for details. @@ -1770,6 +1861,7 @@ def get(resource_name: str, :param pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamServerSideEncryptionArgs']] server_side_encryption: Encrypt at rest options. See `server_side_encryption` block below for details. **NOTE:** Server-side encryption should not be enabled when a kinesis stream is configured as the source of the firehose delivery stream. + :param pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamSnowflakeConfigurationArgs']] snowflake_configuration: Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. :param pulumi.Input[pulumi.InputType['FirehoseDeliveryStreamSplunkConfigurationArgs']] splunk_configuration: Configuration options when `destination` is `splunk`. See `splunk_configuration` block below for details. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -1791,6 +1883,7 @@ def get(resource_name: str, __props__.__dict__["opensearchserverless_configuration"] = opensearchserverless_configuration __props__.__dict__["redshift_configuration"] = redshift_configuration __props__.__dict__["server_side_encryption"] = server_side_encryption + __props__.__dict__["snowflake_configuration"] = snowflake_configuration __props__.__dict__["splunk_configuration"] = splunk_configuration __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all @@ -1809,7 +1902,7 @@ def arn(self) -> pulumi.Output[str]: @pulumi.getter def destination(self) -> pulumi.Output[str]: """ - This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch` and `opensearchserverless`. + This is the destination to where the data is delivered. The only options are `s3` (Deprecated, use `extended_s3` instead), `extended_s3`, `redshift`, `elasticsearch`, `splunk`, `http_endpoint`, `opensearch`, `opensearchserverless` and `snowflake`. """ return pulumi.get(self, "destination") @@ -1900,6 +1993,14 @@ def server_side_encryption(self) -> pulumi.Output[Optional['outputs.FirehoseDeli """ return pulumi.get(self, "server_side_encryption") + @property + @pulumi.getter(name="snowflakeConfiguration") + def snowflake_configuration(self) -> pulumi.Output[Optional['outputs.FirehoseDeliveryStreamSnowflakeConfiguration']]: + """ + Configuration options when `destination` is `snowflake`. See `snowflake_configuration` block below for details. + """ + return pulumi.get(self, "snowflake_configuration") + @property @pulumi.getter(name="splunkConfiguration") def splunk_configuration(self) -> pulumi.Output[Optional['outputs.FirehoseDeliveryStreamSplunkConfiguration']]: diff --git a/sdk/python/pulumi_aws/kinesis/outputs.py b/sdk/python/pulumi_aws/kinesis/outputs.py index 75f5ca7990f..644471300d0 100644 --- a/sdk/python/pulumi_aws/kinesis/outputs.py +++ b/sdk/python/pulumi_aws/kinesis/outputs.py @@ -103,6 +103,15 @@ 'FirehoseDeliveryStreamRedshiftConfigurationS3Configuration', 'FirehoseDeliveryStreamRedshiftConfigurationS3ConfigurationCloudwatchLoggingOptions', 'FirehoseDeliveryStreamServerSideEncryption', + 'FirehoseDeliveryStreamSnowflakeConfiguration', + 'FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions', + 'FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration', + 'FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor', + 'FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter', + 'FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration', + 'FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions', + 'FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration', + 'FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration', 'FirehoseDeliveryStreamSplunkConfiguration', 'FirehoseDeliveryStreamSplunkConfigurationCloudwatchLoggingOptions', 'FirehoseDeliveryStreamSplunkConfigurationProcessingConfiguration', @@ -6459,6 +6468,732 @@ def key_type(self) -> Optional[str]: return pulumi.get(self, "key_type") +@pulumi.output_type +class FirehoseDeliveryStreamSnowflakeConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accountUrl": + suggest = "account_url" + elif key == "privateKey": + suggest = "private_key" + elif key == "roleArn": + suggest = "role_arn" + elif key == "s3Configuration": + suggest = "s3_configuration" + elif key == "cloudwatchLoggingOptions": + suggest = "cloudwatch_logging_options" + elif key == "contentColumnName": + suggest = "content_column_name" + elif key == "dataLoadingOption": + suggest = "data_loading_option" + elif key == "keyPassphrase": + suggest = "key_passphrase" + elif key == "metadataColumnName": + suggest = "metadata_column_name" + elif key == "processingConfiguration": + suggest = "processing_configuration" + elif key == "retryDuration": + suggest = "retry_duration" + elif key == "s3BackupMode": + suggest = "s3_backup_mode" + elif key == "snowflakeRoleConfiguration": + suggest = "snowflake_role_configuration" + elif key == "snowflakeVpcConfiguration": + suggest = "snowflake_vpc_configuration" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FirehoseDeliveryStreamSnowflakeConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FirehoseDeliveryStreamSnowflakeConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FirehoseDeliveryStreamSnowflakeConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + account_url: str, + database: str, + private_key: str, + role_arn: str, + s3_configuration: 'outputs.FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration', + schema: str, + table: str, + user: str, + cloudwatch_logging_options: Optional['outputs.FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions'] = None, + content_column_name: Optional[str] = None, + data_loading_option: Optional[str] = None, + key_passphrase: Optional[str] = None, + metadata_column_name: Optional[str] = None, + processing_configuration: Optional['outputs.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration'] = None, + retry_duration: Optional[int] = None, + s3_backup_mode: Optional[str] = None, + snowflake_role_configuration: Optional['outputs.FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration'] = None, + snowflake_vpc_configuration: Optional['outputs.FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration'] = None): + """ + :param str account_url: The URL of the Snowflake account. Format: https://[account_identifier].snowflakecomputing.com. + :param str database: The Snowflake database name. + :param str private_key: The private key for authentication. + :param str role_arn: The ARN of the IAM role. + :param 'FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationArgs' s3_configuration: The S3 configuration. See `s3_configuration` block below for details. + :param str schema: The Snowflake schema name. + :param str table: The Snowflake table name. + :param str user: The user for authentication. + :param 'FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptionsArgs' cloudwatch_logging_options: The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + :param str content_column_name: The name of the content column. + :param str data_loading_option: The data loading option. + :param str key_passphrase: The passphrase for the private key. + :param str metadata_column_name: The name of the metadata column. + :param 'FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationArgs' processing_configuration: The processing configuration. See `processing_configuration` block below for details. + :param int retry_duration: After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + :param str s3_backup_mode: The S3 backup mode. + :param 'FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfigurationArgs' snowflake_role_configuration: The configuration for Snowflake role. + :param 'FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfigurationArgs' snowflake_vpc_configuration: The VPC configuration for Snowflake. + """ + pulumi.set(__self__, "account_url", account_url) + pulumi.set(__self__, "database", database) + pulumi.set(__self__, "private_key", private_key) + pulumi.set(__self__, "role_arn", role_arn) + pulumi.set(__self__, "s3_configuration", s3_configuration) + pulumi.set(__self__, "schema", schema) + pulumi.set(__self__, "table", table) + pulumi.set(__self__, "user", user) + if cloudwatch_logging_options is not None: + pulumi.set(__self__, "cloudwatch_logging_options", cloudwatch_logging_options) + if content_column_name is not None: + pulumi.set(__self__, "content_column_name", content_column_name) + if data_loading_option is not None: + pulumi.set(__self__, "data_loading_option", data_loading_option) + if key_passphrase is not None: + pulumi.set(__self__, "key_passphrase", key_passphrase) + if metadata_column_name is not None: + pulumi.set(__self__, "metadata_column_name", metadata_column_name) + if processing_configuration is not None: + pulumi.set(__self__, "processing_configuration", processing_configuration) + if retry_duration is not None: + pulumi.set(__self__, "retry_duration", retry_duration) + if s3_backup_mode is not None: + pulumi.set(__self__, "s3_backup_mode", s3_backup_mode) + if snowflake_role_configuration is not None: + pulumi.set(__self__, "snowflake_role_configuration", snowflake_role_configuration) + if snowflake_vpc_configuration is not None: + pulumi.set(__self__, "snowflake_vpc_configuration", snowflake_vpc_configuration) + + @property + @pulumi.getter(name="accountUrl") + def account_url(self) -> str: + """ + The URL of the Snowflake account. Format: https://[account_identifier].snowflakecomputing.com. + """ + return pulumi.get(self, "account_url") + + @property + @pulumi.getter + def database(self) -> str: + """ + The Snowflake database name. + """ + return pulumi.get(self, "database") + + @property + @pulumi.getter(name="privateKey") + def private_key(self) -> str: + """ + The private key for authentication. + """ + return pulumi.get(self, "private_key") + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> str: + """ + The ARN of the IAM role. + """ + return pulumi.get(self, "role_arn") + + @property + @pulumi.getter(name="s3Configuration") + def s3_configuration(self) -> 'outputs.FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration': + """ + The S3 configuration. See `s3_configuration` block below for details. + """ + return pulumi.get(self, "s3_configuration") + + @property + @pulumi.getter + def schema(self) -> str: + """ + The Snowflake schema name. + """ + return pulumi.get(self, "schema") + + @property + @pulumi.getter + def table(self) -> str: + """ + The Snowflake table name. + """ + return pulumi.get(self, "table") + + @property + @pulumi.getter + def user(self) -> str: + """ + The user for authentication. + """ + return pulumi.get(self, "user") + + @property + @pulumi.getter(name="cloudwatchLoggingOptions") + def cloudwatch_logging_options(self) -> Optional['outputs.FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions']: + """ + The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + """ + return pulumi.get(self, "cloudwatch_logging_options") + + @property + @pulumi.getter(name="contentColumnName") + def content_column_name(self) -> Optional[str]: + """ + The name of the content column. + """ + return pulumi.get(self, "content_column_name") + + @property + @pulumi.getter(name="dataLoadingOption") + def data_loading_option(self) -> Optional[str]: + """ + The data loading option. + """ + return pulumi.get(self, "data_loading_option") + + @property + @pulumi.getter(name="keyPassphrase") + def key_passphrase(self) -> Optional[str]: + """ + The passphrase for the private key. + """ + return pulumi.get(self, "key_passphrase") + + @property + @pulumi.getter(name="metadataColumnName") + def metadata_column_name(self) -> Optional[str]: + """ + The name of the metadata column. + """ + return pulumi.get(self, "metadata_column_name") + + @property + @pulumi.getter(name="processingConfiguration") + def processing_configuration(self) -> Optional['outputs.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration']: + """ + The processing configuration. See `processing_configuration` block below for details. + """ + return pulumi.get(self, "processing_configuration") + + @property + @pulumi.getter(name="retryDuration") + def retry_duration(self) -> Optional[int]: + """ + After an initial failure to deliver to Snowflake, the total amount of time, in seconds between 0 to 7200, during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. The default value is 60s. There will be no retry if the value is 0. + """ + return pulumi.get(self, "retry_duration") + + @property + @pulumi.getter(name="s3BackupMode") + def s3_backup_mode(self) -> Optional[str]: + """ + The S3 backup mode. + """ + return pulumi.get(self, "s3_backup_mode") + + @property + @pulumi.getter(name="snowflakeRoleConfiguration") + def snowflake_role_configuration(self) -> Optional['outputs.FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration']: + """ + The configuration for Snowflake role. + """ + return pulumi.get(self, "snowflake_role_configuration") + + @property + @pulumi.getter(name="snowflakeVpcConfiguration") + def snowflake_vpc_configuration(self) -> Optional['outputs.FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration']: + """ + The VPC configuration for Snowflake. + """ + return pulumi.get(self, "snowflake_vpc_configuration") + + +@pulumi.output_type +class FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "logGroupName": + suggest = "log_group_name" + elif key == "logStreamName": + suggest = "log_stream_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FirehoseDeliveryStreamSnowflakeConfigurationCloudwatchLoggingOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: Optional[bool] = None, + log_group_name: Optional[str] = None, + log_stream_name: Optional[str] = None): + """ + :param bool enabled: Enables or disables the logging. Defaults to `false`. + :param str log_group_name: The CloudWatch group name for logging. This value is required if `enabled` is true. + :param str log_stream_name: The CloudWatch log stream name for logging. This value is required if `enabled` is true. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if log_group_name is not None: + pulumi.set(__self__, "log_group_name", log_group_name) + if log_stream_name is not None: + pulumi.set(__self__, "log_stream_name", log_stream_name) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Enables or disables the logging. Defaults to `false`. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="logGroupName") + def log_group_name(self) -> Optional[str]: + """ + The CloudWatch group name for logging. This value is required if `enabled` is true. + """ + return pulumi.get(self, "log_group_name") + + @property + @pulumi.getter(name="logStreamName") + def log_stream_name(self) -> Optional[str]: + """ + The CloudWatch log stream name for logging. This value is required if `enabled` is true. + """ + return pulumi.get(self, "log_stream_name") + + +@pulumi.output_type +class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfiguration(dict): + def __init__(__self__, *, + enabled: Optional[bool] = None, + processors: Optional[Sequence['outputs.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor']] = None): + """ + :param bool enabled: Enables or disables data processing. + :param Sequence['FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorArgs'] processors: Specifies the data processors as multiple blocks. See `processors` block below for details. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if processors is not None: + pulumi.set(__self__, "processors", processors) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Enables or disables data processing. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter + def processors(self) -> Optional[Sequence['outputs.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor']]: + """ + Specifies the data processors as multiple blocks. See `processors` block below for details. + """ + return pulumi.get(self, "processors") + + +@pulumi.output_type +class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessor(dict): + def __init__(__self__, *, + type: str, + parameters: Optional[Sequence['outputs.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter']] = None): + """ + :param str type: The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + :param Sequence['FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameterArgs'] parameters: Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + """ + pulumi.set(__self__, "type", type) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + + @property + @pulumi.getter + def type(self) -> str: + """ + The type of processor. Valid Values: `RecordDeAggregation`, `Lambda`, `MetadataExtraction`, `AppendDelimiterToRecord`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + """ + return pulumi.get(self, "type") + + @property + @pulumi.getter + def parameters(self) -> Optional[Sequence['outputs.FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter']]: + """ + Specifies the processor parameters as multiple blocks. See `parameters` block below for details. + """ + return pulumi.get(self, "parameters") + + +@pulumi.output_type +class FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "parameterName": + suggest = "parameter_name" + elif key == "parameterValue": + suggest = "parameter_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FirehoseDeliveryStreamSnowflakeConfigurationProcessingConfigurationProcessorParameter.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + parameter_name: str, + parameter_value: str): + """ + :param str parameter_name: Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + :param str parameter_value: Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + + > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + """ + pulumi.set(__self__, "parameter_name", parameter_name) + pulumi.set(__self__, "parameter_value", parameter_value) + + @property + @pulumi.getter(name="parameterName") + def parameter_name(self) -> str: + """ + Parameter name. Valid Values: `LambdaArn`, `NumberOfRetries`, `MetadataExtractionQuery`, `JsonParsingEngine`, `RoleArn`, `BufferSizeInMBs`, `BufferIntervalInSeconds`, `SubRecordType`, `Delimiter`. Validation is done against [AWS SDK constants](https://docs.aws.amazon.com/sdk-for-go/api/service/firehose/#pkg-constants); so that values not explicitly listed may also work. + """ + return pulumi.get(self, "parameter_name") + + @property + @pulumi.getter(name="parameterValue") + def parameter_value(self) -> str: + """ + Parameter value. Must be between 1 and 512 length (inclusive). When providing a Lambda ARN, you should specify the resource version as well. + + > **NOTE:** Parameters with default values, including `NumberOfRetries`(default: 3), `RoleArn`(default: firehose role ARN), `BufferSizeInMBs`(default: 1), and `BufferIntervalInSeconds`(default: 60), are not stored in Pulumi state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values. + """ + return pulumi.get(self, "parameter_value") + + +@pulumi.output_type +class FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "bucketArn": + suggest = "bucket_arn" + elif key == "roleArn": + suggest = "role_arn" + elif key == "bufferingInterval": + suggest = "buffering_interval" + elif key == "bufferingSize": + suggest = "buffering_size" + elif key == "cloudwatchLoggingOptions": + suggest = "cloudwatch_logging_options" + elif key == "compressionFormat": + suggest = "compression_format" + elif key == "errorOutputPrefix": + suggest = "error_output_prefix" + elif key == "kmsKeyArn": + suggest = "kms_key_arn" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FirehoseDeliveryStreamSnowflakeConfigurationS3Configuration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bucket_arn: str, + role_arn: str, + buffering_interval: Optional[int] = None, + buffering_size: Optional[int] = None, + cloudwatch_logging_options: Optional['outputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions'] = None, + compression_format: Optional[str] = None, + error_output_prefix: Optional[str] = None, + kms_key_arn: Optional[str] = None, + prefix: Optional[str] = None): + """ + :param str bucket_arn: The ARN of the S3 bucket + :param str role_arn: The ARN of the AWS credentials. + :param int buffering_interval: Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + :param int buffering_size: Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + :param 'FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptionsArgs' cloudwatch_logging_options: The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + :param str compression_format: The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + :param str error_output_prefix: Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + :param str kms_key_arn: Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + be used. + :param str prefix: The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + """ + pulumi.set(__self__, "bucket_arn", bucket_arn) + pulumi.set(__self__, "role_arn", role_arn) + if buffering_interval is not None: + pulumi.set(__self__, "buffering_interval", buffering_interval) + if buffering_size is not None: + pulumi.set(__self__, "buffering_size", buffering_size) + if cloudwatch_logging_options is not None: + pulumi.set(__self__, "cloudwatch_logging_options", cloudwatch_logging_options) + if compression_format is not None: + pulumi.set(__self__, "compression_format", compression_format) + if error_output_prefix is not None: + pulumi.set(__self__, "error_output_prefix", error_output_prefix) + if kms_key_arn is not None: + pulumi.set(__self__, "kms_key_arn", kms_key_arn) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + + @property + @pulumi.getter(name="bucketArn") + def bucket_arn(self) -> str: + """ + The ARN of the S3 bucket + """ + return pulumi.get(self, "bucket_arn") + + @property + @pulumi.getter(name="roleArn") + def role_arn(self) -> str: + """ + The ARN of the AWS credentials. + """ + return pulumi.get(self, "role_arn") + + @property + @pulumi.getter(name="bufferingInterval") + def buffering_interval(self) -> Optional[int]: + """ + Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. + """ + return pulumi.get(self, "buffering_interval") + + @property + @pulumi.getter(name="bufferingSize") + def buffering_size(self) -> Optional[int]: + """ + Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5. + We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher. + """ + return pulumi.get(self, "buffering_size") + + @property + @pulumi.getter(name="cloudwatchLoggingOptions") + def cloudwatch_logging_options(self) -> Optional['outputs.FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions']: + """ + The CloudWatch Logging Options for the delivery stream. See `cloudwatch_logging_options` block below for details. + """ + return pulumi.get(self, "cloudwatch_logging_options") + + @property + @pulumi.getter(name="compressionFormat") + def compression_format(self) -> Optional[str]: + """ + The compression format. If no value is specified, the default is `UNCOMPRESSED`. Other supported values are `GZIP`, `ZIP`, `Snappy`, & `HADOOP_SNAPPY`. + """ + return pulumi.get(self, "compression_format") + + @property + @pulumi.getter(name="errorOutputPrefix") + def error_output_prefix(self) -> Optional[str]: + """ + Prefix added to failed records before writing them to S3. Not currently supported for `redshift` destination. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see [Custom Prefixes for Amazon S3 Objects](https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html). + """ + return pulumi.get(self, "error_output_prefix") + + @property + @pulumi.getter(name="kmsKeyArn") + def kms_key_arn(self) -> Optional[str]: + """ + Specifies the KMS key ARN the stream will use to encrypt data. If not set, no encryption will + be used. + """ + return pulumi.get(self, "kms_key_arn") + + @property + @pulumi.getter + def prefix(self) -> Optional[str]: + """ + The "YYYY/MM/DD/HH" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket + """ + return pulumi.get(self, "prefix") + + +@pulumi.output_type +class FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "logGroupName": + suggest = "log_group_name" + elif key == "logStreamName": + suggest = "log_stream_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FirehoseDeliveryStreamSnowflakeConfigurationS3ConfigurationCloudwatchLoggingOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: Optional[bool] = None, + log_group_name: Optional[str] = None, + log_stream_name: Optional[str] = None): + """ + :param bool enabled: Enables or disables the logging. Defaults to `false`. + :param str log_group_name: The CloudWatch group name for logging. This value is required if `enabled` is true. + :param str log_stream_name: The CloudWatch log stream name for logging. This value is required if `enabled` is true. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if log_group_name is not None: + pulumi.set(__self__, "log_group_name", log_group_name) + if log_stream_name is not None: + pulumi.set(__self__, "log_stream_name", log_stream_name) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Enables or disables the logging. Defaults to `false`. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="logGroupName") + def log_group_name(self) -> Optional[str]: + """ + The CloudWatch group name for logging. This value is required if `enabled` is true. + """ + return pulumi.get(self, "log_group_name") + + @property + @pulumi.getter(name="logStreamName") + def log_stream_name(self) -> Optional[str]: + """ + The CloudWatch log stream name for logging. This value is required if `enabled` is true. + """ + return pulumi.get(self, "log_stream_name") + + +@pulumi.output_type +class FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "snowflakeRole": + suggest = "snowflake_role" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeRoleConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + enabled: Optional[bool] = None, + snowflake_role: Optional[str] = None): + """ + :param bool enabled: Whether the Snowflake role is enabled. + :param str snowflake_role: The Snowflake role. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if snowflake_role is not None: + pulumi.set(__self__, "snowflake_role", snowflake_role) + + @property + @pulumi.getter + def enabled(self) -> Optional[bool]: + """ + Whether the Snowflake role is enabled. + """ + return pulumi.get(self, "enabled") + + @property + @pulumi.getter(name="snowflakeRole") + def snowflake_role(self) -> Optional[str]: + """ + The Snowflake role. + """ + return pulumi.get(self, "snowflake_role") + + +@pulumi.output_type +class FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "privateLinkVpceId": + suggest = "private_link_vpce_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + FirehoseDeliveryStreamSnowflakeConfigurationSnowflakeVpcConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + private_link_vpce_id: str): + """ + :param str private_link_vpce_id: The VPCE ID for Firehose to privately connect with Snowflake. + """ + pulumi.set(__self__, "private_link_vpce_id", private_link_vpce_id) + + @property + @pulumi.getter(name="privateLinkVpceId") + def private_link_vpce_id(self) -> str: + """ + The VPCE ID for Firehose to privately connect with Snowflake. + """ + return pulumi.get(self, "private_link_vpce_id") + + @pulumi.output_type class FirehoseDeliveryStreamSplunkConfiguration(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/memorydb/_inputs.py b/sdk/python/pulumi_aws/memorydb/_inputs.py index 86edcc4c74c..dea4ac0b4b7 100644 --- a/sdk/python/pulumi_aws/memorydb/_inputs.py +++ b/sdk/python/pulumi_aws/memorydb/_inputs.py @@ -490,36 +490,25 @@ def vpc_id(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class UserAuthenticationModeArgs: def __init__(__self__, *, - passwords: pulumi.Input[Sequence[pulumi.Input[str]]], type: pulumi.Input[str], - password_count: Optional[pulumi.Input[int]] = None): + password_count: Optional[pulumi.Input[int]] = None, + passwords: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): """ - :param pulumi.Input[Sequence[pulumi.Input[str]]] passwords: The set of passwords used for authentication. You can create up to two passwords for each user. - :param pulumi.Input[str] type: Indicates whether the user requires a password to authenticate. Must be set to `password`. - :param pulumi.Input[int] password_count: The number of passwords belonging to the user. + :param pulumi.Input[str] type: Specifies the authentication type. Valid values are: `password` or `iam`. + :param pulumi.Input[int] password_count: Number of passwords belonging to the user if `type` is set to `password`. + :param pulumi.Input[Sequence[pulumi.Input[str]]] passwords: Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. """ - pulumi.set(__self__, "passwords", passwords) pulumi.set(__self__, "type", type) if password_count is not None: pulumi.set(__self__, "password_count", password_count) - - @property - @pulumi.getter - def passwords(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]: - """ - The set of passwords used for authentication. You can create up to two passwords for each user. - """ - return pulumi.get(self, "passwords") - - @passwords.setter - def passwords(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]): - pulumi.set(self, "passwords", value) + if passwords is not None: + pulumi.set(__self__, "passwords", passwords) @property @pulumi.getter def type(self) -> pulumi.Input[str]: """ - Indicates whether the user requires a password to authenticate. Must be set to `password`. + Specifies the authentication type. Valid values are: `password` or `iam`. """ return pulumi.get(self, "type") @@ -531,7 +520,7 @@ def type(self, value: pulumi.Input[str]): @pulumi.getter(name="passwordCount") def password_count(self) -> Optional[pulumi.Input[int]]: """ - The number of passwords belonging to the user. + Number of passwords belonging to the user if `type` is set to `password`. """ return pulumi.get(self, "password_count") @@ -539,4 +528,16 @@ def password_count(self) -> Optional[pulumi.Input[int]]: def password_count(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "password_count", value) + @property + @pulumi.getter + def passwords(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. + """ + return pulumi.get(self, "passwords") + + @passwords.setter + def passwords(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "passwords", value) + diff --git a/sdk/python/pulumi_aws/memorydb/get_user.py b/sdk/python/pulumi_aws/memorydb/get_user.py index 6f35a6854c0..4f1b1e71d04 100644 --- a/sdk/python/pulumi_aws/memorydb/get_user.py +++ b/sdk/python/pulumi_aws/memorydb/get_user.py @@ -81,7 +81,7 @@ def id(self) -> str: @pulumi.getter(name="minimumEngineVersion") def minimum_engine_version(self) -> str: """ - The minimum engine version supported for the user. + Minimum engine version supported for the user. """ return pulumi.get(self, "minimum_engine_version") @@ -89,7 +89,7 @@ def minimum_engine_version(self) -> str: @pulumi.getter def tags(self) -> Mapping[str, str]: """ - Map of tags assigned to the subnet group. + Map of tags assigned to the user. """ return pulumi.get(self, "tags") @@ -130,7 +130,7 @@ def get_user(tags: Optional[Mapping[str, str]] = None, ``` - :param Mapping[str, str] tags: Map of tags assigned to the subnet group. + :param Mapping[str, str] tags: Map of tags assigned to the user. :param str user_name: Name of the user. """ __args__ = dict() @@ -166,7 +166,7 @@ def get_user_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = ``` - :param Mapping[str, str] tags: Map of tags assigned to the subnet group. + :param Mapping[str, str] tags: Map of tags assigned to the user. :param str user_name: Name of the user. """ ... diff --git a/sdk/python/pulumi_aws/memorydb/outputs.py b/sdk/python/pulumi_aws/memorydb/outputs.py index 7babc7e8768..10b7ccd4acd 100644 --- a/sdk/python/pulumi_aws/memorydb/outputs.py +++ b/sdk/python/pulumi_aws/memorydb/outputs.py @@ -478,32 +478,25 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - passwords: Sequence[str], type: str, - password_count: Optional[int] = None): + password_count: Optional[int] = None, + passwords: Optional[Sequence[str]] = None): """ - :param Sequence[str] passwords: The set of passwords used for authentication. You can create up to two passwords for each user. - :param str type: Indicates whether the user requires a password to authenticate. Must be set to `password`. - :param int password_count: The number of passwords belonging to the user. + :param str type: Specifies the authentication type. Valid values are: `password` or `iam`. + :param int password_count: Number of passwords belonging to the user if `type` is set to `password`. + :param Sequence[str] passwords: Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. """ - pulumi.set(__self__, "passwords", passwords) pulumi.set(__self__, "type", type) if password_count is not None: pulumi.set(__self__, "password_count", password_count) - - @property - @pulumi.getter - def passwords(self) -> Sequence[str]: - """ - The set of passwords used for authentication. You can create up to two passwords for each user. - """ - return pulumi.get(self, "passwords") + if passwords is not None: + pulumi.set(__self__, "passwords", passwords) @property @pulumi.getter def type(self) -> str: """ - Indicates whether the user requires a password to authenticate. Must be set to `password`. + Specifies the authentication type. Valid values are: `password` or `iam`. """ return pulumi.get(self, "type") @@ -511,10 +504,18 @@ def type(self) -> str: @pulumi.getter(name="passwordCount") def password_count(self) -> Optional[int]: """ - The number of passwords belonging to the user. + Number of passwords belonging to the user if `type` is set to `password`. """ return pulumi.get(self, "password_count") + @property + @pulumi.getter + def passwords(self) -> Optional[Sequence[str]]: + """ + Set of passwords used for authentication if `type` is set to `password`. You can create up to two passwords for each user. + """ + return pulumi.get(self, "passwords") + @pulumi.output_type class GetClusterClusterEndpointResult(dict): @@ -857,8 +858,8 @@ def __init__(__self__, *, password_count: int, type: str): """ - :param int password_count: The number of passwords belonging to the user. - :param str type: Whether the user requires a password to authenticate. + :param int password_count: Number of passwords belonging to the user if `type` is set to `password`. + :param str type: Type of authentication configured. """ pulumi.set(__self__, "password_count", password_count) pulumi.set(__self__, "type", type) @@ -867,7 +868,7 @@ def __init__(__self__, *, @pulumi.getter(name="passwordCount") def password_count(self) -> int: """ - The number of passwords belonging to the user. + Number of passwords belonging to the user if `type` is set to `password`. """ return pulumi.get(self, "password_count") @@ -875,7 +876,7 @@ def password_count(self) -> int: @pulumi.getter def type(self) -> str: """ - Whether the user requires a password to authenticate. + Type of authentication configured. """ return pulumi.get(self, "type") diff --git a/sdk/python/pulumi_aws/memorydb/user.py b/sdk/python/pulumi_aws/memorydb/user.py index 8ea733d7f63..f475f4c88d3 100644 --- a/sdk/python/pulumi_aws/memorydb/user.py +++ b/sdk/python/pulumi_aws/memorydb/user.py @@ -22,7 +22,7 @@ def __init__(__self__, *, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a User resource. - :param pulumi.Input[str] access_string: The access permissions string used for this user. + :param pulumi.Input[str] access_string: Access permissions string used for this user. :param pulumi.Input['UserAuthenticationModeArgs'] authentication_mode: Denotes the user's authentication properties. Detailed below. :param pulumi.Input[str] user_name: Name of the MemoryDB user. Up to 40 characters. @@ -39,7 +39,7 @@ def __init__(__self__, *, @pulumi.getter(name="accessString") def access_string(self) -> pulumi.Input[str]: """ - The access permissions string used for this user. + Access permissions string used for this user. """ return pulumi.get(self, "access_string") @@ -98,10 +98,10 @@ def __init__(__self__, *, user_name: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering User resources. - :param pulumi.Input[str] access_string: The access permissions string used for this user. - :param pulumi.Input[str] arn: The ARN of the user. + :param pulumi.Input[str] access_string: Access permissions string used for this user. + :param pulumi.Input[str] arn: ARN of the user. :param pulumi.Input['UserAuthenticationModeArgs'] authentication_mode: Denotes the user's authentication properties. Detailed below. - :param pulumi.Input[str] minimum_engine_version: The minimum engine version supported for the user. + :param pulumi.Input[str] minimum_engine_version: Minimum engine version supported for the user. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] user_name: Name of the MemoryDB user. Up to 40 characters. @@ -130,7 +130,7 @@ def __init__(__self__, *, @pulumi.getter(name="accessString") def access_string(self) -> Optional[pulumi.Input[str]]: """ - The access permissions string used for this user. + Access permissions string used for this user. """ return pulumi.get(self, "access_string") @@ -142,7 +142,7 @@ def access_string(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def arn(self) -> Optional[pulumi.Input[str]]: """ - The ARN of the user. + ARN of the user. """ return pulumi.get(self, "arn") @@ -166,7 +166,7 @@ def authentication_mode(self, value: Optional[pulumi.Input['UserAuthenticationMo @pulumi.getter(name="minimumEngineVersion") def minimum_engine_version(self) -> Optional[pulumi.Input[str]]: """ - The minimum engine version supported for the user. + Minimum engine version supported for the user. """ return pulumi.get(self, "minimum_engine_version") @@ -260,7 +260,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] access_string: The access permissions string used for this user. + :param pulumi.Input[str] access_string: Access permissions string used for this user. :param pulumi.Input[pulumi.InputType['UserAuthenticationModeArgs']] authentication_mode: Denotes the user's authentication properties. Detailed below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[str] user_name: Name of the MemoryDB user. Up to 40 characters. @@ -370,10 +370,10 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[str] access_string: The access permissions string used for this user. - :param pulumi.Input[str] arn: The ARN of the user. + :param pulumi.Input[str] access_string: Access permissions string used for this user. + :param pulumi.Input[str] arn: ARN of the user. :param pulumi.Input[pulumi.InputType['UserAuthenticationModeArgs']] authentication_mode: Denotes the user's authentication properties. Detailed below. - :param pulumi.Input[str] minimum_engine_version: The minimum engine version supported for the user. + :param pulumi.Input[str] minimum_engine_version: Minimum engine version supported for the user. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] user_name: Name of the MemoryDB user. Up to 40 characters. @@ -397,7 +397,7 @@ def get(resource_name: str, @pulumi.getter(name="accessString") def access_string(self) -> pulumi.Output[str]: """ - The access permissions string used for this user. + Access permissions string used for this user. """ return pulumi.get(self, "access_string") @@ -405,7 +405,7 @@ def access_string(self) -> pulumi.Output[str]: @pulumi.getter def arn(self) -> pulumi.Output[str]: """ - The ARN of the user. + ARN of the user. """ return pulumi.get(self, "arn") @@ -421,7 +421,7 @@ def authentication_mode(self) -> pulumi.Output['outputs.UserAuthenticationMode'] @pulumi.getter(name="minimumEngineVersion") def minimum_engine_version(self) -> pulumi.Output[str]: """ - The minimum engine version supported for the user. + Minimum engine version supported for the user. """ return pulumi.get(self, "minimum_engine_version") diff --git a/sdk/python/pulumi_aws/rds/instance.py b/sdk/python/pulumi_aws/rds/instance.py index 5c21ec36f20..48f07ca5554 100644 --- a/sdk/python/pulumi_aws/rds/instance.py +++ b/sdk/python/pulumi_aws/rds/instance.py @@ -34,6 +34,7 @@ def __init__(__self__, *, customer_owned_ip_enabled: Optional[pulumi.Input[bool]] = None, db_name: Optional[pulumi.Input[str]] = None, db_subnet_group_name: Optional[pulumi.Input[str]] = None, + dedicated_log_volume: Optional[pulumi.Input[bool]] = None, delete_automated_backups: Optional[pulumi.Input[bool]] = None, deletion_protection: Optional[pulumi.Input[bool]] = None, domain: Optional[pulumi.Input[str]] = None, @@ -130,6 +131,7 @@ def __init__(__self__, *, specifies an instance in another AWS Region. See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. + :param pulumi.Input[bool] dedicated_log_volume: Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. :param pulumi.Input[bool] delete_automated_backups: Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. :param pulumi.Input[bool] deletion_protection: If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. :param pulumi.Input[str] domain: The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with `domain_fqdn`, `domain_ou`, `domain_auth_secret_arn` and a `domain_dns_ips`. @@ -266,6 +268,8 @@ def __init__(__self__, *, pulumi.set(__self__, "db_name", db_name) if db_subnet_group_name is not None: pulumi.set(__self__, "db_subnet_group_name", db_subnet_group_name) + if dedicated_log_volume is not None: + pulumi.set(__self__, "dedicated_log_volume", dedicated_log_volume) if delete_automated_backups is not None: pulumi.set(__self__, "delete_automated_backups", delete_automated_backups) if deletion_protection is not None: @@ -600,6 +604,18 @@ def db_subnet_group_name(self) -> Optional[pulumi.Input[str]]: def db_subnet_group_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "db_subnet_group_name", value) + @property + @pulumi.getter(name="dedicatedLogVolume") + def dedicated_log_volume(self) -> Optional[pulumi.Input[bool]]: + """ + Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + """ + return pulumi.get(self, "dedicated_log_volume") + + @dedicated_log_volume.setter + def dedicated_log_volume(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "dedicated_log_volume", value) + @property @pulumi.getter(name="deleteAutomatedBackups") def delete_automated_backups(self) -> Optional[pulumi.Input[bool]]: @@ -1264,6 +1280,7 @@ def __init__(__self__, *, customer_owned_ip_enabled: Optional[pulumi.Input[bool]] = None, db_name: Optional[pulumi.Input[str]] = None, db_subnet_group_name: Optional[pulumi.Input[str]] = None, + dedicated_log_volume: Optional[pulumi.Input[bool]] = None, delete_automated_backups: Optional[pulumi.Input[bool]] = None, deletion_protection: Optional[pulumi.Input[bool]] = None, domain: Optional[pulumi.Input[str]] = None, @@ -1372,6 +1389,7 @@ def __init__(__self__, *, specifies an instance in another AWS Region. See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. + :param pulumi.Input[bool] dedicated_log_volume: Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. :param pulumi.Input[bool] delete_automated_backups: Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. :param pulumi.Input[bool] deletion_protection: If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. :param pulumi.Input[str] domain: The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with `domain_fqdn`, `domain_ou`, `domain_auth_secret_arn` and a `domain_dns_ips`. @@ -1521,6 +1539,8 @@ def __init__(__self__, *, pulumi.set(__self__, "db_name", db_name) if db_subnet_group_name is not None: pulumi.set(__self__, "db_subnet_group_name", db_subnet_group_name) + if dedicated_log_volume is not None: + pulumi.set(__self__, "dedicated_log_volume", dedicated_log_volume) if delete_automated_backups is not None: pulumi.set(__self__, "delete_automated_backups", delete_automated_backups) if deletion_protection is not None: @@ -1892,6 +1912,18 @@ def db_subnet_group_name(self) -> Optional[pulumi.Input[str]]: def db_subnet_group_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "db_subnet_group_name", value) + @property + @pulumi.getter(name="dedicatedLogVolume") + def dedicated_log_volume(self) -> Optional[pulumi.Input[bool]]: + """ + Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + """ + return pulumi.get(self, "dedicated_log_volume") + + @dedicated_log_volume.setter + def dedicated_log_volume(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "dedicated_log_volume", value) + @property @pulumi.getter(name="deleteAutomatedBackups") def delete_automated_backups(self) -> Optional[pulumi.Input[bool]]: @@ -2688,6 +2720,7 @@ def __init__(__self__, customer_owned_ip_enabled: Optional[pulumi.Input[bool]] = None, db_name: Optional[pulumi.Input[str]] = None, db_subnet_group_name: Optional[pulumi.Input[str]] = None, + dedicated_log_volume: Optional[pulumi.Input[bool]] = None, delete_automated_backups: Optional[pulumi.Input[bool]] = None, deletion_protection: Optional[pulumi.Input[bool]] = None, domain: Optional[pulumi.Input[str]] = None, @@ -3038,6 +3071,7 @@ def __init__(__self__, specifies an instance in another AWS Region. See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. + :param pulumi.Input[bool] dedicated_log_volume: Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. :param pulumi.Input[bool] delete_automated_backups: Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. :param pulumi.Input[bool] deletion_protection: If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. :param pulumi.Input[str] domain: The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with `domain_fqdn`, `domain_ou`, `domain_auth_secret_arn` and a `domain_dns_ips`. @@ -3432,6 +3466,7 @@ def _internal_init(__self__, customer_owned_ip_enabled: Optional[pulumi.Input[bool]] = None, db_name: Optional[pulumi.Input[str]] = None, db_subnet_group_name: Optional[pulumi.Input[str]] = None, + dedicated_log_volume: Optional[pulumi.Input[bool]] = None, delete_automated_backups: Optional[pulumi.Input[bool]] = None, deletion_protection: Optional[pulumi.Input[bool]] = None, domain: Optional[pulumi.Input[str]] = None, @@ -3507,6 +3542,7 @@ def _internal_init(__self__, __props__.__dict__["customer_owned_ip_enabled"] = customer_owned_ip_enabled __props__.__dict__["db_name"] = db_name __props__.__dict__["db_subnet_group_name"] = db_subnet_group_name + __props__.__dict__["dedicated_log_volume"] = dedicated_log_volume __props__.__dict__["delete_automated_backups"] = delete_automated_backups __props__.__dict__["deletion_protection"] = deletion_protection __props__.__dict__["domain"] = domain @@ -3601,6 +3637,7 @@ def get(resource_name: str, customer_owned_ip_enabled: Optional[pulumi.Input[bool]] = None, db_name: Optional[pulumi.Input[str]] = None, db_subnet_group_name: Optional[pulumi.Input[str]] = None, + dedicated_log_volume: Optional[pulumi.Input[bool]] = None, delete_automated_backups: Optional[pulumi.Input[bool]] = None, deletion_protection: Optional[pulumi.Input[bool]] = None, domain: Optional[pulumi.Input[str]] = None, @@ -3714,6 +3751,7 @@ def get(resource_name: str, specifies an instance in another AWS Region. See [DBSubnetGroupName in API action CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) for additional read replica constraints. + :param pulumi.Input[bool] dedicated_log_volume: Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. :param pulumi.Input[bool] delete_automated_backups: Specifies whether to remove automated backups immediately after the DB instance is deleted. Default is `true`. :param pulumi.Input[bool] deletion_protection: If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to `true`. The default is `false`. :param pulumi.Input[str] domain: The ID of the Directory Service Active Directory domain to create the instance in. Conflicts with `domain_fqdn`, `domain_ou`, `domain_auth_secret_arn` and a `domain_dns_ips`. @@ -3849,6 +3887,7 @@ def get(resource_name: str, __props__.__dict__["customer_owned_ip_enabled"] = customer_owned_ip_enabled __props__.__dict__["db_name"] = db_name __props__.__dict__["db_subnet_group_name"] = db_subnet_group_name + __props__.__dict__["dedicated_log_volume"] = dedicated_log_volume __props__.__dict__["delete_automated_backups"] = delete_automated_backups __props__.__dict__["deletion_protection"] = deletion_protection __props__.__dict__["domain"] = domain @@ -4083,6 +4122,14 @@ def db_subnet_group_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "db_subnet_group_name") + @property + @pulumi.getter(name="dedicatedLogVolume") + def dedicated_log_volume(self) -> pulumi.Output[Optional[bool]]: + """ + Use a dedicated log volume (DLV) for the DB instance. Requires Provisioned IOPS. See the [AWS documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.dlv) for more details. + """ + return pulumi.get(self, "dedicated_log_volume") + @property @pulumi.getter(name="deleteAutomatedBackups") def delete_automated_backups(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_aws/sagemaker/_inputs.py b/sdk/python/pulumi_aws/sagemaker/_inputs.py index bac21d44750..e017e6b2082 100644 --- a/sdk/python/pulumi_aws/sagemaker/_inputs.py +++ b/sdk/python/pulumi_aws/sagemaker/_inputs.py @@ -10,8 +10,12 @@ from .. import _utilities __all__ = [ + 'AppImageConfigCodeEditorAppImageConfigArgs', + 'AppImageConfigCodeEditorAppImageConfigContainerConfigArgs', + 'AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs', 'AppImageConfigJupyterLabImageConfigArgs', 'AppImageConfigJupyterLabImageConfigContainerConfigArgs', + 'AppImageConfigJupyterLabImageConfigFileSystemConfigArgs', 'AppImageConfigKernelGatewayImageConfigArgs', 'AppImageConfigKernelGatewayImageConfigFileSystemConfigArgs', 'AppImageConfigKernelGatewayImageConfigKernelSpecArgs', @@ -199,15 +203,172 @@ 'WorkteamNotificationConfigurationArgs', ] +@pulumi.input_type +class AppImageConfigCodeEditorAppImageConfigArgs: + def __init__(__self__, *, + container_config: Optional[pulumi.Input['AppImageConfigCodeEditorAppImageConfigContainerConfigArgs']] = None, + file_system_config: Optional[pulumi.Input['AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs']] = None): + """ + :param pulumi.Input['AppImageConfigCodeEditorAppImageConfigContainerConfigArgs'] container_config: The configuration used to run the application image container. See Container Config details below. + :param pulumi.Input['AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs'] file_system_config: The URL where the Git repository is located. See File System Config details below. + """ + if container_config is not None: + pulumi.set(__self__, "container_config", container_config) + if file_system_config is not None: + pulumi.set(__self__, "file_system_config", file_system_config) + + @property + @pulumi.getter(name="containerConfig") + def container_config(self) -> Optional[pulumi.Input['AppImageConfigCodeEditorAppImageConfigContainerConfigArgs']]: + """ + The configuration used to run the application image container. See Container Config details below. + """ + return pulumi.get(self, "container_config") + + @container_config.setter + def container_config(self, value: Optional[pulumi.Input['AppImageConfigCodeEditorAppImageConfigContainerConfigArgs']]): + pulumi.set(self, "container_config", value) + + @property + @pulumi.getter(name="fileSystemConfig") + def file_system_config(self) -> Optional[pulumi.Input['AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs']]: + """ + The URL where the Git repository is located. See File System Config details below. + """ + return pulumi.get(self, "file_system_config") + + @file_system_config.setter + def file_system_config(self, value: Optional[pulumi.Input['AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs']]): + pulumi.set(self, "file_system_config", value) + + +@pulumi.input_type +class AppImageConfigCodeEditorAppImageConfigContainerConfigArgs: + def __init__(__self__, *, + container_arguments: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + container_entrypoints: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + container_environment_variables: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] container_arguments: The arguments for the container when you're running the application. + :param pulumi.Input[Sequence[pulumi.Input[str]]] container_entrypoints: The entrypoint used to run the application in the container. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] container_environment_variables: The environment variables to set in the container. + """ + if container_arguments is not None: + pulumi.set(__self__, "container_arguments", container_arguments) + if container_entrypoints is not None: + pulumi.set(__self__, "container_entrypoints", container_entrypoints) + if container_environment_variables is not None: + pulumi.set(__self__, "container_environment_variables", container_environment_variables) + + @property + @pulumi.getter(name="containerArguments") + def container_arguments(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The arguments for the container when you're running the application. + """ + return pulumi.get(self, "container_arguments") + + @container_arguments.setter + def container_arguments(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "container_arguments", value) + + @property + @pulumi.getter(name="containerEntrypoints") + def container_entrypoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + The entrypoint used to run the application in the container. + """ + return pulumi.get(self, "container_entrypoints") + + @container_entrypoints.setter + def container_entrypoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "container_entrypoints", value) + + @property + @pulumi.getter(name="containerEnvironmentVariables") + def container_environment_variables(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + The environment variables to set in the container. + """ + return pulumi.get(self, "container_environment_variables") + + @container_environment_variables.setter + def container_environment_variables(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "container_environment_variables", value) + + +@pulumi.input_type +class AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs: + def __init__(__self__, *, + default_gid: Optional[pulumi.Input[int]] = None, + default_uid: Optional[pulumi.Input[int]] = None, + mount_path: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[int] default_gid: The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + :param pulumi.Input[int] default_uid: The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + :param pulumi.Input[str] mount_path: The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + + > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + """ + if default_gid is not None: + pulumi.set(__self__, "default_gid", default_gid) + if default_uid is not None: + pulumi.set(__self__, "default_uid", default_uid) + if mount_path is not None: + pulumi.set(__self__, "mount_path", mount_path) + + @property + @pulumi.getter(name="defaultGid") + def default_gid(self) -> Optional[pulumi.Input[int]]: + """ + The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + """ + return pulumi.get(self, "default_gid") + + @default_gid.setter + def default_gid(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "default_gid", value) + + @property + @pulumi.getter(name="defaultUid") + def default_uid(self) -> Optional[pulumi.Input[int]]: + """ + The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + """ + return pulumi.get(self, "default_uid") + + @default_uid.setter + def default_uid(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "default_uid", value) + + @property + @pulumi.getter(name="mountPath") + def mount_path(self) -> Optional[pulumi.Input[str]]: + """ + The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + + > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + """ + return pulumi.get(self, "mount_path") + + @mount_path.setter + def mount_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mount_path", value) + + @pulumi.input_type class AppImageConfigJupyterLabImageConfigArgs: def __init__(__self__, *, - container_config: Optional[pulumi.Input['AppImageConfigJupyterLabImageConfigContainerConfigArgs']] = None): + container_config: Optional[pulumi.Input['AppImageConfigJupyterLabImageConfigContainerConfigArgs']] = None, + file_system_config: Optional[pulumi.Input['AppImageConfigJupyterLabImageConfigFileSystemConfigArgs']] = None): """ :param pulumi.Input['AppImageConfigJupyterLabImageConfigContainerConfigArgs'] container_config: The configuration used to run the application image container. See Container Config details below. + :param pulumi.Input['AppImageConfigJupyterLabImageConfigFileSystemConfigArgs'] file_system_config: The URL where the Git repository is located. See File System Config details below. """ if container_config is not None: pulumi.set(__self__, "container_config", container_config) + if file_system_config is not None: + pulumi.set(__self__, "file_system_config", file_system_config) @property @pulumi.getter(name="containerConfig") @@ -221,6 +382,18 @@ def container_config(self) -> Optional[pulumi.Input['AppImageConfigJupyterLabIma def container_config(self, value: Optional[pulumi.Input['AppImageConfigJupyterLabImageConfigContainerConfigArgs']]): pulumi.set(self, "container_config", value) + @property + @pulumi.getter(name="fileSystemConfig") + def file_system_config(self) -> Optional[pulumi.Input['AppImageConfigJupyterLabImageConfigFileSystemConfigArgs']]: + """ + The URL where the Git repository is located. See File System Config details below. + """ + return pulumi.get(self, "file_system_config") + + @file_system_config.setter + def file_system_config(self, value: Optional[pulumi.Input['AppImageConfigJupyterLabImageConfigFileSystemConfigArgs']]): + pulumi.set(self, "file_system_config", value) + @pulumi.input_type class AppImageConfigJupyterLabImageConfigContainerConfigArgs: @@ -277,6 +450,65 @@ def container_environment_variables(self, value: Optional[pulumi.Input[Mapping[s pulumi.set(self, "container_environment_variables", value) +@pulumi.input_type +class AppImageConfigJupyterLabImageConfigFileSystemConfigArgs: + def __init__(__self__, *, + default_gid: Optional[pulumi.Input[int]] = None, + default_uid: Optional[pulumi.Input[int]] = None, + mount_path: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[int] default_gid: The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + :param pulumi.Input[int] default_uid: The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + :param pulumi.Input[str] mount_path: The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + + > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + """ + if default_gid is not None: + pulumi.set(__self__, "default_gid", default_gid) + if default_uid is not None: + pulumi.set(__self__, "default_uid", default_uid) + if mount_path is not None: + pulumi.set(__self__, "mount_path", mount_path) + + @property + @pulumi.getter(name="defaultGid") + def default_gid(self) -> Optional[pulumi.Input[int]]: + """ + The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + """ + return pulumi.get(self, "default_gid") + + @default_gid.setter + def default_gid(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "default_gid", value) + + @property + @pulumi.getter(name="defaultUid") + def default_uid(self) -> Optional[pulumi.Input[int]]: + """ + The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + """ + return pulumi.get(self, "default_uid") + + @default_uid.setter + def default_uid(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "default_uid", value) + + @property + @pulumi.getter(name="mountPath") + def mount_path(self) -> Optional[pulumi.Input[str]]: + """ + The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + + > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + """ + return pulumi.get(self, "mount_path") + + @mount_path.setter + def mount_path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "mount_path", value) + + @pulumi.input_type class AppImageConfigKernelGatewayImageConfigArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/sagemaker/app_image_config.py b/sdk/python/pulumi_aws/sagemaker/app_image_config.py index 9c35e8ecbe2..68b112fb08f 100644 --- a/sdk/python/pulumi_aws/sagemaker/app_image_config.py +++ b/sdk/python/pulumi_aws/sagemaker/app_image_config.py @@ -17,16 +17,21 @@ class AppImageConfigArgs: def __init__(__self__, *, app_image_config_name: pulumi.Input[str], + code_editor_app_image_config: Optional[pulumi.Input['AppImageConfigCodeEditorAppImageConfigArgs']] = None, jupyter_lab_image_config: Optional[pulumi.Input['AppImageConfigJupyterLabImageConfigArgs']] = None, kernel_gateway_image_config: Optional[pulumi.Input['AppImageConfigKernelGatewayImageConfigArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a AppImageConfig resource. :param pulumi.Input[str] app_image_config_name: The name of the App Image Config. + :param pulumi.Input['AppImageConfigCodeEditorAppImageConfigArgs'] code_editor_app_image_config: The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + :param pulumi.Input['AppImageConfigJupyterLabImageConfigArgs'] jupyter_lab_image_config: The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. :param pulumi.Input['AppImageConfigKernelGatewayImageConfigArgs'] kernel_gateway_image_config: The configuration for the file system and kernels in a SageMaker image running as a KernelGateway app. See Kernel Gateway Image Config details below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ pulumi.set(__self__, "app_image_config_name", app_image_config_name) + if code_editor_app_image_config is not None: + pulumi.set(__self__, "code_editor_app_image_config", code_editor_app_image_config) if jupyter_lab_image_config is not None: pulumi.set(__self__, "jupyter_lab_image_config", jupyter_lab_image_config) if kernel_gateway_image_config is not None: @@ -46,9 +51,24 @@ def app_image_config_name(self) -> pulumi.Input[str]: def app_image_config_name(self, value: pulumi.Input[str]): pulumi.set(self, "app_image_config_name", value) + @property + @pulumi.getter(name="codeEditorAppImageConfig") + def code_editor_app_image_config(self) -> Optional[pulumi.Input['AppImageConfigCodeEditorAppImageConfigArgs']]: + """ + The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + """ + return pulumi.get(self, "code_editor_app_image_config") + + @code_editor_app_image_config.setter + def code_editor_app_image_config(self, value: Optional[pulumi.Input['AppImageConfigCodeEditorAppImageConfigArgs']]): + pulumi.set(self, "code_editor_app_image_config", value) + @property @pulumi.getter(name="jupyterLabImageConfig") def jupyter_lab_image_config(self) -> Optional[pulumi.Input['AppImageConfigJupyterLabImageConfigArgs']]: + """ + The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + """ return pulumi.get(self, "jupyter_lab_image_config") @jupyter_lab_image_config.setter @@ -85,6 +105,7 @@ class _AppImageConfigState: def __init__(__self__, *, app_image_config_name: Optional[pulumi.Input[str]] = None, arn: Optional[pulumi.Input[str]] = None, + code_editor_app_image_config: Optional[pulumi.Input['AppImageConfigCodeEditorAppImageConfigArgs']] = None, jupyter_lab_image_config: Optional[pulumi.Input['AppImageConfigJupyterLabImageConfigArgs']] = None, kernel_gateway_image_config: Optional[pulumi.Input['AppImageConfigKernelGatewayImageConfigArgs']] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -93,6 +114,8 @@ def __init__(__self__, *, Input properties used for looking up and filtering AppImageConfig resources. :param pulumi.Input[str] app_image_config_name: The name of the App Image Config. :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) assigned by AWS to this App Image Config. + :param pulumi.Input['AppImageConfigCodeEditorAppImageConfigArgs'] code_editor_app_image_config: The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + :param pulumi.Input['AppImageConfigJupyterLabImageConfigArgs'] jupyter_lab_image_config: The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. :param pulumi.Input['AppImageConfigKernelGatewayImageConfigArgs'] kernel_gateway_image_config: The configuration for the file system and kernels in a SageMaker image running as a KernelGateway app. See Kernel Gateway Image Config details below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -101,6 +124,8 @@ def __init__(__self__, *, pulumi.set(__self__, "app_image_config_name", app_image_config_name) if arn is not None: pulumi.set(__self__, "arn", arn) + if code_editor_app_image_config is not None: + pulumi.set(__self__, "code_editor_app_image_config", code_editor_app_image_config) if jupyter_lab_image_config is not None: pulumi.set(__self__, "jupyter_lab_image_config", jupyter_lab_image_config) if kernel_gateway_image_config is not None: @@ -137,9 +162,24 @@ def arn(self) -> Optional[pulumi.Input[str]]: def arn(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "arn", value) + @property + @pulumi.getter(name="codeEditorAppImageConfig") + def code_editor_app_image_config(self) -> Optional[pulumi.Input['AppImageConfigCodeEditorAppImageConfigArgs']]: + """ + The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + """ + return pulumi.get(self, "code_editor_app_image_config") + + @code_editor_app_image_config.setter + def code_editor_app_image_config(self, value: Optional[pulumi.Input['AppImageConfigCodeEditorAppImageConfigArgs']]): + pulumi.set(self, "code_editor_app_image_config", value) + @property @pulumi.getter(name="jupyterLabImageConfig") def jupyter_lab_image_config(self) -> Optional[pulumi.Input['AppImageConfigJupyterLabImageConfigArgs']]: + """ + The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + """ return pulumi.get(self, "jupyter_lab_image_config") @jupyter_lab_image_config.setter @@ -192,6 +232,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, app_image_config_name: Optional[pulumi.Input[str]] = None, + code_editor_app_image_config: Optional[pulumi.Input[pulumi.InputType['AppImageConfigCodeEditorAppImageConfigArgs']]] = None, jupyter_lab_image_config: Optional[pulumi.Input[pulumi.InputType['AppImageConfigJupyterLabImageConfigArgs']]] = None, kernel_gateway_image_config: Optional[pulumi.Input[pulumi.InputType['AppImageConfigKernelGatewayImageConfigArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -201,37 +242,6 @@ def __init__(__self__, ## Example Usage - ### Basic usage - - ```python - import pulumi - import pulumi_aws as aws - - test = aws.sagemaker.AppImageConfig("test", - app_image_config_name="example", - kernel_gateway_image_config=aws.sagemaker.AppImageConfigKernelGatewayImageConfigArgs( - kernel_spec=aws.sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs( - name="example", - ), - )) - ``` - - ### Default File System Config - - ```python - import pulumi - import pulumi_aws as aws - - test = aws.sagemaker.AppImageConfig("test", - app_image_config_name="example", - kernel_gateway_image_config=aws.sagemaker.AppImageConfigKernelGatewayImageConfigArgs( - kernel_spec=aws.sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs( - name="example", - ), - file_system_config=aws.sagemaker.AppImageConfigKernelGatewayImageConfigFileSystemConfigArgs(), - )) - ``` - ## Import Using `pulumi import`, import SageMaker App Image Configs using the `name`. For example: @@ -243,6 +253,8 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] app_image_config_name: The name of the App Image Config. + :param pulumi.Input[pulumi.InputType['AppImageConfigCodeEditorAppImageConfigArgs']] code_editor_app_image_config: The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + :param pulumi.Input[pulumi.InputType['AppImageConfigJupyterLabImageConfigArgs']] jupyter_lab_image_config: The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. :param pulumi.Input[pulumi.InputType['AppImageConfigKernelGatewayImageConfigArgs']] kernel_gateway_image_config: The configuration for the file system and kernels in a SageMaker image running as a KernelGateway app. See Kernel Gateway Image Config details below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. """ @@ -257,37 +269,6 @@ def __init__(__self__, ## Example Usage - ### Basic usage - - ```python - import pulumi - import pulumi_aws as aws - - test = aws.sagemaker.AppImageConfig("test", - app_image_config_name="example", - kernel_gateway_image_config=aws.sagemaker.AppImageConfigKernelGatewayImageConfigArgs( - kernel_spec=aws.sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs( - name="example", - ), - )) - ``` - - ### Default File System Config - - ```python - import pulumi - import pulumi_aws as aws - - test = aws.sagemaker.AppImageConfig("test", - app_image_config_name="example", - kernel_gateway_image_config=aws.sagemaker.AppImageConfigKernelGatewayImageConfigArgs( - kernel_spec=aws.sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs( - name="example", - ), - file_system_config=aws.sagemaker.AppImageConfigKernelGatewayImageConfigFileSystemConfigArgs(), - )) - ``` - ## Import Using `pulumi import`, import SageMaker App Image Configs using the `name`. For example: @@ -312,6 +293,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, app_image_config_name: Optional[pulumi.Input[str]] = None, + code_editor_app_image_config: Optional[pulumi.Input[pulumi.InputType['AppImageConfigCodeEditorAppImageConfigArgs']]] = None, jupyter_lab_image_config: Optional[pulumi.Input[pulumi.InputType['AppImageConfigJupyterLabImageConfigArgs']]] = None, kernel_gateway_image_config: Optional[pulumi.Input[pulumi.InputType['AppImageConfigKernelGatewayImageConfigArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -327,6 +309,7 @@ def _internal_init(__self__, if app_image_config_name is None and not opts.urn: raise TypeError("Missing required property 'app_image_config_name'") __props__.__dict__["app_image_config_name"] = app_image_config_name + __props__.__dict__["code_editor_app_image_config"] = code_editor_app_image_config __props__.__dict__["jupyter_lab_image_config"] = jupyter_lab_image_config __props__.__dict__["kernel_gateway_image_config"] = kernel_gateway_image_config __props__.__dict__["tags"] = tags @@ -344,6 +327,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, app_image_config_name: Optional[pulumi.Input[str]] = None, arn: Optional[pulumi.Input[str]] = None, + code_editor_app_image_config: Optional[pulumi.Input[pulumi.InputType['AppImageConfigCodeEditorAppImageConfigArgs']]] = None, jupyter_lab_image_config: Optional[pulumi.Input[pulumi.InputType['AppImageConfigJupyterLabImageConfigArgs']]] = None, kernel_gateway_image_config: Optional[pulumi.Input[pulumi.InputType['AppImageConfigKernelGatewayImageConfigArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -357,6 +341,8 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] app_image_config_name: The name of the App Image Config. :param pulumi.Input[str] arn: The Amazon Resource Name (ARN) assigned by AWS to this App Image Config. + :param pulumi.Input[pulumi.InputType['AppImageConfigCodeEditorAppImageConfigArgs']] code_editor_app_image_config: The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + :param pulumi.Input[pulumi.InputType['AppImageConfigJupyterLabImageConfigArgs']] jupyter_lab_image_config: The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. :param pulumi.Input[pulumi.InputType['AppImageConfigKernelGatewayImageConfigArgs']] kernel_gateway_image_config: The configuration for the file system and kernels in a SageMaker image running as a KernelGateway app. See Kernel Gateway Image Config details below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -367,6 +353,7 @@ def get(resource_name: str, __props__.__dict__["app_image_config_name"] = app_image_config_name __props__.__dict__["arn"] = arn + __props__.__dict__["code_editor_app_image_config"] = code_editor_app_image_config __props__.__dict__["jupyter_lab_image_config"] = jupyter_lab_image_config __props__.__dict__["kernel_gateway_image_config"] = kernel_gateway_image_config __props__.__dict__["tags"] = tags @@ -389,9 +376,20 @@ def arn(self) -> pulumi.Output[str]: """ return pulumi.get(self, "arn") + @property + @pulumi.getter(name="codeEditorAppImageConfig") + def code_editor_app_image_config(self) -> pulumi.Output[Optional['outputs.AppImageConfigCodeEditorAppImageConfig']]: + """ + The CodeEditorAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in Code Editor. See Code Editor App Image Config details below. + """ + return pulumi.get(self, "code_editor_app_image_config") + @property @pulumi.getter(name="jupyterLabImageConfig") def jupyter_lab_image_config(self) -> pulumi.Output[Optional['outputs.AppImageConfigJupyterLabImageConfig']]: + """ + The JupyterLabAppImageConfig. You can only specify one image kernel in the AppImageConfig API. This kernel is shown to users before the image starts. After the image runs, all kernels are visible in JupyterLab. See Jupyter Lab Image Config details below. + """ return pulumi.get(self, "jupyter_lab_image_config") @property diff --git a/sdk/python/pulumi_aws/sagemaker/domain.py b/sdk/python/pulumi_aws/sagemaker/domain.py index 53f94aaf31c..9b4bcad56eb 100644 --- a/sdk/python/pulumi_aws/sagemaker/domain.py +++ b/sdk/python/pulumi_aws/sagemaker/domain.py @@ -584,41 +584,6 @@ def __init__(__self__, )) ``` - ### Using Custom Images - - ```python - import pulumi - import pulumi_aws as aws - - example = aws.sagemaker.Image("example", - image_name="example", - role_arn=example_aws_iam_role["arn"]) - example_app_image_config = aws.sagemaker.AppImageConfig("example", - app_image_config_name="example", - kernel_gateway_image_config=aws.sagemaker.AppImageConfigKernelGatewayImageConfigArgs( - kernel_spec=aws.sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs( - name="example", - ), - )) - example_image_version = aws.sagemaker.ImageVersion("example", - image_name=example.id, - base_image="base-image") - example_domain = aws.sagemaker.Domain("example", - domain_name="example", - auth_mode="IAM", - vpc_id=example_aws_vpc["id"], - subnet_ids=[example_aws_subnet["id"]], - default_user_settings=aws.sagemaker.DomainDefaultUserSettingsArgs( - execution_role=example_aws_iam_role["arn"], - kernel_gateway_app_settings=aws.sagemaker.DomainDefaultUserSettingsKernelGatewayAppSettingsArgs( - custom_images=[aws.sagemaker.DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs( - app_image_config_name=example_app_image_config.app_image_config_name, - image_name=example_image_version.image_name, - )], - ), - )) - ``` - ## Import Using `pulumi import`, import SageMaker Domains using the `id`. For example: @@ -682,41 +647,6 @@ def __init__(__self__, )) ``` - ### Using Custom Images - - ```python - import pulumi - import pulumi_aws as aws - - example = aws.sagemaker.Image("example", - image_name="example", - role_arn=example_aws_iam_role["arn"]) - example_app_image_config = aws.sagemaker.AppImageConfig("example", - app_image_config_name="example", - kernel_gateway_image_config=aws.sagemaker.AppImageConfigKernelGatewayImageConfigArgs( - kernel_spec=aws.sagemaker.AppImageConfigKernelGatewayImageConfigKernelSpecArgs( - name="example", - ), - )) - example_image_version = aws.sagemaker.ImageVersion("example", - image_name=example.id, - base_image="base-image") - example_domain = aws.sagemaker.Domain("example", - domain_name="example", - auth_mode="IAM", - vpc_id=example_aws_vpc["id"], - subnet_ids=[example_aws_subnet["id"]], - default_user_settings=aws.sagemaker.DomainDefaultUserSettingsArgs( - execution_role=example_aws_iam_role["arn"], - kernel_gateway_app_settings=aws.sagemaker.DomainDefaultUserSettingsKernelGatewayAppSettingsArgs( - custom_images=[aws.sagemaker.DomainDefaultUserSettingsKernelGatewayAppSettingsCustomImageArgs( - app_image_config_name=example_app_image_config.app_image_config_name, - image_name=example_image_version.image_name, - )], - ), - )) - ``` - ## Import Using `pulumi import`, import SageMaker Domains using the `id`. For example: diff --git a/sdk/python/pulumi_aws/sagemaker/outputs.py b/sdk/python/pulumi_aws/sagemaker/outputs.py index b17c9f349d0..92deef07910 100644 --- a/sdk/python/pulumi_aws/sagemaker/outputs.py +++ b/sdk/python/pulumi_aws/sagemaker/outputs.py @@ -11,8 +11,12 @@ from . import outputs __all__ = [ + 'AppImageConfigCodeEditorAppImageConfig', + 'AppImageConfigCodeEditorAppImageConfigContainerConfig', + 'AppImageConfigCodeEditorAppImageConfigFileSystemConfig', 'AppImageConfigJupyterLabImageConfig', 'AppImageConfigJupyterLabImageConfigContainerConfig', + 'AppImageConfigJupyterLabImageConfigFileSystemConfig', 'AppImageConfigKernelGatewayImageConfig', 'AppImageConfigKernelGatewayImageConfigFileSystemConfig', 'AppImageConfigKernelGatewayImageConfigKernelSpec', @@ -200,6 +204,188 @@ 'WorkteamNotificationConfiguration', ] +@pulumi.output_type +class AppImageConfigCodeEditorAppImageConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "containerConfig": + suggest = "container_config" + elif key == "fileSystemConfig": + suggest = "file_system_config" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AppImageConfigCodeEditorAppImageConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AppImageConfigCodeEditorAppImageConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AppImageConfigCodeEditorAppImageConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + container_config: Optional['outputs.AppImageConfigCodeEditorAppImageConfigContainerConfig'] = None, + file_system_config: Optional['outputs.AppImageConfigCodeEditorAppImageConfigFileSystemConfig'] = None): + """ + :param 'AppImageConfigCodeEditorAppImageConfigContainerConfigArgs' container_config: The configuration used to run the application image container. See Container Config details below. + :param 'AppImageConfigCodeEditorAppImageConfigFileSystemConfigArgs' file_system_config: The URL where the Git repository is located. See File System Config details below. + """ + if container_config is not None: + pulumi.set(__self__, "container_config", container_config) + if file_system_config is not None: + pulumi.set(__self__, "file_system_config", file_system_config) + + @property + @pulumi.getter(name="containerConfig") + def container_config(self) -> Optional['outputs.AppImageConfigCodeEditorAppImageConfigContainerConfig']: + """ + The configuration used to run the application image container. See Container Config details below. + """ + return pulumi.get(self, "container_config") + + @property + @pulumi.getter(name="fileSystemConfig") + def file_system_config(self) -> Optional['outputs.AppImageConfigCodeEditorAppImageConfigFileSystemConfig']: + """ + The URL where the Git repository is located. See File System Config details below. + """ + return pulumi.get(self, "file_system_config") + + +@pulumi.output_type +class AppImageConfigCodeEditorAppImageConfigContainerConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "containerArguments": + suggest = "container_arguments" + elif key == "containerEntrypoints": + suggest = "container_entrypoints" + elif key == "containerEnvironmentVariables": + suggest = "container_environment_variables" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AppImageConfigCodeEditorAppImageConfigContainerConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AppImageConfigCodeEditorAppImageConfigContainerConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AppImageConfigCodeEditorAppImageConfigContainerConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + container_arguments: Optional[Sequence[str]] = None, + container_entrypoints: Optional[Sequence[str]] = None, + container_environment_variables: Optional[Mapping[str, str]] = None): + """ + :param Sequence[str] container_arguments: The arguments for the container when you're running the application. + :param Sequence[str] container_entrypoints: The entrypoint used to run the application in the container. + :param Mapping[str, str] container_environment_variables: The environment variables to set in the container. + """ + if container_arguments is not None: + pulumi.set(__self__, "container_arguments", container_arguments) + if container_entrypoints is not None: + pulumi.set(__self__, "container_entrypoints", container_entrypoints) + if container_environment_variables is not None: + pulumi.set(__self__, "container_environment_variables", container_environment_variables) + + @property + @pulumi.getter(name="containerArguments") + def container_arguments(self) -> Optional[Sequence[str]]: + """ + The arguments for the container when you're running the application. + """ + return pulumi.get(self, "container_arguments") + + @property + @pulumi.getter(name="containerEntrypoints") + def container_entrypoints(self) -> Optional[Sequence[str]]: + """ + The entrypoint used to run the application in the container. + """ + return pulumi.get(self, "container_entrypoints") + + @property + @pulumi.getter(name="containerEnvironmentVariables") + def container_environment_variables(self) -> Optional[Mapping[str, str]]: + """ + The environment variables to set in the container. + """ + return pulumi.get(self, "container_environment_variables") + + +@pulumi.output_type +class AppImageConfigCodeEditorAppImageConfigFileSystemConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultGid": + suggest = "default_gid" + elif key == "defaultUid": + suggest = "default_uid" + elif key == "mountPath": + suggest = "mount_path" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AppImageConfigCodeEditorAppImageConfigFileSystemConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AppImageConfigCodeEditorAppImageConfigFileSystemConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AppImageConfigCodeEditorAppImageConfigFileSystemConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_gid: Optional[int] = None, + default_uid: Optional[int] = None, + mount_path: Optional[str] = None): + """ + :param int default_gid: The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + :param int default_uid: The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + :param str mount_path: The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + + > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + """ + if default_gid is not None: + pulumi.set(__self__, "default_gid", default_gid) + if default_uid is not None: + pulumi.set(__self__, "default_uid", default_uid) + if mount_path is not None: + pulumi.set(__self__, "mount_path", mount_path) + + @property + @pulumi.getter(name="defaultGid") + def default_gid(self) -> Optional[int]: + """ + The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + """ + return pulumi.get(self, "default_gid") + + @property + @pulumi.getter(name="defaultUid") + def default_uid(self) -> Optional[int]: + """ + The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + """ + return pulumi.get(self, "default_uid") + + @property + @pulumi.getter(name="mountPath") + def mount_path(self) -> Optional[str]: + """ + The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + + > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + """ + return pulumi.get(self, "mount_path") + + @pulumi.output_type class AppImageConfigJupyterLabImageConfig(dict): @staticmethod @@ -207,6 +393,8 @@ def __key_warning(key: str): suggest = None if key == "containerConfig": suggest = "container_config" + elif key == "fileSystemConfig": + suggest = "file_system_config" if suggest: pulumi.log.warn(f"Key '{key}' not found in AppImageConfigJupyterLabImageConfig. Access the value via the '{suggest}' property getter instead.") @@ -220,12 +408,16 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - container_config: Optional['outputs.AppImageConfigJupyterLabImageConfigContainerConfig'] = None): + container_config: Optional['outputs.AppImageConfigJupyterLabImageConfigContainerConfig'] = None, + file_system_config: Optional['outputs.AppImageConfigJupyterLabImageConfigFileSystemConfig'] = None): """ :param 'AppImageConfigJupyterLabImageConfigContainerConfigArgs' container_config: The configuration used to run the application image container. See Container Config details below. + :param 'AppImageConfigJupyterLabImageConfigFileSystemConfigArgs' file_system_config: The URL where the Git repository is located. See File System Config details below. """ if container_config is not None: pulumi.set(__self__, "container_config", container_config) + if file_system_config is not None: + pulumi.set(__self__, "file_system_config", file_system_config) @property @pulumi.getter(name="containerConfig") @@ -235,6 +427,14 @@ def container_config(self) -> Optional['outputs.AppImageConfigJupyterLabImageCon """ return pulumi.get(self, "container_config") + @property + @pulumi.getter(name="fileSystemConfig") + def file_system_config(self) -> Optional['outputs.AppImageConfigJupyterLabImageConfigFileSystemConfig']: + """ + The URL where the Git repository is located. See File System Config details below. + """ + return pulumi.get(self, "file_system_config") + @pulumi.output_type class AppImageConfigJupyterLabImageConfigContainerConfig(dict): @@ -300,6 +500,74 @@ def container_environment_variables(self) -> Optional[Mapping[str, str]]: return pulumi.get(self, "container_environment_variables") +@pulumi.output_type +class AppImageConfigJupyterLabImageConfigFileSystemConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "defaultGid": + suggest = "default_gid" + elif key == "defaultUid": + suggest = "default_uid" + elif key == "mountPath": + suggest = "mount_path" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AppImageConfigJupyterLabImageConfigFileSystemConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AppImageConfigJupyterLabImageConfigFileSystemConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AppImageConfigJupyterLabImageConfigFileSystemConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + default_gid: Optional[int] = None, + default_uid: Optional[int] = None, + mount_path: Optional[str] = None): + """ + :param int default_gid: The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + :param int default_uid: The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + :param str mount_path: The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + + > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + """ + if default_gid is not None: + pulumi.set(__self__, "default_gid", default_gid) + if default_uid is not None: + pulumi.set(__self__, "default_uid", default_uid) + if mount_path is not None: + pulumi.set(__self__, "mount_path", mount_path) + + @property + @pulumi.getter(name="defaultGid") + def default_gid(self) -> Optional[int]: + """ + The default POSIX group ID (GID). If not specified, defaults to `100`. Valid values are `0` and `100`. + """ + return pulumi.get(self, "default_gid") + + @property + @pulumi.getter(name="defaultUid") + def default_uid(self) -> Optional[int]: + """ + The default POSIX user ID (UID). If not specified, defaults to `1000`. Valid values are `0` and `1000`. + """ + return pulumi.get(self, "default_uid") + + @property + @pulumi.getter(name="mountPath") + def mount_path(self) -> Optional[str]: + """ + The path within the image to mount the user's EFS home directory. The directory should be empty. If not specified, defaults to `/home/sagemaker-user`. + + > **Note:** When specifying `default_gid` and `default_uid`, Valid value pairs are [`0`, `0`] and [`100`, `1000`]. + """ + return pulumi.get(self, "mount_path") + + @pulumi.output_type class AppImageConfigKernelGatewayImageConfig(dict): @staticmethod diff --git a/sdk/python/pulumi_aws/transfer/server.py b/sdk/python/pulumi_aws/transfer/server.py index 2793b588750..c58af14f0ef 100644 --- a/sdk/python/pulumi_aws/transfer/server.py +++ b/sdk/python/pulumi_aws/transfer/server.py @@ -33,6 +33,7 @@ def __init__(__self__, *, protocols: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, s3_storage_options: Optional[pulumi.Input['ServerS3StorageOptionsArgs']] = None, security_policy_name: Optional[pulumi.Input[str]] = None, + sftp_authentication_methods: Optional[pulumi.Input[str]] = None, structured_log_destinations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, url: Optional[pulumi.Input[str]] = None, @@ -66,6 +67,7 @@ def __init__(__self__, *, * `TransferSecurityPolicy-FIPS-2020-06` * `TransferSecurityPolicy-PQ-SSH-Experimental-2023-04` * `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04` + :param pulumi.Input[str] sftp_authentication_methods: For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. :param pulumi.Input[Sequence[pulumi.Input[str]]] structured_log_destinations: A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[str] url: URL of the service endpoint used to authenticate users with an `identity_provider_type` of `API_GATEWAY`. @@ -105,6 +107,8 @@ def __init__(__self__, *, pulumi.set(__self__, "s3_storage_options", s3_storage_options) if security_policy_name is not None: pulumi.set(__self__, "security_policy_name", security_policy_name) + if sftp_authentication_methods is not None: + pulumi.set(__self__, "sftp_authentication_methods", sftp_authentication_methods) if structured_log_destinations is not None: pulumi.set(__self__, "structured_log_destinations", structured_log_destinations) if tags is not None: @@ -328,6 +332,18 @@ def security_policy_name(self) -> Optional[pulumi.Input[str]]: def security_policy_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "security_policy_name", value) + @property + @pulumi.getter(name="sftpAuthenticationMethods") + def sftp_authentication_methods(self) -> Optional[pulumi.Input[str]]: + """ + For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + """ + return pulumi.get(self, "sftp_authentication_methods") + + @sftp_authentication_methods.setter + def sftp_authentication_methods(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sftp_authentication_methods", value) + @property @pulumi.getter(name="structuredLogDestinations") def structured_log_destinations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -400,6 +416,7 @@ def __init__(__self__, *, protocols: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, s3_storage_options: Optional[pulumi.Input['ServerS3StorageOptionsArgs']] = None, security_policy_name: Optional[pulumi.Input[str]] = None, + sftp_authentication_methods: Optional[pulumi.Input[str]] = None, structured_log_destinations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -437,6 +454,7 @@ def __init__(__self__, *, * `TransferSecurityPolicy-FIPS-2020-06` * `TransferSecurityPolicy-PQ-SSH-Experimental-2023-04` * `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04` + :param pulumi.Input[str] sftp_authentication_methods: For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. :param pulumi.Input[Sequence[pulumi.Input[str]]] structured_log_destinations: A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -483,6 +501,8 @@ def __init__(__self__, *, pulumi.set(__self__, "s3_storage_options", s3_storage_options) if security_policy_name is not None: pulumi.set(__self__, "security_policy_name", security_policy_name) + if sftp_authentication_methods is not None: + pulumi.set(__self__, "sftp_authentication_methods", sftp_authentication_methods) if structured_log_destinations is not None: pulumi.set(__self__, "structured_log_destinations", structured_log_destinations) if tags is not None: @@ -747,6 +767,18 @@ def security_policy_name(self) -> Optional[pulumi.Input[str]]: def security_policy_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "security_policy_name", value) + @property + @pulumi.getter(name="sftpAuthenticationMethods") + def sftp_authentication_methods(self) -> Optional[pulumi.Input[str]]: + """ + For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + """ + return pulumi.get(self, "sftp_authentication_methods") + + @sftp_authentication_methods.setter + def sftp_authentication_methods(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "sftp_authentication_methods", value) + @property @pulumi.getter(name="structuredLogDestinations") def structured_log_destinations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: @@ -833,6 +865,7 @@ def __init__(__self__, protocols: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, s3_storage_options: Optional[pulumi.Input[pulumi.InputType['ServerS3StorageOptionsArgs']]] = None, security_policy_name: Optional[pulumi.Input[str]] = None, + sftp_authentication_methods: Optional[pulumi.Input[str]] = None, structured_log_destinations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, url: Optional[pulumi.Input[str]] = None, @@ -989,6 +1022,7 @@ def __init__(__self__, * `TransferSecurityPolicy-FIPS-2020-06` * `TransferSecurityPolicy-PQ-SSH-Experimental-2023-04` * `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04` + :param pulumi.Input[str] sftp_authentication_methods: For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. :param pulumi.Input[Sequence[pulumi.Input[str]]] structured_log_destinations: A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[str] url: URL of the service endpoint used to authenticate users with an `identity_provider_type` of `API_GATEWAY`. @@ -1154,6 +1188,7 @@ def _internal_init(__self__, protocols: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, s3_storage_options: Optional[pulumi.Input[pulumi.InputType['ServerS3StorageOptionsArgs']]] = None, security_policy_name: Optional[pulumi.Input[str]] = None, + sftp_authentication_methods: Optional[pulumi.Input[str]] = None, structured_log_destinations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, url: Optional[pulumi.Input[str]] = None, @@ -1184,6 +1219,7 @@ def _internal_init(__self__, __props__.__dict__["protocols"] = protocols __props__.__dict__["s3_storage_options"] = s3_storage_options __props__.__dict__["security_policy_name"] = security_policy_name + __props__.__dict__["sftp_authentication_methods"] = sftp_authentication_methods __props__.__dict__["structured_log_destinations"] = structured_log_destinations __props__.__dict__["tags"] = tags __props__.__dict__["url"] = url @@ -1224,6 +1260,7 @@ def get(resource_name: str, protocols: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, s3_storage_options: Optional[pulumi.Input[pulumi.InputType['ServerS3StorageOptionsArgs']]] = None, security_policy_name: Optional[pulumi.Input[str]] = None, + sftp_authentication_methods: Optional[pulumi.Input[str]] = None, structured_log_destinations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, @@ -1266,6 +1303,7 @@ def get(resource_name: str, * `TransferSecurityPolicy-FIPS-2020-06` * `TransferSecurityPolicy-PQ-SSH-Experimental-2023-04` * `TransferSecurityPolicy-PQ-SSH-FIPS-Experimental-2023-04` + :param pulumi.Input[str] sftp_authentication_methods: For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. :param pulumi.Input[Sequence[pulumi.Input[str]]] structured_log_destinations: A set of ARNs of destinations that will receive structured logs from the transfer server such as CloudWatch Log Group ARNs. If provided this enables the transfer server to emit structured logs to the specified locations. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. @@ -1296,6 +1334,7 @@ def get(resource_name: str, __props__.__dict__["protocols"] = protocols __props__.__dict__["s3_storage_options"] = s3_storage_options __props__.__dict__["security_policy_name"] = security_policy_name + __props__.__dict__["sftp_authentication_methods"] = sftp_authentication_methods __props__.__dict__["structured_log_destinations"] = structured_log_destinations __props__.__dict__["tags"] = tags __props__.__dict__["tags_all"] = tags_all @@ -1473,6 +1512,14 @@ def security_policy_name(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "security_policy_name") + @property + @pulumi.getter(name="sftpAuthenticationMethods") + def sftp_authentication_methods(self) -> pulumi.Output[str]: + """ + For SFTP-enabled servers, and for custom identity providers only. Valid values are `PASSWORD`, `PUBLIC_KEY`, `PUBLIC_KEY_OR_PASSWORD` and `PUBLIC_KEY_AND_PASSWORD`. Default value is: `PUBLIC_KEY_OR_PASSWORD`. + """ + return pulumi.get(self, "sftp_authentication_methods") + @property @pulumi.getter(name="structuredLogDestinations") def structured_log_destinations(self) -> pulumi.Output[Optional[Sequence[str]]]: diff --git a/sdk/python/pulumi_aws/verifiedpermissions/__init__.py b/sdk/python/pulumi_aws/verifiedpermissions/__init__.py index d8f6ebe29bf..6e221799003 100644 --- a/sdk/python/pulumi_aws/verifiedpermissions/__init__.py +++ b/sdk/python/pulumi_aws/verifiedpermissions/__init__.py @@ -6,6 +6,7 @@ import typing # Export this package's modules as members: from .get_policy_store import * +from .policy import * from .policy_store import * from .policy_template import * from .schema import * diff --git a/sdk/python/pulumi_aws/verifiedpermissions/_inputs.py b/sdk/python/pulumi_aws/verifiedpermissions/_inputs.py index 6cd3ed017fa..97e82201440 100644 --- a/sdk/python/pulumi_aws/verifiedpermissions/_inputs.py +++ b/sdk/python/pulumi_aws/verifiedpermissions/_inputs.py @@ -10,10 +10,220 @@ from .. import _utilities __all__ = [ + 'PolicyDefinitionArgs', + 'PolicyDefinitionStaticArgs', + 'PolicyDefinitionTemplateLinkedArgs', + 'PolicyDefinitionTemplateLinkedPrincipalArgs', + 'PolicyDefinitionTemplateLinkedResourceArgs', 'PolicyStoreValidationSettingsArgs', 'SchemaDefinitionArgs', ] +@pulumi.input_type +class PolicyDefinitionArgs: + def __init__(__self__, *, + static: Optional[pulumi.Input['PolicyDefinitionStaticArgs']] = None, + template_linked: Optional[pulumi.Input['PolicyDefinitionTemplateLinkedArgs']] = None): + """ + :param pulumi.Input['PolicyDefinitionStaticArgs'] static: The static policy statement. See Static below. + :param pulumi.Input['PolicyDefinitionTemplateLinkedArgs'] template_linked: The template linked policy. See Template Linked below. + """ + if static is not None: + pulumi.set(__self__, "static", static) + if template_linked is not None: + pulumi.set(__self__, "template_linked", template_linked) + + @property + @pulumi.getter + def static(self) -> Optional[pulumi.Input['PolicyDefinitionStaticArgs']]: + """ + The static policy statement. See Static below. + """ + return pulumi.get(self, "static") + + @static.setter + def static(self, value: Optional[pulumi.Input['PolicyDefinitionStaticArgs']]): + pulumi.set(self, "static", value) + + @property + @pulumi.getter(name="templateLinked") + def template_linked(self) -> Optional[pulumi.Input['PolicyDefinitionTemplateLinkedArgs']]: + """ + The template linked policy. See Template Linked below. + """ + return pulumi.get(self, "template_linked") + + @template_linked.setter + def template_linked(self, value: Optional[pulumi.Input['PolicyDefinitionTemplateLinkedArgs']]): + pulumi.set(self, "template_linked", value) + + +@pulumi.input_type +class PolicyDefinitionStaticArgs: + def __init__(__self__, *, + statement: pulumi.Input[str], + description: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] statement: The statement of the static policy. + :param pulumi.Input[str] description: The description of the static policy. + """ + pulumi.set(__self__, "statement", statement) + if description is not None: + pulumi.set(__self__, "description", description) + + @property + @pulumi.getter + def statement(self) -> pulumi.Input[str]: + """ + The statement of the static policy. + """ + return pulumi.get(self, "statement") + + @statement.setter + def statement(self, value: pulumi.Input[str]): + pulumi.set(self, "statement", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The description of the static policy. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + +@pulumi.input_type +class PolicyDefinitionTemplateLinkedArgs: + def __init__(__self__, *, + policy_template_id: pulumi.Input[str], + principal: Optional[pulumi.Input['PolicyDefinitionTemplateLinkedPrincipalArgs']] = None, + resource: Optional[pulumi.Input['PolicyDefinitionTemplateLinkedResourceArgs']] = None): + """ + :param pulumi.Input[str] policy_template_id: The ID of the template. + :param pulumi.Input['PolicyDefinitionTemplateLinkedPrincipalArgs'] principal: The principal of the template linked policy. + :param pulumi.Input['PolicyDefinitionTemplateLinkedResourceArgs'] resource: The resource of the template linked policy. + """ + pulumi.set(__self__, "policy_template_id", policy_template_id) + if principal is not None: + pulumi.set(__self__, "principal", principal) + if resource is not None: + pulumi.set(__self__, "resource", resource) + + @property + @pulumi.getter(name="policyTemplateId") + def policy_template_id(self) -> pulumi.Input[str]: + """ + The ID of the template. + """ + return pulumi.get(self, "policy_template_id") + + @policy_template_id.setter + def policy_template_id(self, value: pulumi.Input[str]): + pulumi.set(self, "policy_template_id", value) + + @property + @pulumi.getter + def principal(self) -> Optional[pulumi.Input['PolicyDefinitionTemplateLinkedPrincipalArgs']]: + """ + The principal of the template linked policy. + """ + return pulumi.get(self, "principal") + + @principal.setter + def principal(self, value: Optional[pulumi.Input['PolicyDefinitionTemplateLinkedPrincipalArgs']]): + pulumi.set(self, "principal", value) + + @property + @pulumi.getter + def resource(self) -> Optional[pulumi.Input['PolicyDefinitionTemplateLinkedResourceArgs']]: + """ + The resource of the template linked policy. + """ + return pulumi.get(self, "resource") + + @resource.setter + def resource(self, value: Optional[pulumi.Input['PolicyDefinitionTemplateLinkedResourceArgs']]): + pulumi.set(self, "resource", value) + + +@pulumi.input_type +class PolicyDefinitionTemplateLinkedPrincipalArgs: + def __init__(__self__, *, + entity_id: pulumi.Input[str], + entity_type: pulumi.Input[str]): + """ + :param pulumi.Input[str] entity_id: The entity ID of the principal. + :param pulumi.Input[str] entity_type: The entity type of the principal. + """ + pulumi.set(__self__, "entity_id", entity_id) + pulumi.set(__self__, "entity_type", entity_type) + + @property + @pulumi.getter(name="entityId") + def entity_id(self) -> pulumi.Input[str]: + """ + The entity ID of the principal. + """ + return pulumi.get(self, "entity_id") + + @entity_id.setter + def entity_id(self, value: pulumi.Input[str]): + pulumi.set(self, "entity_id", value) + + @property + @pulumi.getter(name="entityType") + def entity_type(self) -> pulumi.Input[str]: + """ + The entity type of the principal. + """ + return pulumi.get(self, "entity_type") + + @entity_type.setter + def entity_type(self, value: pulumi.Input[str]): + pulumi.set(self, "entity_type", value) + + +@pulumi.input_type +class PolicyDefinitionTemplateLinkedResourceArgs: + def __init__(__self__, *, + entity_id: pulumi.Input[str], + entity_type: pulumi.Input[str]): + """ + :param pulumi.Input[str] entity_id: The entity ID of the resource. + :param pulumi.Input[str] entity_type: The entity type of the resource. + """ + pulumi.set(__self__, "entity_id", entity_id) + pulumi.set(__self__, "entity_type", entity_type) + + @property + @pulumi.getter(name="entityId") + def entity_id(self) -> pulumi.Input[str]: + """ + The entity ID of the resource. + """ + return pulumi.get(self, "entity_id") + + @entity_id.setter + def entity_id(self, value: pulumi.Input[str]): + pulumi.set(self, "entity_id", value) + + @property + @pulumi.getter(name="entityType") + def entity_type(self) -> pulumi.Input[str]: + """ + The entity type of the resource. + """ + return pulumi.get(self, "entity_type") + + @entity_type.setter + def entity_type(self, value: pulumi.Input[str]): + pulumi.set(self, "entity_type", value) + + @pulumi.input_type class PolicyStoreValidationSettingsArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/verifiedpermissions/outputs.py b/sdk/python/pulumi_aws/verifiedpermissions/outputs.py index b608965effe..974adb8a739 100644 --- a/sdk/python/pulumi_aws/verifiedpermissions/outputs.py +++ b/sdk/python/pulumi_aws/verifiedpermissions/outputs.py @@ -8,13 +8,252 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from . import outputs __all__ = [ + 'PolicyDefinition', + 'PolicyDefinitionStatic', + 'PolicyDefinitionTemplateLinked', + 'PolicyDefinitionTemplateLinkedPrincipal', + 'PolicyDefinitionTemplateLinkedResource', 'PolicyStoreValidationSettings', 'SchemaDefinition', 'GetPolicyStoreValidationSettingResult', ] +@pulumi.output_type +class PolicyDefinition(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "templateLinked": + suggest = "template_linked" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyDefinition. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyDefinition.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyDefinition.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + static: Optional['outputs.PolicyDefinitionStatic'] = None, + template_linked: Optional['outputs.PolicyDefinitionTemplateLinked'] = None): + """ + :param 'PolicyDefinitionStaticArgs' static: The static policy statement. See Static below. + :param 'PolicyDefinitionTemplateLinkedArgs' template_linked: The template linked policy. See Template Linked below. + """ + if static is not None: + pulumi.set(__self__, "static", static) + if template_linked is not None: + pulumi.set(__self__, "template_linked", template_linked) + + @property + @pulumi.getter + def static(self) -> Optional['outputs.PolicyDefinitionStatic']: + """ + The static policy statement. See Static below. + """ + return pulumi.get(self, "static") + + @property + @pulumi.getter(name="templateLinked") + def template_linked(self) -> Optional['outputs.PolicyDefinitionTemplateLinked']: + """ + The template linked policy. See Template Linked below. + """ + return pulumi.get(self, "template_linked") + + +@pulumi.output_type +class PolicyDefinitionStatic(dict): + def __init__(__self__, *, + statement: str, + description: Optional[str] = None): + """ + :param str statement: The statement of the static policy. + :param str description: The description of the static policy. + """ + pulumi.set(__self__, "statement", statement) + if description is not None: + pulumi.set(__self__, "description", description) + + @property + @pulumi.getter + def statement(self) -> str: + """ + The statement of the static policy. + """ + return pulumi.get(self, "statement") + + @property + @pulumi.getter + def description(self) -> Optional[str]: + """ + The description of the static policy. + """ + return pulumi.get(self, "description") + + +@pulumi.output_type +class PolicyDefinitionTemplateLinked(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "policyTemplateId": + suggest = "policy_template_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyDefinitionTemplateLinked. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyDefinitionTemplateLinked.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyDefinitionTemplateLinked.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + policy_template_id: str, + principal: Optional['outputs.PolicyDefinitionTemplateLinkedPrincipal'] = None, + resource: Optional['outputs.PolicyDefinitionTemplateLinkedResource'] = None): + """ + :param str policy_template_id: The ID of the template. + :param 'PolicyDefinitionTemplateLinkedPrincipalArgs' principal: The principal of the template linked policy. + :param 'PolicyDefinitionTemplateLinkedResourceArgs' resource: The resource of the template linked policy. + """ + pulumi.set(__self__, "policy_template_id", policy_template_id) + if principal is not None: + pulumi.set(__self__, "principal", principal) + if resource is not None: + pulumi.set(__self__, "resource", resource) + + @property + @pulumi.getter(name="policyTemplateId") + def policy_template_id(self) -> str: + """ + The ID of the template. + """ + return pulumi.get(self, "policy_template_id") + + @property + @pulumi.getter + def principal(self) -> Optional['outputs.PolicyDefinitionTemplateLinkedPrincipal']: + """ + The principal of the template linked policy. + """ + return pulumi.get(self, "principal") + + @property + @pulumi.getter + def resource(self) -> Optional['outputs.PolicyDefinitionTemplateLinkedResource']: + """ + The resource of the template linked policy. + """ + return pulumi.get(self, "resource") + + +@pulumi.output_type +class PolicyDefinitionTemplateLinkedPrincipal(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "entityId": + suggest = "entity_id" + elif key == "entityType": + suggest = "entity_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyDefinitionTemplateLinkedPrincipal. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyDefinitionTemplateLinkedPrincipal.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyDefinitionTemplateLinkedPrincipal.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + entity_id: str, + entity_type: str): + """ + :param str entity_id: The entity ID of the principal. + :param str entity_type: The entity type of the principal. + """ + pulumi.set(__self__, "entity_id", entity_id) + pulumi.set(__self__, "entity_type", entity_type) + + @property + @pulumi.getter(name="entityId") + def entity_id(self) -> str: + """ + The entity ID of the principal. + """ + return pulumi.get(self, "entity_id") + + @property + @pulumi.getter(name="entityType") + def entity_type(self) -> str: + """ + The entity type of the principal. + """ + return pulumi.get(self, "entity_type") + + +@pulumi.output_type +class PolicyDefinitionTemplateLinkedResource(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "entityId": + suggest = "entity_id" + elif key == "entityType": + suggest = "entity_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in PolicyDefinitionTemplateLinkedResource. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + PolicyDefinitionTemplateLinkedResource.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + PolicyDefinitionTemplateLinkedResource.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + entity_id: str, + entity_type: str): + """ + :param str entity_id: The entity ID of the resource. + :param str entity_type: The entity type of the resource. + """ + pulumi.set(__self__, "entity_id", entity_id) + pulumi.set(__self__, "entity_type", entity_type) + + @property + @pulumi.getter(name="entityId") + def entity_id(self) -> str: + """ + The entity ID of the resource. + """ + return pulumi.get(self, "entity_id") + + @property + @pulumi.getter(name="entityType") + def entity_type(self) -> str: + """ + The entity type of the resource. + """ + return pulumi.get(self, "entity_type") + + @pulumi.output_type class PolicyStoreValidationSettings(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/verifiedpermissions/policy.py b/sdk/python/pulumi_aws/verifiedpermissions/policy.py new file mode 100644 index 00000000000..e6af1018b02 --- /dev/null +++ b/sdk/python/pulumi_aws/verifiedpermissions/policy.py @@ -0,0 +1,299 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['PolicyArgs', 'Policy'] + +@pulumi.input_type +class PolicyArgs: + def __init__(__self__, *, + policy_store_id: pulumi.Input[str], + definition: Optional[pulumi.Input['PolicyDefinitionArgs']] = None): + """ + The set of arguments for constructing a Policy resource. + :param pulumi.Input[str] policy_store_id: The Policy Store ID of the policy store. + :param pulumi.Input['PolicyDefinitionArgs'] definition: The definition of the policy. See Definition below. + + The following arguments are optional: + """ + pulumi.set(__self__, "policy_store_id", policy_store_id) + if definition is not None: + pulumi.set(__self__, "definition", definition) + + @property + @pulumi.getter(name="policyStoreId") + def policy_store_id(self) -> pulumi.Input[str]: + """ + The Policy Store ID of the policy store. + """ + return pulumi.get(self, "policy_store_id") + + @policy_store_id.setter + def policy_store_id(self, value: pulumi.Input[str]): + pulumi.set(self, "policy_store_id", value) + + @property + @pulumi.getter + def definition(self) -> Optional[pulumi.Input['PolicyDefinitionArgs']]: + """ + The definition of the policy. See Definition below. + + The following arguments are optional: + """ + return pulumi.get(self, "definition") + + @definition.setter + def definition(self, value: Optional[pulumi.Input['PolicyDefinitionArgs']]): + pulumi.set(self, "definition", value) + + +@pulumi.input_type +class _PolicyState: + def __init__(__self__, *, + created_date: Optional[pulumi.Input[str]] = None, + definition: Optional[pulumi.Input['PolicyDefinitionArgs']] = None, + policy_id: Optional[pulumi.Input[str]] = None, + policy_store_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Policy resources. + :param pulumi.Input['PolicyDefinitionArgs'] definition: The definition of the policy. See Definition below. + + The following arguments are optional: + :param pulumi.Input[str] policy_store_id: The Policy Store ID of the policy store. + """ + if created_date is not None: + pulumi.set(__self__, "created_date", created_date) + if definition is not None: + pulumi.set(__self__, "definition", definition) + if policy_id is not None: + pulumi.set(__self__, "policy_id", policy_id) + if policy_store_id is not None: + pulumi.set(__self__, "policy_store_id", policy_store_id) + + @property + @pulumi.getter(name="createdDate") + def created_date(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "created_date") + + @created_date.setter + def created_date(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_date", value) + + @property + @pulumi.getter + def definition(self) -> Optional[pulumi.Input['PolicyDefinitionArgs']]: + """ + The definition of the policy. See Definition below. + + The following arguments are optional: + """ + return pulumi.get(self, "definition") + + @definition.setter + def definition(self, value: Optional[pulumi.Input['PolicyDefinitionArgs']]): + pulumi.set(self, "definition", value) + + @property + @pulumi.getter(name="policyId") + def policy_id(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "policy_id") + + @policy_id.setter + def policy_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "policy_id", value) + + @property + @pulumi.getter(name="policyStoreId") + def policy_store_id(self) -> Optional[pulumi.Input[str]]: + """ + The Policy Store ID of the policy store. + """ + return pulumi.get(self, "policy_store_id") + + @policy_store_id.setter + def policy_store_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "policy_store_id", value) + + +class Policy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + definition: Optional[pulumi.Input[pulumi.InputType['PolicyDefinitionArgs']]] = None, + policy_store_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Resource for managing an AWS Verified Permissions Policy. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.verifiedpermissions.Policy("test", + policy_store_id=test_aws_verifiedpermissions_policy_store["id"], + definition=aws.verifiedpermissions.PolicyDefinitionArgs( + static=aws.verifiedpermissions.PolicyDefinitionStaticArgs( + statement="permit (principal, action == Action::\\"view\\", resource in Album:: \\"test_album\\");", + ), + )) + ``` + + ## Import + + Using `pulumi import`, import Verified Permissions Policy using the `policy_id,policy_store_id`. For example: + + ```sh + $ pulumi import aws:verifiedpermissions/policy:Policy example policy-id-12345678,policy-store-id-12345678 + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[pulumi.InputType['PolicyDefinitionArgs']] definition: The definition of the policy. See Definition below. + + The following arguments are optional: + :param pulumi.Input[str] policy_store_id: The Policy Store ID of the policy store. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: PolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS Verified Permissions Policy. + + ## Example Usage + + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.verifiedpermissions.Policy("test", + policy_store_id=test_aws_verifiedpermissions_policy_store["id"], + definition=aws.verifiedpermissions.PolicyDefinitionArgs( + static=aws.verifiedpermissions.PolicyDefinitionStaticArgs( + statement="permit (principal, action == Action::\\"view\\", resource in Album:: \\"test_album\\");", + ), + )) + ``` + + ## Import + + Using `pulumi import`, import Verified Permissions Policy using the `policy_id,policy_store_id`. For example: + + ```sh + $ pulumi import aws:verifiedpermissions/policy:Policy example policy-id-12345678,policy-store-id-12345678 + ``` + + :param str resource_name: The name of the resource. + :param PolicyArgs 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(PolicyArgs, 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, + definition: Optional[pulumi.Input[pulumi.InputType['PolicyDefinitionArgs']]] = None, + policy_store_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = PolicyArgs.__new__(PolicyArgs) + + __props__.__dict__["definition"] = definition + if policy_store_id is None and not opts.urn: + raise TypeError("Missing required property 'policy_store_id'") + __props__.__dict__["policy_store_id"] = policy_store_id + __props__.__dict__["created_date"] = None + __props__.__dict__["policy_id"] = None + super(Policy, __self__).__init__( + 'aws:verifiedpermissions/policy:Policy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + created_date: Optional[pulumi.Input[str]] = None, + definition: Optional[pulumi.Input[pulumi.InputType['PolicyDefinitionArgs']]] = None, + policy_id: Optional[pulumi.Input[str]] = None, + policy_store_id: Optional[pulumi.Input[str]] = None) -> 'Policy': + """ + Get an existing Policy 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[pulumi.InputType['PolicyDefinitionArgs']] definition: The definition of the policy. See Definition below. + + The following arguments are optional: + :param pulumi.Input[str] policy_store_id: The Policy Store ID of the policy store. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _PolicyState.__new__(_PolicyState) + + __props__.__dict__["created_date"] = created_date + __props__.__dict__["definition"] = definition + __props__.__dict__["policy_id"] = policy_id + __props__.__dict__["policy_store_id"] = policy_store_id + return Policy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter(name="createdDate") + def created_date(self) -> pulumi.Output[str]: + return pulumi.get(self, "created_date") + + @property + @pulumi.getter + def definition(self) -> pulumi.Output[Optional['outputs.PolicyDefinition']]: + """ + The definition of the policy. See Definition below. + + The following arguments are optional: + """ + return pulumi.get(self, "definition") + + @property + @pulumi.getter(name="policyId") + def policy_id(self) -> pulumi.Output[str]: + return pulumi.get(self, "policy_id") + + @property + @pulumi.getter(name="policyStoreId") + def policy_store_id(self) -> pulumi.Output[str]: + """ + The Policy Store ID of the policy store. + """ + return pulumi.get(self, "policy_store_id") + From e272a0ea12c4e6e6d6a388069f70e784c02d81d1 Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Tue, 30 Apr 2024 11:49:08 -0400 Subject: [PATCH 11/13] Disambiguate BcmData.Export.Export in C# --- provider/resources.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/provider/resources.go b/provider/resources.go index 13eaa6afc89..d3ca9cb8c0d 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -1247,6 +1247,15 @@ func ProviderFromMeta(metaInfo *tfbridge.MetadataInfo) *tfbridge.ProviderInfo { "aws_batch_job_definition": {Tok: awsResource(batchMod, "JobDefinition")}, "aws_batch_job_queue": {Tok: awsResource(batchMod, "JobQueue")}, "aws_batch_scheduling_policy": {Tok: awsResource(batchMod, "SchedulingPolicy")}, + // BCM + "aws_bcmdataexports_export": { + Tok: awsResource(bcmDataMod, "Export"), + Fields: map[string]*tfbridge.SchemaInfo{ + "export": { + CSharpName: "ExportDetails", + }, + }, + }, // Chime "aws_chime_voice_connector": {Tok: awsResource(chimeMod, "VoiceConnector")}, "aws_chime_voice_connector_group": {Tok: awsResource(chimeMod, "VoiceConnectorGroup")}, From 11ed888457b1781c1e2ec72b462d55a5f00520df Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Tue, 30 Apr 2024 11:49:16 -0400 Subject: [PATCH 12/13] make build_dotnet --- provider/cmd/pulumi-resource-aws/schema.json | 23 ++++++++++++++++---- sdk/dotnet/BcmData/Export.cs | 8 +++---- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/provider/cmd/pulumi-resource-aws/schema.json b/provider/cmd/pulumi-resource-aws/schema.json index 3e4d890b67e..dc00fc32ed1 100644 --- a/provider/cmd/pulumi-resource-aws/schema.json +++ b/provider/cmd/pulumi-resource-aws/schema.json @@ -178228,11 +178228,16 @@ } }, "aws:bcmdata/export:Export": { - "description": "Resource for managing an AWS BCM Data Exports Export.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.bcmdata.Export(\"test\", {\"export\": {\n name: \"testexample\",\n dataQueries: [{\n queryStatement: \"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\",\n tableConfigurations: {\n COST_AND_USAGE_REPORT: {\n TIME_GRANULARITY: \"HOURLY\",\n INCLUDE_RESOURCES: \"FALSE\",\n INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY: \"FALSE\",\n INCLUDE_SPLIT_COST_ALLOCATION_DATA: \"FALSE\",\n },\n },\n }],\n destinationConfigurations: [{\n s3Destinations: [{\n s3Bucket: testAwsS3Bucket.bucket,\n s3Prefix: testAwsS3Bucket.bucketPrefix,\n s3Region: testAwsS3Bucket.region,\n s3OutputConfigurations: [{\n overwrite: \"OVERWRITE_REPORT\",\n format: \"TEXT_OR_CSV\",\n compression: \"GZIP\",\n outputType: \"CUSTOM\",\n }],\n }],\n }],\n refreshCadences: [{\n frequency: \"SYNCHRONOUS\",\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bcmdata.Export(\"test\", export=aws.bcmdata.ExportExportArgs(\n name=\"testexample\",\n data_queries=[aws.bcmdata.ExportExportDataQueryArgs(\n query_statement=\"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\",\n table_configurations={\n \"COST_AND_USAGE_REPORT\": {\n \"TIME_GRANULARITY\": \"HOURLY\",\n \"INCLUDE_RESOURCES\": \"FALSE\",\n \"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\": \"FALSE\",\n \"INCLUDE_SPLIT_COST_ALLOCATION_DATA\": \"FALSE\",\n },\n },\n )],\n destination_configurations=[aws.bcmdata.ExportExportDestinationConfigurationArgs(\n s3_destinations=[aws.bcmdata.ExportExportDestinationConfigurationS3DestinationArgs(\n s3_bucket=test_aws_s3_bucket[\"bucket\"],\n s3_prefix=test_aws_s3_bucket[\"bucketPrefix\"],\n s3_region=test_aws_s3_bucket[\"region\"],\n s3_output_configurations=[aws.bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs(\n overwrite=\"OVERWRITE_REPORT\",\n format=\"TEXT_OR_CSV\",\n compression=\"GZIP\",\n output_type=\"CUSTOM\",\n )],\n )],\n )],\n refresh_cadences=[aws.bcmdata.ExportExportRefreshCadenceArgs(\n frequency=\"SYNCHRONOUS\",\n )],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.BcmData.Export(\"test\", new()\n {\n Export = new Aws.BcmData.Inputs.ExportExportArgs\n {\n Name = \"testexample\",\n DataQueries = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDataQueryArgs\n {\n QueryStatement = \"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\",\n TableConfigurations = \n {\n { \"COST_AND_USAGE_REPORT\", \n {\n { \"TIME_GRANULARITY\", \"HOURLY\" },\n { \"INCLUDE_RESOURCES\", \"FALSE\" },\n { \"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\", \"FALSE\" },\n { \"INCLUDE_SPLIT_COST_ALLOCATION_DATA\", \"FALSE\" },\n } },\n },\n },\n },\n DestinationConfigurations = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDestinationConfigurationArgs\n {\n S3Destinations = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDestinationConfigurationS3DestinationArgs\n {\n S3Bucket = testAwsS3Bucket.Bucket,\n S3Prefix = testAwsS3Bucket.BucketPrefix,\n S3Region = testAwsS3Bucket.Region,\n S3OutputConfigurations = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs\n {\n Overwrite = \"OVERWRITE_REPORT\",\n Format = \"TEXT_OR_CSV\",\n Compression = \"GZIP\",\n OutputType = \"CUSTOM\",\n },\n },\n },\n },\n },\n },\n RefreshCadences = new[]\n {\n new Aws.BcmData.Inputs.ExportExportRefreshCadenceArgs\n {\n Frequency = \"SYNCHRONOUS\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bcmdata\"\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 := bcmdata.NewExport(ctx, \"test\", \u0026bcmdata.ExportArgs{\n\t\t\tExport: \u0026bcmdata.ExportExportArgs{\n\t\t\t\tName: pulumi.String(\"testexample\"),\n\t\t\t\tDataQueries: bcmdata.ExportExportDataQueryArray{\n\t\t\t\t\t\u0026bcmdata.ExportExportDataQueryArgs{\n\t\t\t\t\t\tQueryStatement: pulumi.String(\"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\"),\n\t\t\t\t\t\tTableConfigurations: pulumi.MapMap{\n\t\t\t\t\t\t\t\"COST_AND_USAGE_REPORT\": pulumi.Map{\n\t\t\t\t\t\t\t\t\"TIME_GRANULARITY\": pulumi.Any(\"HOURLY\"),\n\t\t\t\t\t\t\t\t\"INCLUDE_RESOURCES\": pulumi.Any(\"FALSE\"),\n\t\t\t\t\t\t\t\t\"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\": pulumi.Any(\"FALSE\"),\n\t\t\t\t\t\t\t\t\"INCLUDE_SPLIT_COST_ALLOCATION_DATA\": pulumi.Any(\"FALSE\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDestinationConfigurations: bcmdata.ExportExportDestinationConfigurationArray{\n\t\t\t\t\t\u0026bcmdata.ExportExportDestinationConfigurationArgs{\n\t\t\t\t\t\tS3Destinations: bcmdata.ExportExportDestinationConfigurationS3DestinationArray{\n\t\t\t\t\t\t\t\u0026bcmdata.ExportExportDestinationConfigurationS3DestinationArgs{\n\t\t\t\t\t\t\t\tS3Bucket: pulumi.Any(testAwsS3Bucket.Bucket),\n\t\t\t\t\t\t\t\tS3Prefix: pulumi.Any(testAwsS3Bucket.BucketPrefix),\n\t\t\t\t\t\t\t\tS3Region: pulumi.Any(testAwsS3Bucket.Region),\n\t\t\t\t\t\t\t\tS3OutputConfigurations: bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArray{\n\t\t\t\t\t\t\t\t\t\u0026bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs{\n\t\t\t\t\t\t\t\t\t\tOverwrite: pulumi.String(\"OVERWRITE_REPORT\"),\n\t\t\t\t\t\t\t\t\t\tFormat: pulumi.String(\"TEXT_OR_CSV\"),\n\t\t\t\t\t\t\t\t\t\tCompression: pulumi.String(\"GZIP\"),\n\t\t\t\t\t\t\t\t\t\tOutputType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRefreshCadences: bcmdata.ExportExportRefreshCadenceArray{\n\t\t\t\t\t\u0026bcmdata.ExportExportRefreshCadenceArgs{\n\t\t\t\t\t\tFrequency: pulumi.String(\"SYNCHRONOUS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bcmdata.Export;\nimport com.pulumi.aws.bcmdata.ExportArgs;\nimport com.pulumi.aws.bcmdata.inputs.ExportExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Export(\"test\", ExportArgs.builder() \n .export(ExportExportArgs.builder()\n .name(\"testexample\")\n .dataQueries(ExportExportDataQueryArgs.builder()\n .queryStatement(\"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\")\n .tableConfigurations(Map.of(\"COST_AND_USAGE_REPORT\", Map.ofEntries(\n Map.entry(\"TIME_GRANULARITY\", \"HOURLY\"),\n Map.entry(\"INCLUDE_RESOURCES\", \"FALSE\"),\n Map.entry(\"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\", \"FALSE\"),\n Map.entry(\"INCLUDE_SPLIT_COST_ALLOCATION_DATA\", \"FALSE\")\n )))\n .build())\n .destinationConfigurations(ExportExportDestinationConfigurationArgs.builder()\n .s3Destinations(ExportExportDestinationConfigurationS3DestinationArgs.builder()\n .s3Bucket(testAwsS3Bucket.bucket())\n .s3Prefix(testAwsS3Bucket.bucketPrefix())\n .s3Region(testAwsS3Bucket.region())\n .s3OutputConfigurations(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs.builder()\n .overwrite(\"OVERWRITE_REPORT\")\n .format(\"TEXT_OR_CSV\")\n .compression(\"GZIP\")\n .outputType(\"CUSTOM\")\n .build())\n .build())\n .build())\n .refreshCadences(ExportExportRefreshCadenceArgs.builder()\n .frequency(\"SYNCHRONOUS\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:bcmdata:Export\n properties:\n export:\n name: testexample\n dataQueries:\n - queryStatement: SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\n tableConfigurations:\n COST_AND_USAGE_REPORT:\n TIME_GRANULARITY: HOURLY\n INCLUDE_RESOURCES: FALSE\n INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY: FALSE\n INCLUDE_SPLIT_COST_ALLOCATION_DATA: FALSE\n destinationConfigurations:\n - s3Destinations:\n - s3Bucket: ${testAwsS3Bucket.bucket}\n s3Prefix: ${testAwsS3Bucket.bucketPrefix}\n s3Region: ${testAwsS3Bucket.region}\n s3OutputConfigurations:\n - overwrite: OVERWRITE_REPORT\n format: TEXT_OR_CSV\n compression: GZIP\n outputType: CUSTOM\n refreshCadences:\n - frequency: SYNCHRONOUS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import BCM Data Exports Export using the `export_arn`. For example:\n\n```sh\n$ pulumi import aws:bcmdata/export:Export example export-id-12345678\n```\n", + "description": "Resource for managing an AWS BCM Data Exports Export.\n\n## Example Usage\n\n### Basic Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.bcmdata.Export(\"test\", {\"export\": {\n name: \"testexample\",\n dataQueries: [{\n queryStatement: \"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\",\n tableConfigurations: {\n COST_AND_USAGE_REPORT: {\n TIME_GRANULARITY: \"HOURLY\",\n INCLUDE_RESOURCES: \"FALSE\",\n INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY: \"FALSE\",\n INCLUDE_SPLIT_COST_ALLOCATION_DATA: \"FALSE\",\n },\n },\n }],\n destinationConfigurations: [{\n s3Destinations: [{\n s3Bucket: testAwsS3Bucket.bucket,\n s3Prefix: testAwsS3Bucket.bucketPrefix,\n s3Region: testAwsS3Bucket.region,\n s3OutputConfigurations: [{\n overwrite: \"OVERWRITE_REPORT\",\n format: \"TEXT_OR_CSV\",\n compression: \"GZIP\",\n outputType: \"CUSTOM\",\n }],\n }],\n }],\n refreshCadences: [{\n frequency: \"SYNCHRONOUS\",\n }],\n}});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.bcmdata.Export(\"test\", export=aws.bcmdata.ExportExportArgs(\n name=\"testexample\",\n data_queries=[aws.bcmdata.ExportExportDataQueryArgs(\n query_statement=\"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\",\n table_configurations={\n \"COST_AND_USAGE_REPORT\": {\n \"TIME_GRANULARITY\": \"HOURLY\",\n \"INCLUDE_RESOURCES\": \"FALSE\",\n \"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\": \"FALSE\",\n \"INCLUDE_SPLIT_COST_ALLOCATION_DATA\": \"FALSE\",\n },\n },\n )],\n destination_configurations=[aws.bcmdata.ExportExportDestinationConfigurationArgs(\n s3_destinations=[aws.bcmdata.ExportExportDestinationConfigurationS3DestinationArgs(\n s3_bucket=test_aws_s3_bucket[\"bucket\"],\n s3_prefix=test_aws_s3_bucket[\"bucketPrefix\"],\n s3_region=test_aws_s3_bucket[\"region\"],\n s3_output_configurations=[aws.bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs(\n overwrite=\"OVERWRITE_REPORT\",\n format=\"TEXT_OR_CSV\",\n compression=\"GZIP\",\n output_type=\"CUSTOM\",\n )],\n )],\n )],\n refresh_cadences=[aws.bcmdata.ExportExportRefreshCadenceArgs(\n frequency=\"SYNCHRONOUS\",\n )],\n))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.BcmData.Export(\"test\", new()\n {\n ExportDetails = new Aws.BcmData.Inputs.ExportExportArgs\n {\n Name = \"testexample\",\n DataQueries = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDataQueryArgs\n {\n QueryStatement = \"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\",\n TableConfigurations = \n {\n { \"COST_AND_USAGE_REPORT\", \n {\n { \"TIME_GRANULARITY\", \"HOURLY\" },\n { \"INCLUDE_RESOURCES\", \"FALSE\" },\n { \"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\", \"FALSE\" },\n { \"INCLUDE_SPLIT_COST_ALLOCATION_DATA\", \"FALSE\" },\n } },\n },\n },\n },\n DestinationConfigurations = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDestinationConfigurationArgs\n {\n S3Destinations = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDestinationConfigurationS3DestinationArgs\n {\n S3Bucket = testAwsS3Bucket.Bucket,\n S3Prefix = testAwsS3Bucket.BucketPrefix,\n S3Region = testAwsS3Bucket.Region,\n S3OutputConfigurations = new[]\n {\n new Aws.BcmData.Inputs.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs\n {\n Overwrite = \"OVERWRITE_REPORT\",\n Format = \"TEXT_OR_CSV\",\n Compression = \"GZIP\",\n OutputType = \"CUSTOM\",\n },\n },\n },\n },\n },\n },\n RefreshCadences = new[]\n {\n new Aws.BcmData.Inputs.ExportExportRefreshCadenceArgs\n {\n Frequency = \"SYNCHRONOUS\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/bcmdata\"\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 := bcmdata.NewExport(ctx, \"test\", \u0026bcmdata.ExportArgs{\n\t\t\tExport: \u0026bcmdata.ExportExportArgs{\n\t\t\t\tName: pulumi.String(\"testexample\"),\n\t\t\t\tDataQueries: bcmdata.ExportExportDataQueryArray{\n\t\t\t\t\t\u0026bcmdata.ExportExportDataQueryArgs{\n\t\t\t\t\t\tQueryStatement: pulumi.String(\"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\"),\n\t\t\t\t\t\tTableConfigurations: pulumi.MapMap{\n\t\t\t\t\t\t\t\"COST_AND_USAGE_REPORT\": pulumi.Map{\n\t\t\t\t\t\t\t\t\"TIME_GRANULARITY\": pulumi.Any(\"HOURLY\"),\n\t\t\t\t\t\t\t\t\"INCLUDE_RESOURCES\": pulumi.Any(\"FALSE\"),\n\t\t\t\t\t\t\t\t\"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\": pulumi.Any(\"FALSE\"),\n\t\t\t\t\t\t\t\t\"INCLUDE_SPLIT_COST_ALLOCATION_DATA\": pulumi.Any(\"FALSE\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDestinationConfigurations: bcmdata.ExportExportDestinationConfigurationArray{\n\t\t\t\t\t\u0026bcmdata.ExportExportDestinationConfigurationArgs{\n\t\t\t\t\t\tS3Destinations: bcmdata.ExportExportDestinationConfigurationS3DestinationArray{\n\t\t\t\t\t\t\t\u0026bcmdata.ExportExportDestinationConfigurationS3DestinationArgs{\n\t\t\t\t\t\t\t\tS3Bucket: pulumi.Any(testAwsS3Bucket.Bucket),\n\t\t\t\t\t\t\t\tS3Prefix: pulumi.Any(testAwsS3Bucket.BucketPrefix),\n\t\t\t\t\t\t\t\tS3Region: pulumi.Any(testAwsS3Bucket.Region),\n\t\t\t\t\t\t\t\tS3OutputConfigurations: bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArray{\n\t\t\t\t\t\t\t\t\t\u0026bcmdata.ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs{\n\t\t\t\t\t\t\t\t\t\tOverwrite: pulumi.String(\"OVERWRITE_REPORT\"),\n\t\t\t\t\t\t\t\t\t\tFormat: pulumi.String(\"TEXT_OR_CSV\"),\n\t\t\t\t\t\t\t\t\t\tCompression: pulumi.String(\"GZIP\"),\n\t\t\t\t\t\t\t\t\t\tOutputType: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tRefreshCadences: bcmdata.ExportExportRefreshCadenceArray{\n\t\t\t\t\t\u0026bcmdata.ExportExportRefreshCadenceArgs{\n\t\t\t\t\t\tFrequency: pulumi.String(\"SYNCHRONOUS\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.bcmdata.Export;\nimport com.pulumi.aws.bcmdata.ExportArgs;\nimport com.pulumi.aws.bcmdata.inputs.ExportExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Export(\"test\", ExportArgs.builder() \n .export(ExportExportArgs.builder()\n .name(\"testexample\")\n .dataQueries(ExportExportDataQueryArgs.builder()\n .queryStatement(\"SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\")\n .tableConfigurations(Map.of(\"COST_AND_USAGE_REPORT\", Map.ofEntries(\n Map.entry(\"TIME_GRANULARITY\", \"HOURLY\"),\n Map.entry(\"INCLUDE_RESOURCES\", \"FALSE\"),\n Map.entry(\"INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY\", \"FALSE\"),\n Map.entry(\"INCLUDE_SPLIT_COST_ALLOCATION_DATA\", \"FALSE\")\n )))\n .build())\n .destinationConfigurations(ExportExportDestinationConfigurationArgs.builder()\n .s3Destinations(ExportExportDestinationConfigurationS3DestinationArgs.builder()\n .s3Bucket(testAwsS3Bucket.bucket())\n .s3Prefix(testAwsS3Bucket.bucketPrefix())\n .s3Region(testAwsS3Bucket.region())\n .s3OutputConfigurations(ExportExportDestinationConfigurationS3DestinationS3OutputConfigurationArgs.builder()\n .overwrite(\"OVERWRITE_REPORT\")\n .format(\"TEXT_OR_CSV\")\n .compression(\"GZIP\")\n .outputType(\"CUSTOM\")\n .build())\n .build())\n .build())\n .refreshCadences(ExportExportRefreshCadenceArgs.builder()\n .frequency(\"SYNCHRONOUS\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:bcmdata:Export\n properties:\n export:\n name: testexample\n dataQueries:\n - queryStatement: SELECT identity_line_item_id, identity_time_interval, line_item_product_code,line_item_unblended_cost FROM COST_AND_USAGE_REPORT\n tableConfigurations:\n COST_AND_USAGE_REPORT:\n TIME_GRANULARITY: HOURLY\n INCLUDE_RESOURCES: FALSE\n INCLUDE_MANUAL_DISCOUNT_COMPATIBILITY: FALSE\n INCLUDE_SPLIT_COST_ALLOCATION_DATA: FALSE\n destinationConfigurations:\n - s3Destinations:\n - s3Bucket: ${testAwsS3Bucket.bucket}\n s3Prefix: ${testAwsS3Bucket.bucketPrefix}\n s3Region: ${testAwsS3Bucket.region}\n s3OutputConfigurations:\n - overwrite: OVERWRITE_REPORT\n format: TEXT_OR_CSV\n compression: GZIP\n outputType: CUSTOM\n refreshCadences:\n - frequency: SYNCHRONOUS\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nUsing `pulumi import`, import BCM Data Exports Export using the `export_arn`. For example:\n\n```sh\n$ pulumi import aws:bcmdata/export:Export example export-id-12345678\n```\n", "properties": { "export": { "$ref": "#/types/aws:bcmdata/ExportExport:ExportExport", - "description": "The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below.\n" + "description": "The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below.\n", + "language": { + "csharp": { + "name": "ExportDetails" + } + } }, "tags": { "type": "object", @@ -178257,7 +178262,12 @@ "inputProperties": { "export": { "$ref": "#/types/aws:bcmdata/ExportExport:ExportExport", - "description": "The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below.\n" + "description": "The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below.\n", + "language": { + "csharp": { + "name": "ExportDetails" + } + } }, "tags": { "type": "object", @@ -178274,7 +178284,12 @@ "properties": { "export": { "$ref": "#/types/aws:bcmdata/ExportExport:ExportExport", - "description": "The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below.\n" + "description": "The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below.\n", + "language": { + "csharp": { + "name": "ExportDetails" + } + } }, "tags": { "type": "object", diff --git a/sdk/dotnet/BcmData/Export.cs b/sdk/dotnet/BcmData/Export.cs index 857214e08f7..cbcdbad8597 100644 --- a/sdk/dotnet/BcmData/Export.cs +++ b/sdk/dotnet/BcmData/Export.cs @@ -26,7 +26,7 @@ namespace Pulumi.Aws.BcmData /// { /// var test = new Aws.BcmData.Export("test", new() /// { - /// Export = new Aws.BcmData.Inputs.ExportExportArgs + /// ExportDetails = new Aws.BcmData.Inputs.ExportExportArgs /// { /// Name = "testexample", /// DataQueries = new[] @@ -99,7 +99,7 @@ public partial class Export : global::Pulumi.CustomResource /// The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. /// [Output("export")] - public Output Export { get; private set; } = null!; + public Output ExportDetails { get; private set; } = null!; [Output("tags")] public Output?> Tags { get; private set; } = null!; @@ -160,7 +160,7 @@ public sealed class ExportArgs : global::Pulumi.ResourceArgs /// The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. /// [Input("export")] - public Input? Export { get; set; } + public Input? ExportDetails { get; set; } [Input("tags")] private InputMap? _tags; @@ -185,7 +185,7 @@ public sealed class ExportState : global::Pulumi.ResourceArgs /// The details of the export, including data query, name, description, and destination configuration. See the `export` argument reference below. /// [Input("export")] - public Input? Export { get; set; } + public Input? ExportDetails { get; set; } [Input("tags")] private InputMap? _tags; From 0da68d0003158dfa42483ff28554ff2b51896ec1 Mon Sep 17 00:00:00 2001 From: Anton Tayanovskyy Date: Wed, 1 May 2024 12:11:23 -0400 Subject: [PATCH 13/13] Weaken RDS instance upgrade test --- examples/examples_test.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/examples_test.go b/examples/examples_test.go index 57acaad2d46..d7497b8fad1 100644 --- a/examples/examples_test.go +++ b/examples/examples_test.go @@ -101,6 +101,9 @@ func replay(t *testing.T, sequence string) { // // The second test is when upgrading from pulumi-aws version <5.0.0 to v6.x.x, and // prevents regressions on https://github.com/pulumi/pulumi-aws/issues/2823. +// +// Updated in https://github.com/pulumi/pulumi-aws/pull/3881 to accept CHANGES_SOME so long as they are not +// replacements. func TestMigrateRdsInstance(t *testing.T) { replay(t, `[ { @@ -237,7 +240,7 @@ func TestMigrateRdsInstance(t *testing.T) { }, "response": { "stables": "*", - "changes": "DIFF_NONE", + "changes": "*", "hasDetailedDiff": true }, "metadata": { @@ -376,7 +379,7 @@ func TestMigrateRdsInstance(t *testing.T) { }, "response": { "stables": "*", - "changes": "DIFF_NONE", + "changes": "*", "hasDetailedDiff": true }, "metadata": {